Darmowe Forum
Maj 16, 2024, 14:19: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: Doskonalenie pętli  (Przeczytany 3509 razy)
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« : Grudzień 06, 2010, 09:13:00 »

Zadanie 1. Proszę napisać program który wyświetli gwiazdkę biegającą  dookoła ekranu. Wykorzystać pętlę Repeat until.

program piotr;
uses crt,dos;
var x,y,a,b:integer;

begin
 x:=1; y:=1;a:=1;b:=0;
repeat
gotoxy(x,y);write('*'); delay(20);clrscr;
x:=x+a;y:=y+b;
if(x=70) and (y=1) then begin a:=0; b:=1;end;   {prawa gora -ma smigac w dol}
if(x=70) and (y=20) then begin a:=-1; b:=0;end; {prawy dol - ma smigac w lewo}
if(x=1) and (y=20) then begin a:=0; b:=-1;end; {lewy dol - ma smigac do gory}
if(x=1) and (y=1) then begin a:=1; b:=0;end; {lewa gora - ma smigac w prawo}


until keypressed;


end.
« Ostatnia zmiana: Grudzień 06, 2010, 09:36:25 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #1 : Grudzień 06, 2010, 09:35:44 »

Zadanie 2. Proszę napisać program który wyświetli ramkę  dookoła ekranu składającą się z gwiazdek. Wykorzystać pętlę Repeat until.

program piotr;
uses crt,dos;
var x,y,a,b,z:integer;

begin
 x:=1; y:=1;a:=1;b:=0; randomize;
repeat

gotoxy(x,y);write('*'); delay(20);
x:=x+a;y:=y+b;
if(x=70) and (y=1) then begin a:=0; b:=1;end;   {prawa gora -ma smigac w dol}
if(x=70) and (y=20) then begin a:=-1; b:=0;end; {prawy dol - ma smigac w lewo}
if(x=1) and (y=20) then begin a:=0; b:=-1;end; {lewy dol - ma smigac do gory}
if(x=1) and (y=1) then begin a:=1; b:=0; z:=random(15); textcolor(z); end; {lewa gora - ma smigac w prawo}


until keypressed;


end.
« Ostatnia zmiana: Grudzień 06, 2010, 09:53:55 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #2 : Grudzień 06, 2010, 10:14:10 »

Polecenie length(x).
Polecenie length(x) oblicza z ilu znaków składa się słowo x.
Polecenie a:=length(x) pozwala wpisać do zmiennej a liczbę odpowiadająca długości słowa x.



Jeżeli x będzie zmienną typu string. To można będzie wyświetlić kolejne znaki tego słowa. Aby wyświetlić 2 znak słowa x wystarczy wpisać polecenie write(x[2]);

program piotr;
uses crt,dos;
var x:integer;
 s:string;
 begin

 repeat

 clrscr; write('Podaj imie: ');readln(s);
 x:=length(s);
 writeln('Wprowadzone imie sklada sie z ',x,' znakow');
  readkey;

until x=10;
« Ostatnia zmiana: Grudzień 06, 2010, 10:27:20 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #3 : Grudzień 06, 2010, 11:09:51 »

Zadanie 3. Wyświetlanie imienia litera po literze.

program piotr;
uses crt,dos;
var x,y:integer;
 s:string;
 begin

 clrscr; write('Podaj imie: ');readln(s);
 x:=length(s);
 writeln('Wprowadzone imie sklada sie z ',x,' znakow');
 for y:=1 to x do
 begin write(s[y]);delay(1000);end;

 readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #4 : Grudzień 06, 2010, 11:47:10 »

program piotr;
uses crt,dos;
var x,y:integer;
 s:string;
 begin

 clrscr; write('Podaj nazwe: ');readln(s);
 x:=length(s);
  for y:=1 to x do begin
  gotoxy(10+y,10); textcolor(y);
write(s[y]);delay(1000);

  end;

 readkey;
end.
« Ostatnia zmiana: Grudzień 06, 2010, 11:53:18 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #5 : Grudzień 13, 2010, 11:22:24 »

Zadanie 5. Narysować 5 krzyżyków losowo rozmieszczonych na ekranie monitora. Wykorzystać pętlę repeat until.

program lipa;
uses crt,dos;
var x,y,x1,y1,ile:integer;
begin
x:=0;clrscr;textcolor(green); randomize; ile:=0;
  repeat
  ile:=ile+1;
  x1:=1+random(50); y1:=1+random(10);
  y:=0;
 repeat
  x:=0;
 repeat
   gotoxy(x1+x,y1+y);
   if(x=5) or (y=5) then begin textcolor(yellow); write(chr(178));end;
   x:=x+1;
  until x=11;
  y:=y+1;
 until y=11;
 until ile=5;
readkey;
end.
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

galaxyace wojownicy-nocy federacjagarmanii2023forum filtrowa36 forumdlahistorykow