Darmowe Forum
Grudzieñ 22, 2024, 18:57:07 *
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: Pêtla for....  (Przeczytany 9075 razy)
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« : 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« 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
Strony: [1]
  Drukuj  
 
Skocz do:  

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

Polityka cookies
Darmowe Fora | Darmowe Forum

mylittlepony proskills zlotasiodemka shaggydogss polski-serwer-rpg