Tytuł: Procedura- czyli program w programie Wiadomość wysłana przez: admin Styczeń 17, 2011, 07:44:55 Procedura jest pewnym zamkniętym fragmentem kodu, który ma swoją nazwę i może mieć swoje własne zmienne. Procedura może być porównana do krótkiego podprogramu którego kod został umieszczony w programie głównym.
Procedury deklaruje się jeszcze tuż przed głównym programem , czyli przed słowem begin i przed deklaracją zmiennych. Procedura jest deklarowana w następujący sposób: Procedure Adam; Begin { Treść procedury } End; Od tej chwili w programie istnieje procedura o nazwie Adam. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Styczeń 17, 2011, 07:57:26 Zadanie 1 . Przykład deklarowania i wywołania procedury w programie.
program misio; uses crt,dos; procedure adam; begin end; var x,y: integer; begin write('Za chwile wywolam procedure Adam'); adam; readkey end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Styczeń 24, 2011, 12:04:19 Zadanie 2. Wykorzystując 4 procedury rozmieścić w czterech rogach ekranu napis "Witaj szkoło". Dzięki czterem procedurom w programie głównym, wywoływane są tylko procedury. .
program ryr; uses crt,dos; var x,y,z:integer; procedure misio; begin gotoxy(1,1); textcolor(green);write(' Witaj w szkole'); end; procedure rysio; begin textcolor(yellow);gotoxy(65,1); write('Witaj szkolo'); end; procedure zdzisio; begin textcolor(lightgreen);gotoxy(65,21); write('Witaj szkolo'); end; procedure pysio; begin textcolor(9);gotoxy(1,21); write('Witaj szkolo'); end; begin textbackground(white); clrscr; misio; rysio;zdzisio;pysio; readkey; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Styczeń 24, 2011, 12:17:52 Zadanie 3. Poprzednie zadanie z dodatkową procedurą wyświetlającą kody kolorów czcionki.
program ryr; uses crt,dos; var x,y,z:integer; procedure misio; begin gotoxy(1,1); textcolor(green);write(' Witaj w szkole'); end; procedure rysio; begin textcolor(yellow);gotoxy(65,1); write('Witaj szkolo'); end; procedure zdzisio; begin textcolor(lightgreen);gotoxy(65,21); write('Witaj szkolo'); end; procedure pysio; begin textcolor(9);gotoxy(1,21); write('Witaj szkolo'); end; procedure sprawdz; begin for x:=0 to 16 do begin gotoxy(20,x+1); textcolor(x);write('Kolor= ',x); end; end; begin textbackground(white); clrscr; misio; rysio;zdzisio;pysio;sprawdz; readkey; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Styczeń 24, 2011, 12:39:23 Zadanie 4. Wyświetlenie szachownicy w kolorze biało-czerwonym. Wykorzystano jedną procedurę.
program ryr; uses crt,dos; var x,y,z:integer; procedure szansa_sandry; begin z:=1; for y:=1 to 22 do begin for x:=1 to 65 do begin if z=1 then textcolor(red) else textcolor(white); gotoxy(x,y);write(chr(178));z:=(z+1)mod 2;end;end; end; begin clrscr; textbackground(white); clrscr; szansa_sandry; readkey; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Styczeń 24, 2011, 13:09:51 Zadanie 5. Tzw. Konik Patryka v. light
program ryr; uses crt,dos; var x,y,z,a,b:integer; procedure szansa_sandry; begin z:=1; for y:=1 to 22 do begin for x:=1 to 65 do begin if z=1 then textcolor(red) else textcolor(white); gotoxy(x,y);write(chr(178));z:=(z+1)mod 2;end;end; end; procedure konik_patryka; var a,b:integer; begin randomize; a:=1+random(65);b:=1+random(21);gotoxy(a,b);textcolor(green); write(chr(178));delay(800);end; begin clrscr; textbackground(white); clrscr; repeat szansa_sandry; konik_patryka; until keypressed; readkey; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Styczeń 31, 2011, 11:43:48 Program wyświetlający tabliczkę mnożenia jako dwie procedury wpisz , wysw.
program a; uses crt,dos; var x,y:byte; a1:array[1..10,1..10] of byte; procedure wpisz; begin clrscr; for x:=1 to 10 do begin for y:=1 to 10 do begin a1[x,y]:=x*y; end;end; end; procedure wysw; begin for x:=1 to 10 do begin writeln; writeln; for y:=1 to 10 do begin write(a1[y,x]:4); end;end; readkey;end; begin wpisz; wysw; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Styczeń 31, 2011, 12:01:19 Zadanie 6. Proszę napisać program w którym do tablicy 5x5 wpisane są kolejne liczby od 1 do 25. Wpisywanie liczb wykonać w procedurze wppisz, wyświetlanie liczb w procedurze wypisz.
program a; uses crt,dos; var x,y,z:byte; a1:array[1..5,1..5] of byte; procedure wpisz; begin z:=0; clrscr; for x:=1 to 5 do begin for y:=1 to 5 do begin z:=z+1;a1[x,y]:=z; end;end; end; procedure wysw; begin for y:=1 to 5 do begin writeln; writeln; for x:=1 to 5 do begin write(a1[y,x]:4); end;end; readkey;end; begin wpisz; wysw; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Luty 07, 2011, 11:38:44 Zadanie 7. W procedurze pilka umieść kod przemieszczający literę O od prawej do lewej krawędzi ekranu.
program proc_pilka; uses crt,dos; var x,y: byte; procedure pilka; var x,a:byte; begin a:=1;x:=20; repeat x:=x+a; if (x>65) or (x<2) then a:=-a; gotoxy(x,10);write('O');delay(100);clrscr; until keypressed; end; begin pilka; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Luty 07, 2011, 12:13:27 Zmienna lokalna przesłania w procedurze zmienne globalne!!!! Przykład poniżej przedstawia zasłanianie zmiennej globalnej x zmienną lokalną x po wywołaniu procedury piłka. Zmienna y jest zmienną globalną i nie ma odpowiednika w procedurze, dlatego nie jest niczym zasłaniana.
program proc_pilka; uses crt,dos; var x,y: byte; procedure pilka; var x,a:byte; begin a:=1;x:=20; repeat x:=x+a; clrscr; if (x>65) or (x<2) then a:=-a; gotoxy(x,y);write('O'); gotoxy(60,1); write('x=',x);delay(100); until keypressed; end; begin x:=255; y:=15; pilka; write(x); readkey;readkey; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Luty 07, 2011, 12:23:22 Wprowadzanie wartości do procedury. Pozwala na wprowadzenie do procedury wartości z innej części programu. Przykładem niech będzie procedura o nazwie kwadrat, rysująca kwadrat z liter X. Jeżeli procedura rysuje kwadrat , to zmienne wprowadzone z programu głównego będą wskazywały położenie tego kwadratu na ekranie. Procedury które posiadają zmienne wprowadzane z programu noszą nazwę procedur parametrycznych.
program magiel; uses crt,dos; var x,y:byte; procedure kwadrat (a,b:byte); var x,y:byte; begin for x:=1 to 5 do begin for y:=1 to 5 do begin gotoxy(a+x,b+y);write('*');end;end; end; procedure ruch; var x,y:byte; begin randomize; repeat x:=1+random(60); y:=1+random(15);kwadrat(x,y);delay(200);clrscr; until keypressed; end; begin clrscr; ruch; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Luty 07, 2011, 13:11:37 Ręczne sterowanie obiektem z klawiatury
program magiel; uses crt,dos; var x,y:byte; procedure kwadrat (a,b:byte); var x,y:byte; begin for x:=1 to 5 do begin for y:=1 to 5 do begin gotoxy(a+x,b+y);write('*');end;end; gotoxy(65,1);write('x= ',a,' y= ',b); end; procedure ruch; var x,y:byte; c:char; begin x:=10;y:=10; kwadrat(x,y); repeat c:=readkey; if c='a'then begin x:=x-1;clrscr; kwadrat(x,y); end else if c='s' then begin x:=x+1;clrscr; kwadrat(x,y); end else if c='z' then begin y:=y+1;clrscr; kwadrat(x,y); end else if c='w' then begin y:=y-1;clrscr; kwadrat(x,y);end; until c='p'; end; begin clrscr; ruch; end. Tytuł: Odp: Procedura- czyli program w programie Wiadomość wysłana przez: admin Luty 07, 2011, 13:25:43 program magiel;
uses crt,dos; var x,y:byte; procedure kwadracik; var x,y:byte; begin for x:=1 to 5 do begin textcolor(yellow); gotoxy(30,10+x);write('*****');end; end; procedure kwadrat (a,b:byte); var x,y:byte; begin kwadracik;textcolor(red); for x:=1 to 5 do begin for y:=1 to 5 do begin gotoxy(a+x,b+y);write('*');end;end; gotoxy(65,1);write('x= ',a,' y= ',b); end; procedure ruch; var x,y:byte; c:char; begin x:=10;y:=10; textbackground(white);clrscr;kwadrat(x,y); repeat c:=readkey; if c='a'then begin x:=x-1;clrscr; kwadrat(x,y); end else if c='s' then begin x:=x+1;clrscr; kwadrat(x,y); end else if c='z' then begin y:=y+1;clrscr; kwadrat(x,y); end else if c='w' then begin y:=y-1;clrscr; kwadrat(x,y);end; until c='p'; end; begin clrscr; ruch; end. |