Ввод данных из таблицы в паскаль - 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
Листинг программы
  1. const
  2. m = 100;
  3. type
  4. tab=record;
  5.     el: string;
  6.     a_m: real;
  7.     k_e: real;
  8.     o_e: real;
  9. end;
  10. var tab_m:array[1..m] of tab;
  11. zap:tab;
  12. tab_t:text;
  13. n,i,j,me:integer;
  14. k:char;
  15. a:real;
  16. begin
  17. assign(tab_t,'tab.txt');reset(tab_t);
  18. n:=0;
  19. while not Eof(tab_t) do begin
  20.     inc(n);
  21.     k:=#0;
  22.     while k<>' ' do begin
  23.         read(tab_t,k);
  24.         tab_m[n].el:= tab_m[n].el+k;end;
  25.     readln(tab_t, tab_m[n].a_m, tab_m[n].k_e, tab_m[n].o_e);
  26. end;
  27. writeln('Введте атомную массу');
  28. readln(a);
  29. me:=1;
  30. for i:=1 to n do begin
  31.     if tab_m[me].k_e < tab_m[i].k_e then
  32.         me:=i;
  33.     if tab_m[i].a_m = a then
  34.           writeln('Элемент с искомой атомной массой: ',tab_m[i].el);
  35.     end;
  36. writeln('Элемент с максимальным колличеством электронов: ', tab_m[me].el);
  37. for i:=1 to n-1 do
  38.     for j:=1 to n-i do begin
  39.         if tab_m[j].o_e>tab_m[j+1].o_e then begin
  40.         zap:=tab_m[j]; tab_m[j]:=tab_m[j+1]; tab_m[j+1]:=zap;
  41.         end;
  42.     end;
  43. writeln('Итоговая таблица:');
  44. for i:=1 to n do
  45.     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);
  46. close(tab_t);
  47. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут