Hodina 23., 24. (19.12. 2005)
Programování:
Práce se znaky a řetězci:
řetězce i znaky zadáváme v apostorfech (oddělovačích) = ''
znak má datový typ char - může obsahovat jen jeden znak
řetězec má datový typ string - pokud přidáme do hranatých závorek číslo, určuje maximální počet zanků, které ten řetězec může mít.
var znak :char;
slovo :string;
slovo2:string[10]; {desetipísmenné}
begin
writeLn('Ahojky jak se máte?'); { Vypíše na obrazovku řetězec "Ahojky jak se máte?" }
slovo:='Ahojky jak se máte?'; { Do proměnné slovo uloží řetězec "Ahojky jak se máte?" }
slovo2:=slovo; { Do proměnné slovo 2 uloží obsah proměnné slovo, ale jen to, co se vejde }
write('Slovo obsahuje: ',slovo); { Vypíše na obrazovku řetězec "Slovo obsahuje: Ahojky jak se máte?" }
write('Slovo2 obsahuje: ',slovo2); { Vypíše na obrazovku řetězec "Slovo2 obsahuje: Ahojky jak" }
znak:=slovo[1]; { Do proměnné "znak" přiřadí písmeno na 1 pozici řetězce "slovo", tedy "A" }
writeLn{'Znak obsahuje: ',znak}; { Vypíše "Znak obsehuje: A" }
readLn;
end.
chr(x) - vrátí znak který má ASCII kód "x"
ord(x) - vrátí ASCII kód znaku "x"
Příklad 9 - načti klávesu a urči co bylo stisknuto
- malé písmeno
- velké písmeno
- číslo
- jiný znak - na toto nezapomeňte
!!! Domácí úkol:
- Dodělat, co nemáte z hodiny.
- Převod dvojkové soustavy do desítkové
- Zadat číslo ve dvojkové soustavě
- Postupně oddělovat postupně poslední číslici zkontrolovat, zda patří dvojkové soustavě (0,1)
- Pokud ano, vynásobit patřičnou mocninou 2
- M-tou mocninu 2 získáme tak, že tu předchozí hodnotu vynásobíme dvěma DveNaM := (DveNaM * 2)
- Pozor na počátku DveNaM nesmí být nula, ale... (protože 0*2=?)!!!!!
- Pokud narazíme na číslici, která nepatří do dvojkové soustavy, tak ukončíme program s hláškou "Nezadali jste číslo dvojkové soustavy"
- Pokud bylo vše v pořádku vypíše program výsledek v desítkové soustavě.
- Např.: 111(2)=7(10), 101(2)=5(10)
Příklady na procvičení:
- Ostatní převody 10->2, 10->8, 8->10
- Pro ty šikovnější - převody "do" a "z" 16
Zpět Home