admin
|
|
« : Październik 22, 2010, 08:54:51 » |
|
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 22, 2010, 09:01:10 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #1 : Październik 25, 2010, 04:27:00 » |
|
Przykład 1. Napisać program wyświetlający na ekranie 10 razy napis : "Uwielbiam programować w Pascalu"
program zad1_2; uses crt,dos; var x:integer; begin clrscr; for x:=1 to 10 do writeln('Lubie programowac w Pascalu!!!'); readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #2 : Październik 25, 2010, 04:32:55 » |
|
Przykład 2. 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_2; 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. Polecenie delay(x) opisane jest w materiałach dostarczonych Państwu. Spróbujcie zastąpić wartość 100 innymi wartościami np.1000 uzyskując spowolnienie ruchu napisu.
|
|
« Ostatnia zmiana: Październik 25, 2010, 04:38:26 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #3 : Październik 25, 2010, 04:44:57 » |
|
Zadanie 3. Proszę napisać program w którym napis "Adam" będzie przemieszczał się od lewej do prawej, a pod nim napis "Ewa" przemieszcza się od prawej do lewej. Mają mijać się mniej więcej na środku ekranu.
program zad1_3; 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('Ewa'); delay(100); end; readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #4 : Październik 25, 2010, 04:47:42 » |
|
Zadanie 4. Napisać program który będzie pionowo (góra-dół) przemieszczał napis: ADAM.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #5 : Listopad 08, 2010, 11:40:44 » |
|
Program nr 7 Program prosi o podanie liczby od której ma wyświetlać i liczby do której ma wyświetlać. Następnie wyświetla je na ekranie.
program a; uses crt, dos; var x,y,z:integer; begin clrscr; write('Podaj od jakiej liczby wyswietlic: ');readln(y); write('Podaj do ktorej liczby wyswietlic: ');readln(z); for x:=y to z do begin writeln(x);sound(1000); delay(100);nosound; end;
readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #6 : Listopad 08, 2010, 12:21:23 » |
|
Zadanie 8. Napisać program który wyświetli imię tyle razy ile wynosi wiek wprowadzającego.
program milus; uses crt,dos; var x:string; y,z:byte; begin clrscr; write('Podaj swoje imie : ');readln(x); write('Podaj swoj wiek: ');readln(y); clrscr; for z:=1 to y do begin writeln(z:5,' : ',x); end; readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #7 : Listopad 08, 2010, 13:16:00 » |
|
program milus; uses crt,dos; var x:string; y:byte; begin clrscr; for y:=1 to 60 do begin clrscr; gotoxy(y,10);write('ADAM');delay(50); textcolor(y);
end;
readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #8 : Listopad 15, 2010, 08:08:59 » |
|
Zadanie 5. Napisać program który prosi o podanie nazwy, a następnie wyświetla ją na środku ekranu. Po 1 sekundzie napis zaczyna przemieszczać się w prawo.
program rurka; uses crt,dos; var x,y:integer; z: string; begin clrscr; gotoxy(30,10);write('Podaj nazwe: ');readln(z); clrscr; gotoxy(35,10);write(z); delay(1000); for x:=1 to 30 do begin clrscr;gotoxy(30+x,10);write(z);delay(200); end; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #9 : Listopad 15, 2010, 08:26:53 » |
|
Zadanie 6. Napisać program napis "Adam" przemieszcza od lewej do prawej. Po dojściu do prawego brzegu ekranu napis znika i pojawia się ponownie z lewej strony przemieszczając się do prawej. Działanie ta powtarzane jest 10 krotnie.
program rurka; uses crt,dos; var x,y:integer; z: string; begin clrscr; z:='Adam'; for y:=1 to 10 do begin for x:=1 to 60 do begin clrscr;gotoxy(x,10);write(z);gotoxy(60,1); write(y); delay(100); end; end; end.
|
|
« Ostatnia zmiana: Listopad 15, 2010, 08:29:06 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #10 : Listopad 15, 2010, 09:21:40 » |
|
Wykorzystanie funkcji randomize; Funkcja randomize losuje liczby z podanego zakresu. Przykład wykorzystania tej funkcji podano poniżej
program rurka; uses crt,dos; var x,y,a:integer; z: string; begin randomize; clrscr; for a:=1 to 1000 do begin x:=random(75); y:=random(30); gotoxy(x+1,y+1);write('*');delay(10);
end;
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #11 : Listopad 15, 2010, 09:58:04 » |
|
Zadanie 9. Napisać program który wyświetli kwadrat o rozmiarach 10x10 składający się z gwiadek w kolorze zielonym.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #12 : Listopad 15, 2010, 10:01:45 » |
|
Zadanie 9. Napisać program który wyświetli kwadrat o rozmiarach 10x10 składający się z gwiadek w kolorze zielonym.
program rurka; uses crt,dos; var x,y,a,c:integer; z: string; begin randomize; clrscr; for x:=1 to 10 do begin for y:=1 to 10 do begin textcolor(green); gotoxy(x+30,y+5);write('*'); end; end; readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #13 : Listopad 15, 2010, 10:34:42 » |
|
Zadanie 10. Klasyczna choinka, korzystająca z pętli for.....
program rurka; uses crt,dos; var x,y,a,c:integer; z: string; begin randomize; clrscr; for x:=1 to 10 do begin for y:=1 to x do begin textcolor(green); gotoxy(x+30,y+5);write('*'); end; end; for y:=1 to 10 do begin for x:=1 to 10- y do begin textcolor(green); gotoxy(x+40,y+5);write('*'); end; end; readkey; end.
|
|
|
Zapisane
|
|
|
|
|