Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Schemat blokowy Pascal

Cichy666 04 Gru 2007 11:51 4712 1
  • #1 04 Gru 2007 11:51
    Cichy666
    Poziom 20  

    Witam, czy może mi ktoś pomóc w narysowaniu schematu blokowego tych 2 programów?
    Pozdrawiam serdecznie i z góry dziękuję.

    Code:
    program 1:
    
    Program Zgadywanka;
    uses crt;
    var
      pr,li,a,b,x:integer;
                c:char;
         label new,zle;
    begin
        new:
         clrscr;
         randomize;
            li:=random(70+1)+10;
            pr:=0;a:=10; b:=80;
         repeat             
            pr:=pr+1;
            writeln('Podaj liczbe od ',a,'-',b,': '); read(x);
               if x=li then begin writeln('Brawo zgadles po ',pr,' probach!!! '); break;
             end;
                if (x<10) or (x>80) then writeln('Przeciez mowilem w przedziale od 10-80')
             else
         begin
             if x<li then begin if x>a then a:=x;  end
                else
                   if x>li then begin if x<b then b:=x;  end;
                   writeln('Nie trafiles ! Liczba znajduje sie w przedziale od ',a,' do ',b);
                end;
                  until x=li;
                     writeln;
                     writeln('Czy chcesz zagrac jeszcze raz? (t/n)');
                     zle:
                     c:=readkey;
                        if (c='n') or (c='N') then halt else
                        if (c='t') or (c='T') then goto new else goto zle;
    end.

    i program 2:
    Program Dzialania_Na_Tablicy;
    uses crt;
    const dim = 40;
    type tablica = array [1..dim] of integer;
    var  macierz        : tablica;
         i,j            : integer; {sterowanie petli for}
         a              : integer; {zakres generowanych liczb}
         lp,lnp         : integer; {ilosc liczb parzystych i nieparzystych}




         sump, sumnp    : integer; {suma liczb parzystych i nieparzystych}
         max, min       : integer; {element najwiekszy i najmniejszy}
         pozmax, pozmin : integer; {pozytcja elementu max i min}
         Wart           : integer; {zmienna pomocnicza}
    begin
        clrscr;
           writeln('Podaj pierwszych 6 elementow tablicy:');{Wczytywanie pierwszych 6 element˘w}
             for i:=1 to 6 do
         begin
             write('Podaj ',i,' element = ');
             readln(macierz[i]);
           end;
             writeln;
             writeln('Generowanie pozostalej czesci tablicy');{Generowanie pozostalej czesci tablicy}
             writeln('Podaj zakres generowania liczb: ');
             write('a = '); readln(a);
                randomize;
                   for i:=7 to dim do macierz[i]:=random(2*a+1)+a;
                     clrscr;
                        writeln('Oto cala tablica');{Wyswietlanie tablicy}
                           for i:=1 to dim do
                              write(macierz[i],' ');
                              writeln;
                              writeln;
                              writeln('Wcisnij dowolny klawisz');

                              {Repeat Until Keypressed;}

                      {Wyswietlanie elmentow parzystych i nieparzystych}
                    clrscr;
                       lp:=0; lnp:=0; sump:=0; sumnp:=0;
                       writeln;
                       writeln('Elementy parzyste tablicy:');
                       write('Parzyste = ');
                          for i:= 1 to dim do
              begin
                 if (macierz[i] mod 2 = 0) then
                begin
                   write(macierz[i],' ');
                   lp:=lp+1;              {obliczanie ilosci liczb}
                   sump:=sump+macierz[i]; {oblicznie ich sumy}
                end;
              end;
                writeln;
                writeln('Ilosc liczb parzystych to: ',lp);
                    if lp > 0 then
                       writeln('Ich suma to: ',sump,' a ich srednia to: ',sump/lp)
                    else
                       writeln('Brak liczb przystych');
                       writeln;
                       writeln('Elementy nieparzyste tablicy:');
                       write('Nieparzyste = ');
                          for i:= 1 to dim do
                   begin
                      if (macierz[i] mod 2 <> 0) then
                     begin
                         write(macierz[i],' ');
                         lnp:=lnp+1;              {obliczanie ilosci liczb}
                         sumnp:=sumnp+macierz[i]; {oblicznie ich sumy}
                     end;
                   end;
                     writeln;
                     writeln('Ilosc liczb nieparzystych to: ',lnp);
                         if lp > 0 then
                            writeln('Ich suma to: ',sumnp,' a ich srednia to: ',sumnp/lnp)
                         else
                            writeln('Brak liczb nieprzystych');
                            writeln;
                            writeln;
                            writeln('Wcisnij klawisz Enter');
                            readln;
                       {Element najwiekszy i najmniejszy}
                   clrscr;
                       writeln('Wyszukiwanie elmentu najwiekszego  i najmniejszego');
                       Writeln;
                       max:= macierz[1]; min:= macierz[1]; pozmax:=1; pozmin:=1;
                           for i:= 2 to dim do
                        begin
                            if macierz[i] > max then
                          begin
                              max:= macierz[i]; {szukanie max}
                              pozmax:=i; {pamietanie pozycji max}
                          end;
                             if macierz[i] < min then
                            begin
                                min:= macierz[i]; {szukanie min}
                                pozmin:=i; {pamietanie pozycji min}
                            end;
                         end;
                           writeln('Element max = ', max);
                           write('Element max na pozycji: ');
                               for i:= 1 to dim do
                               if macierz[i] = max then
                                   write(i, ' ');
                                   writeln;
                                   writeln('Element min = ', min);
                                   write('Element min na pozycji: ');
                                      for i:= 1 to dim do
                                      if macierz[i] = min then
                                         write(i, ' ');
                                         writeln;
                                         writeln;
                                         writeln;
                                         writeln('Wci˜nij klawisz Enter');
                                         readln;
                         {Zamiana elementu min i max}
                     clrscr;
                         writeln('Zamiana pozycji elementu max i min');
                         writeln('Tablica przed zamiana');
                             for i:=1 to dim do
                                write(macierz[i],' ');
                                writeln;
                                macierz[pozmax]:=min;
                                macierz[pozmin]:=max;
                                writeln('Tablica po zamianie:');
                                   for i:=1 to dim do
                                      write(macierz[i],' ');
                                      writeln;
                                      writeln;
                                      writeln;
                                      writeln('Wcisnij klawisz Enter');
                                      readln;
                         {Sortowanie Tablicy}
                     clrscr;
                         writeln('Tablica przed sortowaniem:');
                             for i:=1 to dim do
                                write(macierz[i],' ');
                                writeln;
                                   for i:=dim-1 downto 1 do
                                   for j:=1 to i do
                               begin
                                   if macierz[j] > macierz[j+1] then
                                 begin
                                     wart:=macierz[j];
                                     macierz[j]:=macierz[j+1];
                                     macierz[j+1]:=Wart;
                                 end;
                               end;
                                 writeln('Tablica po sortowaniu:');
                                    for i:=1 To Dim Do Write(macierz[i],' ');
                                       writeln;
                                       writeln;
                                       writeln;
                                       writeln('Wcisnij dowolny klawisz');
                  Repeat Until Keypressed;
    end.


    Kod proszę umieszczać w znacznikach code - krzychoocpp

  • #2 04 Gru 2007 12:06
    RhinoRace
    Poziom 16  

    po pierwsze umiesc kod w tagach CODE

    po drugie sformatuj kod - czyli zrob tabulacje przed sekcjami, zeby byly na tym samym poziomie - jak nie wiesz o co chodzi to przejrzyj forum - wiele osob jak pisze kod to daje go sformatowanego :)

    inna sprawa, ze jak masz kod sformatowany i znasz podstawy jezyka to zrobienie schematu blokowego nie jest zbyt wielkim problemem - chociaz to tez zalezy od skomplikowania programu oraz stopnia abstrakcji w jakim chcesz ten schemat zrobic ;)

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME