Darmowe Forum
Grudzieñ 21, 2024, 17:54:37 *
Witamy, Go¶æ. Zaloguj siê lub zarejestruj.
Czy dotar³ do Ciebie email aktywacyjny?

Zaloguj siê podaj±c nazwê u¿ytkownika, has³o i d³ugo¶æ sesji
Aktualno¶ci: Forum zosta³o uruchomione!
 
   Strona g³ówna   Pomoc Zaloguj siê Rejestracja  
Strony: [1]
  Drukuj  
Autor W±tek: KOd ASCII  (Przeczytany 7318 razy)
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« : 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(Spoko; Escape -chr(27).
« Ostatnia zmiana: Listopad 28, 2010, 20:22:55 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #1 : 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.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #2 : 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.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #3 : 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
np. ord('A')=65 ord('a')=97 ord('2')=50 itd. np.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #4 : 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.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #5 : 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.
Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

polski-serwer-rpg gang-nd proskills moikrewni zlotasiodemka