Ввод данных из таблицы в паскаль - 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.
Объяснение кода листинга программы
- В первой строке кода объявляются переменные m, tab, el, a_m, k_e, o_e, n, i, j, me, k, a, и определяется тип данных для переменной tab.
- Затем определяется переменная tab_m типа array[1..m] of tab, которая будет использоваться для хранения данных из таблицы.
- Далее, переменная zap типа tab инициализируется значением последней записи из файла.
- Переменная tab_t типа text инициализируется путем к файлу
tab.txt
. - Затем, в цикле while считываются данные из файла до конца файла.
- Внутри цикла while считываются данные из файла до конца файла.
- Если значение переменной k меньше любого пробела, то значение переменной k добавляется к значению переменной el текущего элемента.
- После чтения данных из файла, переменные a_m, k_e и o_e инициализируются соответствующими значениями.
- Затем, в цикле for вычисляется максимальное количество электронов в таблице.
- В цикле for также происходит перераспределение элементов таблицы при необходимости.
- После этого выводится итоговая таблица с данными из таблицы.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д