1. DÚ

Transkript

1. DÚ
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

22.4. 2011.

22.4. 2011. TIN 086 Vybrané kapitoly z výpočetnı́ složitosti II

Více

Úvod do jazyka C++

Ú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íce

produkty - HOME STUDIO

produkty - 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íce

Uvod od C, prikaz podminky (CChem_EX1)

Uvod 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íce

PAPARAZZI NA STÁŽI aneb Vyfoť svůj den na stáži ……až do konce

PAPARAZZI 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íce

EPS Mythbusters

EPS 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