Ввод данных из таблицы в паскаль - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, нужна помощь, написать часть программы, которая заносит данные таблицы в память, либо брать данные из *.txt. Надеюсь объяснил правильно... Решение а) и б) не обязательно, додумаюсь сам, но был бы премного благодарен за полное решение.
Спойлер
Элемент Атомная масса Количество электронов Относительная электроотрицательность Водород 1 1 2,1 Литий 6,9 3 0,97 Углерод 12 6 2,5 Азот 14 7 3,07 Кислород 16 8 3,5 Алюминий 27 13 1,47 Фосфор 31 15 2,1 Аргон 39,9 18 0

Решение задачи: «Ввод данных из таблицы в паскаль»

textual
Листинг программы
const
m = 100;
type
tab=record;
    el: string;
    a_m: real;
    k_e: real;
    o_e: real;
end;
var tab_m:array[1..m] of tab;
zap:tab;
tab_t:text;
n,i,j,me:integer;
k:char;
a:real;
begin
assign(tab_t,'tab.txt');reset(tab_t);
n:=0;
while not Eof(tab_t) do begin
    inc(n);
    k:=#0;
    while k<>' ' do begin
        read(tab_t,k);
        tab_m[n].el:= tab_m[n].el+k;end;
    readln(tab_t, tab_m[n].a_m, tab_m[n].k_e, tab_m[n].o_e);
end;
writeln('Введте атомную массу');
readln(a);
me:=1;
for i:=1 to n do begin
    if tab_m[me].k_e < tab_m[i].k_e then
        me:=i;
    if tab_m[i].a_m = a then
          writeln('Элемент с искомой атомной массой: ',tab_m[i].el);
    end;
writeln('Элемент с максимальным колличеством электронов: ', tab_m[me].el);
for i:=1 to n-1 do
    for j:=1 to n-i do begin
        if tab_m[j].o_e>tab_m[j+1].o_e then begin
        zap:=tab_m[j]; tab_m[j]:=tab_m[j+1]; tab_m[j+1]:=zap;
        end;
    end;
writeln('Итоговая таблица:');
for i:=1 to n do
    writeln(tab_m[i].el:10, tab_m[i].a_m:6:2, tab_m[i].k_e:6:2, tab_m[i].o_e:6:2);
close(tab_t);
end.

Объяснение кода листинга программы

  1. В первой строке кода объявляются переменные m, tab, el, a_m, k_e, o_e, n, i, j, me, k, a, и определяется тип данных для переменной tab.
  2. Затем определяется переменная tab_m типа array[1..m] of tab, которая будет использоваться для хранения данных из таблицы.
  3. Далее, переменная zap типа tab инициализируется значением последней записи из файла.
  4. Переменная tab_t типа text инициализируется путем к файлу tab.txt.
  5. Затем, в цикле while считываются данные из файла до конца файла.
  6. Внутри цикла while считываются данные из файла до конца файла.
  7. Если значение переменной k меньше любого пробела, то значение переменной k добавляется к значению переменной el текущего элемента.
  8. После чтения данных из файла, переменные a_m, k_e и o_e инициализируются соответствующими значениями.
  9. Затем, в цикле for вычисляется максимальное количество электронов в таблице.
  10. В цикле for также происходит перераспределение элементов таблицы при необходимости.
  11. После этого выводится итоговая таблица с данными из таблицы.
  12. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5