Tytu³: Pêtla for.... Wiadomo¶æ wys³ana przez: 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!!!!! Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. Tytu³: Odp: Pêtla for.... Wiadomo¶æ wys³ana przez: admin 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. |