Помогите пожалуйста решить мудренную задачу в Паскале

Тема в разделе "Pascal and Delphi", создана пользователем fallenangel, 3 сен 2011.

  1. fallenangel

    fallenangel Гость

    Разработать информационную систему"СИСТЕМА" Структура записи исходного файла: матрица из двух строк и трех столбцов - матрица коэффициентов системы двух линейных уравнений с двумя неизвестными и текстовая информация о количестве решений системы (одно решение, множество решений, нет решения). Создать новый файл, поместив в него записи с единственным решением, добавив в запись поле с найденным решением.

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

    Помогите,пожалуйста......я уже не могу,пишу полный бред,сама это не понимаю. А не напишу,вылет из университета 0(((

    Добавлено: пишу процедуры,но по-моему полный бред

    Код (Text):
    type
    baza = record
    matr: array[1..2,1..3] of real;
    kol: string;
    end;
    baza1=record
    matr: array[1..2,1..3] of real;
    kol: string;
    resh1: real;
    resh2:real;
    tfile = file of baza;
    gfile = file of baza1;

    procedure write1(a:array[1..2,1..3] of real);
    var i,j:integer;
    for i:=1 to 2 do
    begin
    for j:=1 to 3 do
    write(a[1,j],' ');
    for i:=1 to 17 do write(' ');
    end;

    procedure vvod(var sist: baza); {ввод}
    var i,j:integer;
    begin
    write('Введите коэффициенты системы уравнений: ');
    for i:=1 to 2 do
    for j:=1 to 3 do
    begin
    write ('член строки ',i,'столбца',j,'=')
    read(a[i,j]);
    end
    write('Введите количество корней (одно/множество/нет корней): ');
    read(sist.kol);
    end;

    procedure zapolnenie(var f: tfile); {заполнение базы}
    var
    sist: baza;
    i:integer;
    begin
    rewrite(f);
    repeat
    vvod(sist);
    write(f, sist);
    write('Будем вводить? 1-да, 2- нет '); read(i);
    until (i=2);
    close(f);
    end;

    procedure print(f:tfile); {печать}
    var x:baza;z,i,j,k:integer;
    begin
    reset(f);
    writeln('_________________________________________________');
    writeln('|№|Матрица                 |Количество решений |');
    writeln('_________________________________________________');
    while not eof(f) do
    begin
    read(f,x);
    with (x) do
    begin
    write('|',Filepos(f), '|');
    write1(matr);
    z:=19-length(kol);
    write('|',kol);
    for i:=1 to z do write(' ');
    write('|');
    writeln;
    end;

    end;
    writeln('____________________________________________________________________________
    ___________________');
    close(f);
    end;

    procedure resh(var f,g:tfile); {вывод записей,если решение одно}
    var a:baza;
    b:baza1;
    n:=array [1..2,1..3];
    k,m:real;
    begin
    reset(f);
    rewrite(g);
    if not eof(f) then read(f,a);
    while not eof(f) do
    begin
    if a.kor='одно'
    begin
    b.matr:=a.matr;
    b.kol:=a.kol;
    k:=a[1,1];
    m:=a[2,1];
    for j:=1 to 3 do begin
    n[1,j]:=a[1,j]/k;
    n[2,j]:=a[2,j]/m;
    n[2,j]:=n[2,j]-n[1,j];
    b.resh1:=n[2,3]/n[2,2];
    b.resh2:=n[1,3]-n[1,2]*m;  
    end;
    if not eof(f) then read(f,a);
    end;
    if if a.kor='одно'
    begin
    b.matr:=a.matr;
    b.kol:=a.kol;
    k:=a[1,1];
    m:=a[2,1];
    for j:=1 to 3 do begin
    n[1,j]:=a[1,j]/k;
    n[2,j]:=a[2,j]/m;
    n[2,j]:=n[2,j]-n[1,j];
    b.resh1:=n[2,3]/n[2,2];
    b.resh2:=n[1,3]-n[1,2]*m;
    end;
    close(f);
    close(g);
    end;
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Вам на когда надо?(Просто у меня време свободного не очень много)
    И у вас ICQ/Skype/QIP есть?
     
Загрузка...
Похожие Темы - Помогите пожалуйста решить
  1. GREED
    Ответов:
    1
    Просмотров:
    536
  2. merrs
    Ответов:
    1
    Просмотров:
    1.310
  3. Alexey075
    Ответов:
    1
    Просмотров:
    1.689
  4. Andrey7284
    Ответов:
    1
    Просмотров:
    1.165
  5. TankOo
    Ответов:
    1
    Просмотров:
    1.264

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