1. DÚ
Transkript
Domácı́ úkol z IB107 4. 10. 2012 (2 body) Necht’ N = [Vaše UČO] mod 6 Napište while-programy podle svého N : • Pokud N = 0, tak pište while-program počı́tajı́cı́ Z := blog5 xc X • Pokud N = 1, tak pište while-program počı́tajı́cı́ Z := 3 √ • Pokud N = 2, tak pište while-program počı́tajı́cı́ Z := b 4 Xc • Pokud N = 3, tak pište while-program počı́tajı́cı́ Z := M AX(X 3 , Y ) • Pokud N = 4, tak pište while-program počı́tajı́cı́ Z := d 2XY e • Pokud N = 5, tak pište while-program počı́tajı́cı́ Z := X Y Nesmı́te použı́vat žádné makro přı́kazy (kromě minusjedna, viz nı́že). Svoje řešenı́ stručně okomentujte a vyznačte, co které bloky programu majı́ provádět. Pro Vaše i naše ověřenı́, že program počı́tá to, co má, jej proženeme online interpretem Pascalu (který obsahuje základnı́ rysy while-jazyka, nerovnost se zapisuje jako <> a za každým přı́kazem kromě poslednı́ho v bloku je střednı́k – viz ukázkový kód na druhé straně). Jediný rozdı́l mezi Pascalem a while jazykem je sémantika odčı́tánı́. Ve while jazyku je výsledek vždy nezáporný, 6−8 se vyhodnotı́ na 0. Proto mı́sto klasického odčı́tánı́ použı́vejte proceduru minusjedna. Napřı́klad pro výpočet y:=x-1 zadejte minusjedna(x,y); Svůj program (podle zadánı́, tj. bez maker) prosı́m vepište do textového souboru (na mı́sto třı́ teček): program reseni_jmeno_prijmeni_uco; //Procedura pocita A := B-1 procedure minusjedna(B:integer; var A:integer); var u,v:integer; begin u := 0; v := 0; while v<>B do begin while u <> v do u := u+1; v := v+1 end; A := 0; while A <> u do A := A+1; end; var x,y,z:integer; //doplnte si podle potreby dalsi celociselne promenne begin readln(x); readln(y); //tento radek si vymazte pokud N=0,1,2,5 ... writeln(z) end. Takto modifikovaný program před odevzdánı́m vyzkoušejte, jestli počı́tá, co má – spust’te v jazyku Pascal(fpc) v online nástroji http://ideone.com (jazyk vyberete v levém poli, program se spouštı́ tlačı́tkem Submit). Lze zadávat různé vstupy (po rozkliknutı́ odkazu hned pod oknem na zdrojový kód) do pole input, v poli output se objevı́ výsledek. (Pokud vaše programy nepoběžı́ bleskově rychle, je vhodné mı́t v ideone účet, abyste mohli nechat program běžet déle než 5s.) Následuje ukázkový program, který počı́tá x1 := x2 − x1 . Na webu je na http://ideone.com/Ddgdq, očekává dvě čı́sla na vstupu na dvou řádcı́ch. program ukazka; //Procedura pocita A := B-1 procedure minusjedna(B:integer; var A:integer); var u,v:integer; begin u := 0; v := 0; while v<>B do begin while u <> v do u := u+1; v := v+1 end; A := 0; while A <> u do A := A+1; end; var x1,x2,y,z,n:integer; begin readln(x1); readln(x2); y := 0; z := 0; //nacteni vstupu //x1 a x2 do y a z while y <> x1 do y := y+1; while z <> x2 do z := z+1; n :=0; while y <> n do begin n := n+1; minusjedna(z,z) end; x1 := 0; while x1 <> z do begin x1 := x1+1 end; writeln(x1) //do z hledany rozdil //vysledek ze z do x1 //vystup end. Odevzdánı́: Fungujı́cı́ program nahrajte v textovém souboru do odevzdávárny v ISu. Popis řesenı́ ideálně odevzdejte na papı́ru během cvičenı́, kam patřı́te. V horšı́m přı́padě vše do odevzdávarny v ISu. Deadline: čtvrtek 18.10. 20:00
Podobné dokumenty
Úvod do jazyka C++
Operátory << a >> můžeme řetězit (tj. používat je opakovaně za sebou v kombinaci s proměnnými a konstantami) ● Pro použití vstupů a výstupů musí být použit hlavičkový soubor iostream a deklarováno ...
Víceprodukty - HOME STUDIO
jsou i nadále stejně náchylné na vznik výkvětů, například při nedodržení technologického postupu při zdění, nebo když sloupek z lícových cihel či komín kryjeme betonovým zákrytem bez izolace. Také ...
VíceUvod od C, prikaz podminky (CChem_EX1)
Editor Kate je programátorský editor který umožňuje automatické odsazování textu, barevné označení klíčových slov jazyka, vyznačení párování závorek a pod. Pro správné odsazování textu odpovídající...
VícePAPARAZZI NA STÁŽI aneb Vyfoť svůj den na stáži ……až do konce
Pošlete nám 3 – 5 fotek z Vaší stáže a vyhrajte hodnotné dárky, které si můžete prohlédnout zde. Líbí se Vám připravené dárky? Tak se neváhejte zapojit, odměníme každého, kdo se zúčastní. Jen si pr...
VíceEPS Mythbusters
CERN WATCH: Nepal Earthquake, Icarus, and Fermilab Zemětřesenı́ v Nepálu a Chile je nějak spojeno se spuštěnı́m LHC. Argumentuje tı́m, že čas je téměř shodný, že Chile je téměř na o...
Více