помогите с лабой по паскалю

Тема в разделе "Delphi - FAQ", создана пользователем alk51, 9 фев 2007.

  1. alk51

    alk51 Гость

    Всем привет,
    я не очень понимаю в программировании, вот и прошу помощи. вот листинг

    type
    firma = object
    name: string[30];
    direktor: string [30];
    procedure Input;
    procedure Show;
    end;

    OOO = object(firma)
    ustkap: string[10];
    sotrud: integer;
    procedure Input;
    procedure Show;
    end;

    IP = object(firma)
    address: string[70];
    vid: string[40];
    procedure Input;
    procedure Show;
    end;

    var
    m1:OOO;
    m2:IP;

    Procedure firma.Input;
    begin
    write('Nazvanie firma: ');
    readln(name);
    write('Direktor: ');
    readln(direktor);
    end;

    Procedure firma.Show;
    begin
    writeln('Nazvanie: ', name);
    writeln('Direktor: ', direktor);
    end;

    Procedure OOO.Input;
    begin
    firma.show;
    write('Ustkap: ');
    readln(ustkap);
    write('Sotrud: ');
    readln(sotrud);
    end;

    Procedure OOO.Show;
    begin
    writeln('Ustkap: ', ustkap);
    writeln('Sotrudniki: ', sotrud);
    end;

    Procedure IP.Input;
    begin
    firma.show;
    write('Address: ');
    readln(address);
    write('Vid: ');
    readln(vid);
    end;

    Procedure IP.Show;
    begin
    writeln('Address: ', address);
    writeln('Vid: ', vid);
    end;


    Так она не работает но я незнаю почему, сделал все как в руководстве к лабораторной
     
  2. DIR3ct0r

    DIR3ct0r Гость

    где begin end...
     
  3. alk51

    alk51 Гость

    DIR3ct0r спасибо, при компиляции ошибок не найдено, но на исполнения программа не запускается :rolleyes:
     
  4. Barmutik

    Barmutik Гость

    Ну так а что должно запускаться ?

    У Вас в листинге только описание классов .. и нет самого кода программы ...
     
  5. alk51

    alk51 Гость

    а-а-а все ясно, а я тодумал это и есть программа, спасибо что открыли глаза, буду разбираться дальше, если че не пойму напишу :rolleyes:
     
  6. DIR3ct0r

    DIR3ct0r Гость

    Все верно, описаны только типы структур данных.....дале следует объявление переменных и т.п
     
  7. alk51

    alk51 Гость

    Вот еще чем загрузили, по этому листингу нужно составить блок-схему :unsure: ,
    я еще пойму если по блок-схеме составить программу но как это сделать по листингу я не представляю вот и прошу у Вас помощи в рисовании этой блок схемы (сказали в частности сделать схему процедур)
    , очень прошу Вас помочь

    type
    tp=(OOO,IP);
    firma=record
    name:string [15];
    direktor:string [15];
    kl:char;
    case member:tp of
    OOO:(ustkap:string [10];
    sotrud:string[10]:unsure:;
    IP:(address:string[15];
    vid:string[40]:(;
    end;
    mas=array[1..10] of firma;
    const q='0123456789';

    var
    a,list:mas;
    n,i,m:integer;
    k,s:string;
    f,e:boolean;
    klass:char;

    function pr(s:string) :boolean;
    var i:byte;
    r:boolean;
    begin
    i:=1; r:=true;
    while (i<=length(s)) and (r=true) do
    if pos(s,q)=0 then
    r:=false else
    i:=i+1;
    pr:=r;
    end;

    procedure up (var S:string);
    var i:integer;
    begin
    for i:=1 to length(s) do
    s:=upcase (s);
    end;

    procedure vvod;
    begin
    writeln('!!!!!!!!!!!!!');
    f:=false;
    while (f=false) do begin
    writeln('諽-ó« ºá»¿ßÑ⌐ «Γ 1 ñ« 5');
    readln(n);
    if (n>=1) and (n<=5) then f:=true
    else writeln ('ÄΦ¿í¬á. Å«óΓ«α¿ΓÑ óó«ñ');
    Writeln;
    end;
    for i:=1 to n do begin
    f:=false;
    while f=false do begin
    writeln ('OOO -1');
    writeln ('êÅ -2');
    Write ('Æ¿» Σ¿α¼δ '); readln (k);
    if (k[1]='1') or (k[1]='2') then f:=true
    else writeln ('ÄΦ¿í¬á. Å«óΓ«α¿ΓÑ óó«ñ'); Writeln;
    end;
    klass:=k[1];
    a.kl:=klass;
    write ('ìáºóá¡¿Ñ Σ¿α¼δ ',i, ':');
    readln(list.name);
    write ('ä¿αÑ¬Γ«α ',i,':');
    readln (list.direktor);
    klass:=a.kl;
    case klass of
    '1':begin
    e:=false;
    while e=false do
    begin
    write ('éóÑñ¿ΓÑ πßΓáó¡«⌐ ¬á»¿Γá½ ',i, ' Σ¿α¼δ:');
    readln (s);
    up(s);
    begin
    list .ustkap:=s;
    e:=true;
    end
    end;
    e:=false;
    while e=false do
    begin
    write ('éóÑñ¿ΓÑ ¬«½¿τÑßΓó« ß«Γαπñ¡¿¬«ó ',i, ' Σ¿α¼δ:' );
    readln (s);
    if pr(s)=true then
    begin
    list.sotrud:=s;
    e:=true;
    end
    else writeln ('éó«ñ ¡Ñ¬«ααѬΓÑ¡.Å«óΓ«α¿ΓÑ »«»δΓ¬π');
    end;
    end;
    '2':begin
    writeln ('ÇñαÑß αÑú¿ßΓαᵿ¿ ',i,' Σ¿α¼δ:');
    readln (s);
    list.address:=s;
    write ('é¿ñ ñÑ∩Γѽ∞¡«ßΓ¿ ',i,' Σ¿α¼δ:');
    readln (s);
    list.vid:=s;
    end;
    end;
    end;
    end;

    procedure vivod;
    begin
    f:=false;
    m:=1;
    while (f=false) do begin
    for i:=1 to n do
    writeln ('ºá»¿ß∞',i,': ',list.name);
    writeln ('ñ½∩ óδσ«ñá ¡áª¼¿ΓÑ 0');
    writeln ('óóÑñ¿ΓÑ ¡«¼Ñα ºá»¿ß¿ ¬«Γ«απε σ«Γ¿ΓÑ »α«ß¼«ΓαÑΓ∞ ');
    readln (i);
    m:=i;
    if m=0 then f:=true else begin
    if i<=n then begin
    writeln ('ºá»¿ß∞ ⁿ',i);
    writeln ('¡áºóá¡¿Ñ Σ¿α¼δ: ',list.name);
    writeln ('ä¿αÑ¬Γ«α Σ¿α¼δ: ',list.direktor);
    klass:=a.kl;
    case klass of
    '1':begin
    writeln ('ôßΓáó¡«⌐ ¬á»¿Γá½: ',list.ustkap);
    writeln ('æ«Γαπñ¡¿¬¿: ',list.sotrud);
    readln;
    end;
    '2' :begin
    writeln ('ÇñαÑß αÑú¿ßΓαᵿ¿: ',list.address);
    writeln ('é¿ñ ñÑ∩Γѽ∞¡«ßΓ¿: ',list.vid);
    readln;
    end;
    end;
    end
    else begin writeln('«Φ¿í¬á »«óΓ«α¿ΓÑ óó«ñ');
    writeln;
    end;
    end;
    end;
    end;


    begin
    writeln(' ');
    vvod;
    vivod;
    end.
     
  8. DIR3ct0r

    DIR3ct0r Гость

    Читаешь программу по строкам и рисуешь соответствующие блоки, что сложного?
     
  9. alk51

    alk51 Гость

    сложное в том что я в программировании не чего не понимаю :D
     
  10. DIR3ct0r

    DIR3ct0r Гость

    И не поймете, если не будете разбираться или вы хотите, чтобы мы за вас блок-схему рисовали?
     
  11. alk51

    alk51 Гость

    Не уже ли мне не кто не поможит :( :( :( :(
     
  12. DIR3ct0r

    DIR3ct0r Гость

    Блок-схемы всех процедур будут полностью идентичны, только переменные буду разные. Картинку выложить не знаю куда.
     
  13. alk51

    alk51 Гость

    плиз, пришли пример картинки в личку либо на мыло alk51@yandex.ru
     
  14. alk51

    alk51 Гость

    Для: DIR3ct0r
    спасибо за схему
     
Загрузка...

Поделиться этой страницей