Ukol v Céčku Vyřešeno
Ukol v Céčku Vyřešeno
Ahoj. Máme na písemku takový malý program a nevím jestli to zadání nechápu nebo něco... Učím se v jiných jazycích a Céčko mě nebaví a moc ho ani neumím.. Pomohl by mi prosím někdo s tímhle? Děkuji moc. Je to fakt krátké ale moc tomu nerozumím.
Notebook Acer Aspire E15 E5-571G-57N2
==========================
Procesor: Intel i5-5200U
Grafika: NVIDIA GeForce GT840M
RAM: 8GB DDR3
==========================
Procesor: Intel i5-5200U
Grafika: NVIDIA GeForce GT840M
RAM: 8GB DDR3
Re: Ukol v Céčku
V jakých jiných jazycích? C++? Java? C#? PHP? Python? Všechny používají Céčkovou syntaxi, takže není problém.
Tak první úkol, ten je jasný. Tam už máš vlastně půlku hotovou, protože nemusíš vymýšlet algoritmus, jenom nadatluješ kód podle zadaného flowchartu.
Prostě napíšeš funkci int prvocislo(int n), a v ní budeš mít cyklus, který otestuje jestli to n je dělitelné nějakým číslem v intervalu 2 až (n-1). Pokud na takový případ narazíš, vrátíš přímo z cyklu nulu (jako není prvočíslo), když cyklus doběhne až do konce, tak funkce vrátí jedničku (jako je prvočíslo).
Tady není co vymýšlet, jeden cyklus for() a je hotovo.
A druhý úkol, ten má trochu neurčité zadání. Teď záleží na tobě, jak tu funkci budeš volat, já bych jí udělal co nejvíce univerzální, takže bych jí předal dolní a horní mez, a očekával výsledek. Všechno ostatní si musí obstarat ta funkce sama.
Takže bych si napsal funkci int kontrolaVstupu(int dolni, int horni), a v ní cyklus, kde napíšeš sdělení "Zadej číslo v rozsahu...", pak načteš nějaké n, ověříš že vůbec bylo něco načteno (tedy návratovou hodnotu funkce scanf()), ověříš že na vstupu nejsou žádné další nebílé znaky až do konce řádku (tedy do znaku '\n'), a jestli jsi v daném rozsahu dolni..horni. Podle toho buď vypíšeš příslušné chybové hlášení, nebo nastavíš flag pro ukončení cyklu. Po jeho skončení vrátíš n jako načtené celé číslo.
Tohle by se dalo udělat na víc různých způsobů, nejenom tak jak jsem to napsal, zadání ti umožňuje dost volnou tvorbu s použitím toho co zrovna lépe ovládáš.
Ukaž o co jsi se pokusil, a ptej se na případné další nejasnosti.
Tak první úkol, ten je jasný. Tam už máš vlastně půlku hotovou, protože nemusíš vymýšlet algoritmus, jenom nadatluješ kód podle zadaného flowchartu.
Prostě napíšeš funkci int prvocislo(int n), a v ní budeš mít cyklus, který otestuje jestli to n je dělitelné nějakým číslem v intervalu 2 až (n-1). Pokud na takový případ narazíš, vrátíš přímo z cyklu nulu (jako není prvočíslo), když cyklus doběhne až do konce, tak funkce vrátí jedničku (jako je prvočíslo).
Tady není co vymýšlet, jeden cyklus for() a je hotovo.
A druhý úkol, ten má trochu neurčité zadání. Teď záleží na tobě, jak tu funkci budeš volat, já bych jí udělal co nejvíce univerzální, takže bych jí předal dolní a horní mez, a očekával výsledek. Všechno ostatní si musí obstarat ta funkce sama.
Takže bych si napsal funkci int kontrolaVstupu(int dolni, int horni), a v ní cyklus, kde napíšeš sdělení "Zadej číslo v rozsahu...", pak načteš nějaké n, ověříš že vůbec bylo něco načteno (tedy návratovou hodnotu funkce scanf()), ověříš že na vstupu nejsou žádné další nebílé znaky až do konce řádku (tedy do znaku '\n'), a jestli jsi v daném rozsahu dolni..horni. Podle toho buď vypíšeš příslušné chybové hlášení, nebo nastavíš flag pro ukončení cyklu. Po jeho skončení vrátíš n jako načtené celé číslo.
Tohle by se dalo udělat na víc různých způsobů, nejenom tak jak jsem to napsal, zadání ti umožňuje dost volnou tvorbu s použitím toho co zrovna lépe ovládáš.
Ukaž o co jsi se pokusil, a ptej se na případné další nejasnosti.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Ukol v Céčku
Už to mám, stihl jsem to hodinu před písemkou
Děkuju moc faraonovi za velkou radu :)

Notebook Acer Aspire E15 E5-571G-57N2
==========================
Procesor: Intel i5-5200U
Grafika: NVIDIA GeForce GT840M
RAM: 8GB DDR3
==========================
Procesor: Intel i5-5200U
Grafika: NVIDIA GeForce GT840M
RAM: 8GB DDR3
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti