Darmowe Forum
Styczeń 04, 2025, 07:21:41 *
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 9107 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

gang-nd zlotasiodemka blackmoon shaggydogss spw