Pascal problem z pętlą.

0

Witam wszystkich!
Mam takie zadanie żeby mój program :

I ETAP :

  1. Najpierw pytał o jakąś liczbę.
  2. Następnie pytał o wiek.

II ETAP :

Jeśli wiek będzie mniejszy od 30, program ma wyświetlić tekst "XXXXXX" tyle razy jaką podałem liczbę. Tzn. jeśli podam liczbę np.15 program ma wyświetlić tekst "XXXXXX" 15 razy.

Jeśli wiek będzie większy od 30 lub równy program ma w wyświetlić tekst "AAA" 2 razy więcej niż podana liczba. Tzn. jeśli podam liczbę np.15 program ma wyświetlić ten tekst 2 razy więcej od 15 czyli 30.

Dobrze mi wyświetla jeśli tekst większy bądź równy 30. Czyli wyświetla mi tekst "AAA" 2 razy więcej niż podana liczba.

Ale mam problem z tym żeby program wyświetlał mi linijkę "XXXXXX" tyle razy ile wynosi liczba. Wyświetlają mi się 2 teksty ;/ .

Proszę o pomoc. Jak najszybciej bo mam to do jutra ;/

Poprawcie mi kod, a jeśli możecie to i wytłumaczcie co i gdzie zrobiłem źle.
(Ale proszę żebyście podali mi dobrą linijkę, bo nie mam za dużo czasu ;<)

Z góry dzięki za odp

Tutaj kod :

program pracadomowa;
 uses crt;
  var
   a,s,i,j,f,e:longint;
 begin
clrscr;
 write('Podaj jakas liczbe: ');
  read(a);
f:=a*2;
 write('Podaj swoj wiek: ');
  read(s);

   for i:=1 to f do
    if s>=30 then writeln('Jestes juz doswiadczony')
  else
   for j:=2 to a do
    if s<30 then writeln('Przed toba cale zycie');



  readln;
 readkey;
end.
0
  1. Typ zmiennych wystarczy Integer.
  2. Zamiast Read używaj ReadLn, chyba że wiesz co robisz.
  3. if s>=30 then jedna_pętla else druga_pętla.
0
program pracadomowa;

uses crt;

var
   liczba,wiek,i:integer;
begin
   clrscr;
   write('Podaj jakas liczbe: ');
   read(liczba);

   write('Podaj swoj wiek: ');
   read(wiek);
  
   if wiek<30 then 
      for i:= 1 to liczba do writeln('Przed toba cale zycie')
   else
      for i:= 1 to liczba*2 do writeln('Jestes juz doswiadczony');

   readkey;
end. 
0

Dzięki wielkie Lukasz! Wielki + ;)

Wyciągnąłem. Przeanalizowałem to. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1