Tytu³: KOd ASCII Wiadomo¶æ wys³ana przez: admin Listopad 27, 2010, 19:32:24 Wstêp czyli rozwa¿ania wprowadzaj±ce.
W pamiêci komputera znak graficzny jakim jest litera lub cyfra reprezentowany jest w postaci liczby. Inaczej mówi±c w pamiêci komputera wraz z ³adowaniem systemu wczytywana jest tablica znaków (liter, cyfr i znaków specjalnych). Je¿eli w poleceniu wypisania na ekranie u¿yjemy np. write('A'), to wydrukowana zostanie oczywi¶cie litera "A" bez wnikania w tablicê znaków. Dlaczego tak siê dzieje? Wciskaj±c klawisz na klawiaturze wys³any zostaje do pamiêci kod wci¶niêtego klawisza (jest to w³a¶nie kod ASCII), po odszukaniu w pamiêci odpowiadaj±cej danej warto¶ci kodu znaku, zostanie on wydrukowany na ekranie. Gorzej jest, je¿eli za¿yczymy wydrukowania znaku którego nie ma na klawiaturze. Wtedy nale¿y pos³u¿yæ siê bezpo¶rednim dostêpem do znaków w³a¶nie przez przes³anie do systemu kodu ASCII odpowiadaj±cego danemu znakowi. Jak w Pascalu wy¶wietliæ znak je¿eli znamy jego kod ASCII ? Odczytanie znaku oznaczonej w tablicy kodów ASCII jako x jest mo¿liwe dziêki poleceniu Chr(x); Np. w tablicy ASCII znakowi 'A' odpowiada liczba = 65, a znakowi 'a' liczba = 97. Je¿eli w programie wpiszê polecenie: writeln(chr(65)); to na ekranie powinna pojawiæ siê litera 'A'. Dziêki poleceniu chr(x) istnieje mo¿liwo¶æ wy¶wietlania znaków niedostêpnych bezpo¶rednio z klawiatury. Do takich znaków mo¿na zaliczyæ znaki: Enter - chr(13), Backspace - chr(8); Escape -chr(27). Tytu³: Odp: KOd ASCII Wiadomo¶æ wys³ana przez: admin Listopad 29, 2010, 11:23:18 Zadanie 1. Wy¶wietlanie kodów ASCII , czyli tzw Matrix.
program as; uses crt,dos; var x:integer; begin clrscr; x:=1; repeat textcolor(green); x:=x+1; write(chr(x):4); until keypressed; end. Tytu³: Odp: KOd ASCII Wiadomo¶æ wys³ana przez: admin Listopad 29, 2010, 11:30:16 Zadanie 2. Program prosi o podanie liczby z przedzia³u 0..255 i wy¶wietla znak odpowiadaj±cy wprowadzonej liczbie.
program as; uses crt,dos; var x:integer; begin clrscr; x:=1; repeat write('Podaj kod: ');readln(x); if((x<255) and (x>=0)) then writeln(' Wprowadzono kod =', x,' co odpowiada znakowi: ',chr(x)) else writeln('wprowadzono bledny kod!!!!'); until x=17; readkey; end. Tytu³: Odp: KOd ASCII Wiadomo¶æ wys³ana przez: admin Listopad 29, 2010, 11:45:20 Funkcja ord()
Funkcja ord jest funkcj± odwrotn± do funkcji char() Jest podobna do funkcji Chr(), tylko, ¿e w niej zamieniane jest na odwrót, nie liczby na znaki, tylko znaki na liczby :) ;D np. ord('A')=65 ord('a')=97 ord('2')=50 itd. np. Tytu³: Odp: KOd ASCII Wiadomo¶æ wys³ana przez: admin Listopad 29, 2010, 11:48:28 Zadanie 2. Program ten czeka na wci¶niêcie znaku,po wci¶niêciu klawisza wy¶wietla go podaj±c jednocze¶nie jego kod ASCII. Dzia³a tak d³ugo póki nie wci¶niemy klawisza ESC.
program a1; uses crt,dos; var a:char; begin repeat a:=ReadKey; writeln(a,'i jego kod ASCII = ',ord(a)); until a=Chr(27); End. Tytu³: Odp: KOd ASCII Wiadomo¶æ wys³ana przez: admin Listopad 29, 2010, 12:29:40 Zadanie 3. Kodowanie znaków
program as; uses crt,dos; var x:char; y,z:integer; begin clrscr; y:=1; z:=1; repeat x:=readkey; y:=ord(x); gotoxy(z,10); write(x); gotoxy(z,12); write(chr(y+5)); gotoxy(z,14); write((chr(y))); z:=z+1; until x=chr(27); readkey; end. |