Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет.doc
Скачиваний:
41
Добавлен:
11.03.2015
Размер:
566.27 Кб
Скачать

4) Создать массив из 10 записей с полями «наименование изделия», «цена». Вывести массив записей на экран в виде таблицы. Упорядочить массив по 1- му полю. Вывести результат.

Блок–схема

Листинг программы

Program z4;

const

n = 10;

type

izdelie = record

nazv: string[15];

cena: real;

end;

var

izd: array [1..n] of izdelie;

B: izdelie;

i: integer;

k: integer;

C: boolean;

begin

WriteLn('Ввод изделий');

for i := 1 to n do

begin

Write('Изделие ', i, ', наименование: ');

ReadLn(izd[i].nazv);

Write('Цена: ');

ReadLn(izd[i].cena);

end;

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

WriteLn('Исходная таблица');

WriteLn('-------------------------------');

WriteLn('| Название изделия | Цена |');

WriteLn('-------------------------------');

for i := 1 to n do

WriteLn('|', izd[i].nazv:18, '|', izd[i].cena:10:2, '|');

WriteLn('-------------------------------');

{сортировка}

k := n;

repeat

C := False;

for i := 2 to k do

begin

if izd[i - 1].nazv > izd[i].nazv then

begin

B := izd[i - 1];

izd[i - 1] := izd[i];

izd[i] := B;

C := True;

end;

end;

k := k - 1;

until not C;

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

WriteLn('Отсортированная таблица');

WriteLn('-------------------------------');

WriteLn('| Название изделия | Цена |');

WriteLn('-------------------------------');

for i := 1 to n do

WriteLn('|', izd[i].nazv:18, '|', izd[i].cena:10:2, '|');

WriteLn('-------------------------------');

ReadLn;

end.

Результат работы программы

5) Создать массив из 8 записей с полями «код детали», «высота детали», «ширина», «количество» (даны), «площадь 1 детали» (вычислить). Определить деталь с максимальным и минимальным количеством, среднюю площадь. Вывести результат.

Блок–схема

Листинг программы

Program z5;

const

n = 8;

type

Component = record

kod: integer;

h, b: real;

kol: integer;

s: real;

end;

var

C: array [1..n] of Component;

i: integer;

mink, maxk: integer;

Ssr: real;

begin

WriteLn('Ввод деталей');

for i := 1 to n do

begin

Write('Деталь ', i, ', код: ');

ReadLn(C[i].kod);

Write('длина, ширина: ');

ReadLn(C[i].b, C[i].h);

Write('количество: ');

ReadLn(C[i].kol);

C[i].s := C[i].b * C[i].h;

end;

mink := 1;

maxk := 1;

Ssr := 0;

for i := 1 to n do

begin

if C[i].kol > C[maxk].kol then

maxk := i;

if C[i].kol < C[mink].kol then

mink := i;

Ssr := Ssr + C[i].s;

end;

Ssr := Ssr / n;

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

WriteLn('Исходная таблица');

WriteLn('-------------------------------------------------');

WriteLn('| Код | Высота | Ширина | Кол-во | Площадь |');

WriteLn('| детали | | | | |');

WriteLn('-------------------------------------------------');

for i := 1 to n do

WriteLn('|', C[i].kod:8, '|', C[i].h:8:1, '|', C[i].b:8:1, '|',

C[i].kol:8, '|', C[i].s:11:2, '|');

WriteLn('-------------------------------------------------');

WriteLn('Код детали с минимальным количеством ', C[mink].kod);

WriteLn('Код детали с максимальным количеством ', C[maxk].kod);

WriteLn('Средняя площадь ', Ssr:3:2);

ReadLn;

end.

Результат работы программы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]