Как соединить две программы в паскале

Нужно написать программу в Pascal.
Нужно будет считать информацию с двух файлов и объединить их в один файл. В первом файле есть 3 столбца:
1. Четырехзначный номер
2. Рост
3. Вес
Во втором файле также 3 столбца:
1. Четырехзначный номер
2. Время бега на 1 км
3. Колличество подтягиваний
Нужно написать программу которая будет считывать данные с двух файлов и будет создавать 3ий файл, в котором программа объединит все данные в соответствии с номером.
PascalABC.NET 3.1

Виолетта Эргина Вопрос задан 26 сентября 2019 в 10 — 11 классы, true»> Поделиться

  • Комментариев (0)
  • 1 Ответ (-а, -ов)

    ВАЖНО! Прикрепленные файлы на самом деле не текстовые, а двоичные, но таковые данная система не позволяет прикрепить. Поэтому не стоит пытаться эти файлы читать.

    Для работы программы следует переименовать файлы в file1.bin и file2.bin

    Содержимое файла f1
    7696 163 67
    9195 183 71
    1922 174 77

    Паскаль урок 2: Пишем первую программу


    4586 173 68
    4611 164 64
    4204 164 60
    8914 178 62
    1102 162 63
    4947 184 63
    6185 174 79

    Содержимое файла f2
    4611 287 4
    1102 312 3
    9195 220 12
    3142 251 7
    8914 229 9
    7696 252 7
    1922 245 5
    4204 273 6
    4586 241 10

    // PascalABC.NET 3.3, сборка 1573 от 04.11.2017
    // Внимание! Если программа не работает, обновите версию!

    type
    st1=record
    номер:integer;
    рост:integer;
    вес:integer
    end;
    st2=record
    номер:integer;
    время_бега:integer;
    кол_подтягиваний:integer
    end;
    st3=record
    номер:integer;
    рост:integer;
    вес:integer;
    время_бега:integer;
    кол_подтягиваний:integer
    end;

    begin
    // считываем файл f1 в массив типа st1
    var f1:file of st1;
    Assign(f1,’file1.bin’); Reset(f1);
    var n1:=FileSize(f1);
    var m1:=new st1[n1];
    for var i:=0 to n1-1 do Read(f1,m1[i]);
    f1.Close;
    // читаем файл f2 и для каждой записи ищем элемент массива
    // с таким же номером. Если найден — делаем слияние в файл f3
    var f2:file of st2;
    Assign(f2,’file2.bin’); Reset(f2);
    var buf2:st2; // буфер для чтения f2
    var f3:file of st3;
    Assign(f3,’file3.bin’); Rewrite(f3);
    var buf3:st3; // буфер для записи f3
    while not Eof(f2) do begin
    Read(f2,buf2);
    var j:=m1.FindIndex(t->t.номер=buf2.номер);
    if j<>-1 then begin
    buf3.номер:=buf2.номер;
    buf3.рост:=m1[j].рост;
    buf3.вес:=m1[j].вес;
    buf3.время_бега:=buf2.время_бега;
    buf3.кол_подтягиваний:=buf2.кол_подтягиваний;
    Write(f3,buf3)
    end
    end;
    f2.Close;
    // посмотрим, что получилось в f3
    Seek(f3,0);
    while not Eof(f3) do begin
    Read(f3,buf3); Print(buf3)
    end;
    f3.Close
    end.

    Читайте также:
    Apk чем открыть программа

    Пример работы программы
    (4611,164,64,287,4) (1102,162,63,312,3) (9195,183,71,220,12) (8914,178,62,229,9) (7696,163,67,252,7) (1922,174,77,245,5) (4204,164,60,273,6) (4586,173,68,241,10)

    Вывод целой части и остатка от деления в Паскаль

    Вячеслав Ворожкин Отвечено 26 сентября 2019

    • ‘ data-html=»true»> Поделиться
    • Комментариев (0)

    Источник: matfaq.ru

    Как соединить 2 кода в один на паскале?

    5e281bafdc608819489217.png

    var
    s:string;
    s1:string;
    s2:string;
    begin
    writeln(‘Строка>’); readln(s);
    s:=s+’ ‘;
    s2:=»;
    repeat
    s1:=copy(s,1,pos(‘ ‘,s)-1); delete (s,1,pos(‘ ‘,s));
    if (pos(s1,s)>0) and (s1<>’ ‘) and (pos(s1,s2)=0)
    then s2:=s2+s1+#32; until length(s)=0;
    if s2=» then writeln (‘нет повторяющихся слов’) else writeln(‘Повторяющиеся слова:’,s2);
    end.

    spoiler

    5e281bc6b4260608399740.png

    var
    s,z:string; s1:string; s2:string;
    i: byte;
    begin
    write(‘Введите текст:’); readln(s);
    s:=s+’ ‘;
    s2:=»;
    repeat
    s1:=copy(s,1,pos(‘ ‘,s)-1);
    delete (s,1,pos(‘ ‘,s));
    if (pos(s1,s)>0) and (s1<>’ ‘) and (pos(s1,s2)=0) then s2:=s2+s1+#32;
    until length(s)=0;
    if s2=» then writeln (‘нет повторяющихся слов’) else writeln(‘Повторяющиеся слова:’,s2);
    write(‘На: ‘);
    readln(z);
    i:=pos(s2,s);
    delete(s,i,length(s2));
    insert(z,s,i);
    writeln(‘Сделано: ‘,s);
    end.

    • Вопрос задан более трёх лет назад
    • 285 просмотров

    Источник: qna.habr.com

    Как соединить две программы в паскале

    Сообщений: 16

    Как объеденят две программы в Паскале?

    Помогите пожалуйста объеденить через функцию. Чтобы типа при нажатии кнопки, 1-я выполнялаь, а при нажатии другой-2-я.

    program Predlojenie; uses crt; var a:array[1..10] of integer; i,s:integer; k:real; begin clrscr; writeln(‘╔═════════════════════════════════════════════════════╗’); writeln(‘║Дан массив A(n), состоящий из целых чисел. Определить ║’); writeln(‘║кол-во элементов, являющихся квадратами четных чисел.║’); writeln(‘╚═════════════════════════════════════════════════════╝’); s:=0; writeln(‘Введите числа:’); for i:=1 to 10 do read(a[i]); for i:=1 to 10 do begin if a[i] mod 2 = 0 then k:=sqr(a[i]); if k=sqr(a[i]) then s:=s+1; end; writeln(‘Количество элементов:’); write(s); readkey; end.
    program zadacha2; uses crt; var a:array[1..10] of integer; i:integer; begin clrscr; writeln(‘╔══════════════════════════════════════════════════╗’); writeln(‘║Дан массив A(n). Вывести в порядке следования все ║’); writeln(‘║отрицательные числа, затем все положительные числа║’); writeln(‘╚══════════════════════════════════════════════════╝’); writeln(‘Введите отрицательные и положительные числа:’); for i:=1 to 10 do read(a[i]); writeln; writeln(‘Отрицательные числа:’); for i:=1 to 10 do if a[i]0 then write(‘ ‘,a[i]); readkey; end. readkey; end.

    Читайте также:
    Программа которая открывает заблокированные сайты

    Источник: www.programmersforum.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru