Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Пример выполнения задания. Пусть, например, имеются некоторые данные о заводах города, сведенные в следующий документ: Наиме-нование завода Основные сведения Примечание





Пусть, например, имеются некоторые данные о заводах города, сведенные в следующий документ:

Наиме-нование завода Основные сведения Примечание
Зани-маемая площадь Объем выпускаемой продукции Количество обслуживающего персонала
по плану фактически с высшим образованием со средним образованием
АЗЛК   484,9 484,9      
ВАЗ   348,5 348,7      
ЗИЛ   384,3 399,4      
ИЖ   667,3 701,3      
ИТОГО            

Необходимо описать массив записей, содержащий данную информацию, произвести расчет и заполнить итоговую строку, а результат отпечатать.

Для решения данной задачи следует обеспечить ввод массива записей, эхо–печать введенных данных, накопления суммы по каждому полю записи для формирования итоговой строки таблицы и вывод полученного результата.

Схема алгоритма в общем виде представлена на рис. 6.1.

Начало
Ввод n
i = 1, n
Ввод i – ой записи
Вывод таблицы
Обнуление сумм
i = 1, n
Вывод итоговой строки
Конец
Накопление сумм

Рис. 6.1. Схема алгоритма обработки записей.


 

Текст программы будет иметь следующий вид:

{Цель: обработка массива записей }

{Переменные:Nmax - максимальное число записей }

{Summary-массив записей, plant-строка записи }

{name-наименование завода, information-основные сведения }

{area-площадь завода, production-объём продукции, plan- по плану }

{fact-фактически, person-обслуживающий персонал }

{superior-с высшим образованием, second-со средним образованием }

{note-примечание }

{n - вводимое число записей }

{i - номер текущей записи }

{k - параметр цикла, }

{s1, s2, s3, s4, s5 -суммы колонок. }

program Example;

const

Nmax=10;

type

plant= record

name:string[5];

information: record

area:integer;

production: record

plan:real;

fact:real

end;

person:record

superior:integer;

second:integer

end

end;

note:string[8]

end;

var

Summary:array [1..Nmax] of plant;

s1,s4,s5,i,k,n:integer;

s2,s3:real;

begin {Example}

writeln ('введите количество заводов <=10');

readln(n);

{ввод записей}

for i:=1 to n do

with Summary[i] do

begin

writeln('введите данные о',i,'-м заводе:');

write ('наименование');

readln (name);

with information do

begin

write('занимаемая площадь');

read(area);

with production do

begin

writeln ('производство продукции');

write('по плану');

read(plan);

write('фактически');

read(fact);

end;

with person do

begin

writeln ('численность персонала');

write('с высшим образованием:');

read(superior);

write('со средним образованием:');

readln(second)

end

end;

write ('примечание:');

readln(note);

end;

{вывод заголовка таблиц}

for k:=1 to 80 do

write('_');

writeln;

writeln('|','|':15,'основные сведения':33,'|':18,'|':13);

write('|','|':15);

for k:=1 to 50 do

write('_');

write('|','|':13);

writeln('|','Наименование |':15,'PL |':10,

'Объем продукции':18,'|':4,'Персонал':13,'|':6,'Примечание|':13);

write('|','|':15,'|':10);

for k:=1 to 40 do

write('_');

write('|','|':13);

writeln('|','|':15,'|':10,'по плану|':11,'факт.':7,'|':4,

'высшее |':9,'среднее|':10,'|':13);

for k:=1 to 80 do

write('_');

writeln;

{вывод строк таблиц}

for i:=1 to n do

with Summary[i] do

begin

writeln('|',name,' ':12-Length(name),'|':2,

information.area:8,'|':2,

information.production.plan:8:1,'|':2,

information.production.fact:9:1,'|':2,

information.person.superior:7,'|':2,

information.person.second:8,'|':2,

note,' ':12-Length(note),'|');

for k:=1 to 80 do

write('_');

writeln;

end;

{формирование и вывод итоговой строки}

s1:=0; s2:=0; s3:=0; s4:=0; s5:=0;

for i:=1 to n do

with Summary[i].information do

begin

s1:=s1+area;

s2:=s2+production.plan;

s3:=s3+production.fact;

s4:=s4+person.superior;

s5:=s5+person.second;

end;

with Summary[n+1] do

begin

name:='Итого';

information.area:=s1;

information.production.plan:=s2;

information.production.fact:=s3;

information.person.superior:=s4;

information.person.second:=s5;

writeln('|',name,' ':12-Length(name),'|':2,s1:8,'|':2,

s2:8:1,'|':2,s3:9:1,'|':2,s4:7,'|':2,s5:8,'|':2,'|':13);

end;

for k:=1 to 80 do

write('_');

writeln;

end.{example}


Date: 2015-10-21; view: 516; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.008 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию