admin
|
|
« : Październik 10, 2011, 11:15:10 » |
|
W programach bardzo czêsto pojawia siê koniecznoœÌ powtarzania pewnej czêœci kodu. W Pascalu dostêpne s¹ trzy rodzaje pêtli. Jedn¹ z nich jest pêtla for. Sk³adnia pêtli for... wygl¹da nastêpuj¹co: For (wartoœÌ pocz¹tkowa licznika) to (wartoœÌ koùcowa licznika) do (polecenie);
Uwaga: W tym przypadku wartoœÌ pocz¹tkowa musi byÌ mniejsza lub równa wartoœci koùcowej licznika. Licznik to liczba ca³kowita która zmienia swoj¹ wartoœÌ po ka¿dym obrocie pêtli. Pêtla dzia³a tak d³ugo jak d³ugo wartoœÌ licznika nie przekroczy wartoœci umieszczonej po s³owie to ( musi byÌ wiêksza!!!). Jak widaÌ przedstawiona powy¿ej sk³adnia dotyczy pêtli w której wartoœÌ licznika roœnie. W pêtli for wartoœÌ licznika mo¿e byÌ równie¿ zmniejszana, sk³adnia takiej pêtli wygl¹da tak: For (wartoœÌ pocz¹tkowa licznika) downto (wartoœÌ koùcowa licznika) do (polecenie);
Uwaga: W tym przypadku wartoœÌ pocz¹tkowa licznika musi byÌ wiêksza od jej wartoœci koùcowej.
PrzykÂład pĂŞtli z licznikiem o rosnÂącej wartoÂści: for x:=1 to 10 do writeln(x); pĂŞtla wyÂświetli liczby od 1 do 10 umieszczone jedna pod drugÂą.
PrzykÂład pĂŞtli o wartoÂści malejÂącej licznika: for x:=10 downto 1 do writeln(x); pĂŞtla wyÂświetli liczby od 10 do 1 umieszczone jedna pod drugÂą.
Uwaga: jeÂżeli pomylisz wartoÂści licznika, pĂŞtla nie zadziaÂła!!!!!
|
|
« Ostatnia zmiana: Październik 10, 2011, 11:16:53 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #1 : Październik 10, 2011, 11:19:06 » |
|
PrzykÂład 1. NapisaĂŚ program wyÂświetlajÂący na ekranie 10 razy napis : "Uwielbiam programowaĂŚ w Pascalu"
program zad1; uses crt,dos; var x:integer; begin clrscr; for x:=1 to 10 do writeln('Lubie programowac w Pascalu!!! ',x); readkey; end.
|
|
« Ostatnia zmiana: Październik 10, 2011, 11:21:15 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #2 : Październik 10, 2011, 11:36:16 » |
|
PrzykÂład 2. NapisaĂŚ program ktĂłry prosi uÂżytkownika o podanie ile razy ma wyÂświetlaĂŚ napis :"JuÂż za chwilĂŞ obiad". Po wprowadzeniu liczby wyÂświetla napis tyle razy jakÂą liczbĂŞ wprowadzono z klawiatury.
program luminofikcja; uses crt, dos; var x,y:integer; begin clrscr; write('Podaj ile razy mam wyswietlic napis: ');readln(x); for y:=1 to x do writeln('Juz za chwile obiad!!! ',y); readkey; end.
|
|
« Ostatnia zmiana: Październik 10, 2011, 11:41:38 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #3 : Październik 10, 2011, 12:05:52 » |
|
PrzykÂład 3. ProszĂŞ napisaĂŚ program ktĂłry prosi o podanie imienia. NastĂŞpnie prosi o podanie liczby. Po wprowadzeniu liczby na ekranie wyÂświetlane jest imie tyle razy jakÂą liczbĂŞ wprowadzono.
program rysio_misio; uses crt,dos; var x,z:integer; y:string; begin clrscr; write('Podaj imie: ');readln(y); write('Podaj liczbe wyswietlen: ');readln(x); writeln; for z:=1 to x do writeln(y); readkey; end.
|
|
« Ostatnia zmiana: Październik 17, 2011, 08:26:13 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #4 : Październik 17, 2011, 07:51:00 » |
|
Instrukcja grupujÂąca.
Uwaga waÂżne!!!!: Wszystkie polecenia ktĂłre znajdÂą siĂŞ pomiĂŞdzy sÂłowami begin ...end; bĂŞdÂą odczytywane przez kompilator jako jedno polecenie!!!
Dlaczego zachodzi taka potrzeba? Niestety kompilator Pascal pozwala na umieszczenie tylko jednego polecenia w instrukcji warunkowej. WstawiajÂąc instrukcjĂŞ grupujÂącÂą kompilator przyjmie jÂą jako jedno polecenie.
|
|
« Ostatnia zmiana: Październik 17, 2011, 07:53:56 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #5 : Październik 17, 2011, 07:59:12 » |
|
PrzykÂład 4. NapisaĂŚ program ktĂłry wyÂświetli przemieszczajÂący siĂŞ od lewej do prawej strony napis: Adam. WykorzystaĂŚ funkcjĂŞ gotoxy(x,y) i pĂŞtlĂŞ for....
program zad1; uses crt,dos; var x:integer; begin clrscr; for x:=1 to 60 do begin clrscr;gotoxy(x,10); writeln('Adam');delay(100); end; readkey; end.
W programie wykorzystano instrukcjĂŞ grupujÂąca begin...end;
Polecenie gotoxy(x,y) s³u¿y do przemieszczania napisu, x zmienia siê w pêtli wobec czego napis jest wyœwietlany przesuniêty coraz bardziej w prawo. Czyszczenie ekranu clrscr,wymazuje poprzedni napis, a polecenie delay(100) zatrzymuje program na 0.1 sekundy, dziêki czemu ma siê wra¿enie ruchu napisu. Spróbujcie zast¹piÌ wartoœÌ 100 innymi wartoœciami np.1000 uzyskuj¹c spowolnienie ruchu napisu.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #6 : Październik 17, 2011, 09:08:46 » |
|
PrzykÂład 5. ProszĂŞ napisaĂŚ program ktĂłry prosi o podanie sÂłowa . Podane sÂłowo jest wyÂświetlane tyle razy ilu liter siĂŞ skÂłada.
program piramidopolopirynowicz; uses crt,dos; var x,z:integer; y:string; begin clrscr; write('Podaj imie: ');readln(y); writeln; x:=length(y); for z:=1 to x do writeln(y); readkey; end.
|
|
« Ostatnia zmiana: Październik 17, 2011, 09:17:16 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #7 : Październik 17, 2011, 09:24:56 » |
|
PrzykÂład 6. NapisaĂŚ program , ktĂłry prosi o podanie sÂłowa. NastĂŞpnie prosi o podanie litery. Po podaniu litery sprawdza ile razy podana litera wystĂŞpuje w podanym sÂłowie. Wynik wyÂświetlany jest na ekranie.
program ramirez; uses crt,dos; var a,x,z:integer; y:string; b:char; begin clrscr; write('Podaj imie: ');readln(y); a:=0; write('Podaj znak: ');readln(b); writeln; x:=length(y); for z:=1 to x do begin if(y[z]=b) then a:=a+1; end; writeln('W slowie ',y,'znak ',b,' wystepuje ',a,' razy'); readkey; end.
|
|
« Ostatnia zmiana: Październik 17, 2011, 09:40:54 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #8 : Październik 17, 2011, 10:13:58 » |
|
PrzykÂład 7. ProszĂŞ napisaĂŚ program w ktĂłrym napis "Adam" bĂŞdzie przemieszczaÂł siĂŞ od lewej do prawej, a pod nim napis "Bimbacz" przemieszcza siĂŞ od prawej do lewej. MajÂą mijaĂŚ siĂŞ mniej wiĂŞcej na Âśrodku ekranu.
program misio; uses crt,dos; var x:integer; begin clrscr; for x:=1 to 60 do begin clrscr;gotoxy(x,10); write('Adam'); gotoxy(61-x,11); write('Bimbacz'); delay(100); end; readkey; end.
|
|
« Ostatnia zmiana: Październik 17, 2011, 11:17:37 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #9 : Październik 22, 2011, 07:24:27 » |
|
PrzykÂład 8. Ile razy wyÂświetlona zostanie litera B. Dla niedowiarka Dominika.
program adam; uses crt,dos; var x: integer; begin clrscr; for x:=2 to 5 do begin writeln('B'); end; readkey; end.
|
|
« Ostatnia zmiana: Październik 22, 2011, 07:26:11 wysłane przez admin »
|
Zapisane
|
|
|
|
|