úkol – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

úkol – Pascal – Fórum – Programujte.comúkol – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
martin
~ Anonymní uživatel
1379 příspěvků
31. 12. 2008   #1
-
0
-

Ahoj.Nemůže mi někdo pomoct s jedním příkladem v pascalu.Nevím jak na to.Pomocte..
Zadání:
Sestavte program, který zjistí, zda ve vstupním poli celých kladných čísel existuje souvislý úsek, jehož součet je roven zadané hodnotě HS a všechny takovéto úseky vypíše.
Vstup: - vstupní pole P – ze souboru CISLA1.TXT
- hledaný součet HS – vstup z klávesnice
Výstup: - pozice, na které hledaný úsek zacina (index) a výpis hodnot, popřípadě oznámení, že úsek nelze nalézt.

Nahlásit jako SPAM
IP: 78.110.208.–
Reklama
Reklama
KIIV+42
God of flame
31. 12. 2008   #2
-
0
-

no hádám že si ty čísla budeš muset ukládat do pole... a pak asi projet všechny ty hodnoty...
něco jako že bys měl začátek a konec intervalu který sčítáš... když by si měl sumu menší než HS tak by si přičetl další v pořadí
pokud bys dostal číslo větší než HS tak posuneš první index o 1 a odečteš hodnotu na jeho pozici...
pokud dostaneš přesně HS tak asi taky posun začátku o jedna a pokračuješ dále

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mircosoft+1
Věrný člen
2. 1. 2009   #3
-
0
-

To martin :

Pole čísel deklaruješ pomocí konstrukce array[min_index..max_index] of nějaký číselný typ, třeba word.

Číslo HS přečteš z klávesnice příkazem Readln.

Soubor připravíš ke čtení příkazy Assign a Reset. Načítání čísel vyřešíš pomocí příkazu Read v cyklu typu While (nebo Repeat, pokud si jsi jist, že soubor není prázdný) s ukončovací podmínkou Eof(soubor). V nějaké pomocné proměnné si pamatuj, kolik čísel jsi přečetl (na začátku ji vynuluj a při každém Read ji zvyš o 1). Nakonec soubor zavři příkazem Close.

Hledání sekvencí:

Levým ukazováčkem si ukaž na první číslo v poli.
Cyklus 1:
Pravým ukazováčkem ukaž na stejné místo, na které ukazuje levý.
Zapamatuj si, že součet je zatím 0.
Teď Cyklus 2 (While nebo Repeat, celý je uvnitř Cyklu 1):
- K součtu přičti číslo, na které ukazuje pravý ukazováček.
- Pokud se součet rovná HS, vypiš na obrazovku čísla od toho pod levým ukazováčkem po to pod pravým ukazováčkem (cyklus typu For, příkazy Write a Writeln). Pokud se nerovná, nedělej nic.
- Pravý ukazováček posuň o jedno číslo dál.
Cyklus 2 ukonči, pokud už je součet větší než HS nebo pokud se pravý ukazováček dostal za poslední číslo v poli.
Levý ukazováček přesuň za pravý.
Cyklus 1 ukonči, když se levý ukazováček dostane za poslední číslo v poli.

Teď si místo poloh ukazováčků představ indexy (pořadová čísla prvků pole) a pro ukládání součtu si deklaruj pomocnou proměnnou a už by neměl být problém přeložit to do pascalštiny :-) (a kdyby jo, hoď sem svůj zdroják a napiš, kde přesně se ti objevuje jaká chyba).

Nahlásit jako SPAM
IP: 85.132.158.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Laaca
~ Anonymní uživatel
225 příspěvků
2. 1. 2009   #4
-
0
-

Héj, co jste za školu? Odkud?
Včera jsem tenhle úkol (zadání doslova to samé) řešil jedné slečně mailem :smile5:

Nahlásit jako SPAM
IP: 81.0.253.–
Mircosoft+1
Věrný člen
4. 1. 2009   #5
-
0
-

Nebyla to náhodou Malirka? S tou už jsem po mailu řešil úkoly dva (v obou případech totéž co tady, i ty zdrojáky byly odsud okopírované) a jak tak koukám, moje vysvětlování už ji přestalo bavit a teď hledá někoho, kdo jí to napíše celé :smile5:

Nahlásit jako SPAM
IP: 85.132.158.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
o-lox0
Super člen
4. 1. 2009   #6
-
0
-

To Mircosoft : Já ji přestal bavit po 4 úkolech, wow jsem lepčí heč :D = vlastně dal bych tvůj LOL na druhou! neboť její výdrž v čase klesá...

Nahlásit jako SPAM
IP: 85.71.152.–
Laaca
~ Anonymní uživatel
225 příspěvků
4. 1. 2009   #7
-
0
-

Já taky čtyři :smile18:

Nahlásit jako SPAM
IP: 81.0.253.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

Ukol — založil joskoo

Ukol — založil Kawasaki

Ukol — založil Dalibor

Úkol — založil Malirka

úkol — založil kim

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý