Выведите на экран названия всех шоколадок, расположив их в алфавитном порядке по названиям - Pascal
Формулировка задачи:
Шоколадка: название (строка), количество белков (число), жиров (число), углеводов (число).
Выведите на экран названия всех шоколадок, расположив их в алфавитном порядке по названиям.
Решение задачи: «Выведите на экран названия всех шоколадок, расположив их в алфавитном порядке по названиям»
textual
Листинг программы
type shokolad=record
naz:string[15];
bel,zir,ugl:integer;
end;
var a:array[1..20] of shokolad;
n,i,j:byte;
x:shokolad;
begin
write('Количество шоколадок от 2 до 20 n=');
readln(n);
for i:=1 to n do
begin
writeln('Шоколадка ',i);
with a[i] do
begin
write('Название: ');readln(naz);
write('Белков: ');readln(bel);
write('Жиров: ');readln(zir);
write('Углеводов: ');readln(ugl);
end;
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i].naz>a[j].naz then
begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
writeln('-------------------------------------------');
writeln('| Название | Белки | Жиры | Углеводы |');
writeln('-------------------------------------------');
for i:=1 to n do
with a[i] do
writeln('|',naz:15,'|',bel:7,'|',zir:6,'|',ugl:10,'|');
writeln('-------------------------------------------');
end.
Объяснение кода листинга программы
- Объявляется структура с именем
shokolad, которая содержит поля:naz(название шоколадки),bel(количество белков),zir(количество жиров),ugl(количество углеводов). - Объявляется массив
aразмером 20 элементов типаshokolad. - Объявляются переменные:
n(количество шоколадок),i(для цикла),j(для вложенного цикла),x(для временного хранения значений при сортировке). - Запрашивается у пользователя ввод количества шоколадок от 2 до 20.
- Для каждой шоколадки вводятся название, количество белков, жиров и углеводов.
- Выполняется сортировка массива шоколадок по названиям в алфавитном порядке.
- Выводится таблица с названиями всех шоколадок, а также их содержанием белков, жиров и углеводов.