Постановка задачи
Задан массив, содержащий информацию об аудиториях ВУЗа. Структура массива: номер аудитории, количество посадочных мест (максимальное количество посадочных мест – 210, минимальное - 15). Рассортировать список аудиторий по возрастанию количества посадочных мест.
Пример выполнения программы
program Pr2;
{$APPTYPE CONSOLE}
uses
SysUtils;
const k1=15;k2=210;
type
TRec=record
audience:string[4];
amount:word;
end;
TMas=array[1..20] of TRec;
var
Mas:TMas;
elem:TRec;
n,i,j,k:integer;
function Rus(mes:string):string;
var h:byte;
begin
for h:=1 to length(mes) do
case mes[h] of
'А'..'п':mes[h]:=Chr(Ord(mes[h])-64);
'р'..'я':mes[h]:=Chr(Ord(mes[h])-16);
end;
rus:=mes;
end;
{ функция для проверки попадает ли значение в заданный интервал }
function p(q,q1,q2:byte):boolean;
begin
if (q<q1) or (q>q2) then
p:=false
else p:=true;
end;
{ процедура ввода }
procedure printel(var s:TRec);
var pr:boolean;
begin
write(rus('Номер аудитории ->')); readln(s.audience);
write(rus('Количество мест ->'));
repeat
readln(s.amount);
pr:=p(s.amount,k1,k2);
if not pr then
begin
writeln(rus('Повторите ввод количества мест'));
writeln(rus('Это число от 15 до 210'));
end;
until pr;
end;
{ процедура вывода }
procedure review(massif:Tmas);
begin
writeln(rus(' Список аудиторий'));
writeln(rus(' Аудитория Число мест'));
for i:=1 to n do
with massif[i] do
writeln(' ',audience,' ',amount);
end;
{процедура вывода меню }
Procedure manu;
Begin
writeln;
writeln(rus('1-Ввод'));
writeln(rus('2-Вывод'));
writeln(rus('3-Сортировка'));
writeln(rus('0-Выход'));
writeln;
end;
{ процедура сортировки }
Procedure Sort;
Begin
For i:=n downto 2 do
For j:=1 to i-1 do
if mas[j].amount>mas[j+1].amount then
begin
elem:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=elem;
end;
review(mas);
end;
begin
repeat
manu;
Write (rus('Ваш выбор->'));Readln(k);
Case k of
1:begin
write(rus('Число аудиторий- '));
readln(n);
for i:=1 to n do
printel(mas[i]);
end;
2:review(mas);
3:sort;
end;
until k=0;
end.
Индивидуальные задания для выполнения контрольной работы
Задача 1 Работа с матрицами
Матрица М содержит 7 строк, 9 столбцов. Расположить элементы в каждой строке в порядке возрастания.
Матрица Р состоит из М строк, N столбцов. Поменять местами первую строку с последней, вторую с предпоследней, и т.д.
Матрица содержит 7 строк, 4 столбца. Сгруппировать нулевые элементы в конце матрицы (Можно использовать вспомогательный массив).
Матрица М состоит из 6 отрок, 8 столбцов. Выяснить, сколько элементов в каждой строке превышают среднее арифметическое значение, определенное для этой строки. Из найденных величин составить массив Р.
Матрица М состоит на 9 отрок, 8 столбцов. Выяснить, является ли минимальный элемент 2-ой строки минимальным и в своем столице.
Матрица М состоит из 4 строк, 6 столбцов. Сформировать матрицу М1, заменив четные столбцы исходной матрицы М нулевыми элементами.
Матрица М состоит из 8 строк, 6 столбцов. Сформировать матрицу М1, в которой каждым 2 строкам исходной матрицы соответствует 1 строка двойной длины.
Выяснить, имеется ли в матрице М элемент, являющийся максимальным в своем столбце и минимальным в своей строке. Если такой найдется, показать его координаты, если нет – выдать соответствующее сообщение.
Матрица М состоит ив 11 отрок в 11 столбцов. Поменять местами элементы, расположенные симметрично относительно 6-го столбца..
Матрица МТ состоит из 5 строк, 6 столбцов. Переставить отроки в порядке возрастания их максимальных элементов.
Матрица М состоит из 5 строк, 7 столбцов. Расположить элементы в каждом столбце в порядке возрастания.
Матрица М (6 строк, 7 столбцов) состоит из равного количества положительных и отрицательных элементов. Сгруппировать положительные элементы в верхней половине матрицы.
Матрица М состоит из 8 строк, 9 столбцов. Выяснить, есть ли среди ее элементов хотя бы два одинаковых. Напечатать "ДА" или "НЕТ" в зависимости от результатов анализа.
Матрица М состоит из 5 строк, 7 столбцов. Выяснить, есть ли в числе ее элементов хотя бы два различных. Напечатать "ДА" или "НЕТ" в соответствии с результатом анализа. Сформировать массив М1 из элементов матрицы М. Повторяющиеся элементы записывать только один раз.
Матрица М состоит из 7 строк, 7 столбцов. Поменять местами элементы столбца, содержащего большее число положительных элементов, и элементы главной диагонали.
Матрица М состоит из 5 строк, 7 столбцов. Преобразовать строки матрицы по следующему правилу: если число положительных элементов в строке больше числа отрицательных - расположить элементы строки в обратном порядке. В противном случае отрицательные элементы заменить нулем.
Матрица М состоит из 5 строк, 8 столбцов. Транспонировать ее.
Матрица М состоит из 7 строк, 9 столбцов. Найти максимальный по абсолютной величине элемент и поменять его местами с первым элементом.
Матрица М состоит из 5 строк, 9 столбцов. Сформировать матрицу МТ1, первая строка которой равна последней строке исходной матрицы, вторая - предпоследней и т.д.
Матрица М состоит из 7 отрок, 9 столбцов. Умножить элементы всех столбцов, начиная со второго, на соответствующие элементы первого столбца.
Матрица М состоит из 5 строк, 8 столбцов. Составить массив М1 из положительных, М2 - из отрицательных элементов матрицы.
Матрица М состоит из 5 строк, 5 столбцов. Преобразовать матрицу по правилу: вычеркнуть строки, имеющие четное число отличных от нуля элементов.
Матрица М состоит из 5 строк, 8 столбцов. Преобразовать матрицу по правилу: вычеркнуть столбцы, имеющие четное число ненулевых элементов.
Матрица М состоит из 7 строк, 7 столбцов. Преобразовать матрицу следующим образом: вычеркнуть строки и столбцы, на пересечении которых стоят элементы, кратные пяти.
Матрица М состоит из 6 строк, 5 столбцов, определить координаты элементов, соседствующих с нулевыми.
Матрица М состоит из 8 строк, 8 столбцов. Упорядочить элементы в каждой строке в порядке убывания их значений.
Матрица К состоит из 5 строк, 7 столбцов. Поменять местами элементы строки с максимальной суммой элементов и элементы второго столбца.
Матрица В состоит из 7 строк, 7 столбцов. Поменять местами элементы столбца, содержащего большее число положительных элементов, и элементы главной диагонали.
Матрица В состоит из 5 строк, 7 столбцов. Упорядочить элементы столбцов в порядке убывания.
Матрица М состоит из 5 строк, 7 столбцов. Строки матрицы расположить по убыванию суммы элементов строк.
Задача 2 Работа с массивами записей
Задан массив Н сведений о заработной плате служащих, массив имеет следующую структуру: имя служащего, общее количество проработанных часов, зарплата, размер налога. Выдать ведомость выдачи зарплаты за вычетом налога, массив рассортировать по алфавиту.
Задан массив С сведений о служащих некоторой фирмы. Массив имеет следующую структуру: имя служащего, номер служащего, дата рождения, дата найма. Определить список служащих, проработавших в фирме более пяти лет, рассортировать список по уменьшению даты рождения.
Задан массив С (см. задачу 2). Определить, кто из служащих нанят на работу в текущем году, список таких служащих рассортировать по возрасту.
Задан массив С, содержащий информацию о игроках футбольной команды. Структура массива: номер игрока, фамилия, имя, дата рождения, количество забитых мячей. Определить список десяти лучших игроков, рассортированный по дате рождения.
Задан массив С (см. задачу 4). Определить список игроков, забивших менее 3 мячей, рассортированный по алфавиту.
Массив К содержит информацию о спортсменах. Структура массива: фамилия, имя, спортклуб, год вступления. Выдать список спортсменов, состоящих в заданном спортивном клубе, рассортированный в порядке увеличения года вступления.
Задан массив В сведений о проживающих в гостинице, массив имеет следующую структуру: фамилия, номер комнаты, цель приезда, возраст, номер в книге регистрации. Определить средний возраст лиц, приехавших в командировку, и получить описок, приехавших на отдых, рассортированный в порядке возрастания номеров по книге регистрации.
Задан массив С сведений о рабочих цеха со следующей структурой: фамилия, табельный номер, разряд, возраст. Определить средний возраст работающих в цехе и получить описок рабочих, имеющих 4 разряд, рассортированный по возрастанию табельных номеров.
Задан массив, имеющий следующую структуру: день (число, месяц), температура воздуха. Определить минимальную, максимальную и среднюю температуру воздуха, дату максимальной температуры. Минимум и максимум температуры найти методом сортировки массива по возрастанию.
Задан массив К, представляющий результаты сдачи вступительных экзаменов, со следующей структурой: шифр абитуриента, средний балл по аттестату, 1-я оценка, 2-я оценка, 3-я оценка, 4-я оценка. Рассортировать массив по убыванию общего балла.
Массив Н представляет собой сведения о выпускниках университета и имеет структуру: шифр студента, средний балл учебных оценок, средний балл за общественную работу. Составить описок выпускников, рассортированный по убыванию общего балла.
Массив К сведений об абитуриентах, сдавших вступительные экзамены, имеет структуру: шифр абитуриента, общий балл по экзаменам, признак наличия стажа работы. Составить список абитуриентов, имеющих стаж, в порядке убывания их балла.
Массив М сведений о наличии учебников в библиотеке имеет следующую структуру: название книги, шифр книги, количество экземпляров, год издания. Определить процент книг с определенным годом издания и рассортировать список таких книг по возрастанию шифра.
Результаты отборочных соревнований по одному из видов спорта занесены в массив Р, имеющий следующую структуру: шифр спортсмена, фамилия, балл за упражнение 1, балл за упражнение 2, балл за упражнение 3. Требуется распределить места между спортсменами и упорядочить их список в соответствии с этим распределением.
К - массив данных о студентах, принявших участие в соревнованиях, имеет следующую структуру: шифр студента, фамилия, год поступления, специальность, порядковый номер, количество набранных очков. Рассортировать массив по годам поступления, выяснить, сколько студентов определенной специальности участвовало в соревнованиях, и подсчитать сумму очков, набранных студентами этой специальности.
Задан массив Н сведений о заработной плате служащих, массив имеет следующую структуру: фамилия и имя служащего, общее количество проработанных часов, зарплата, размер налога. Выдать ведомость выдачи зарплаты за вычетом налога, массив рассортировать по алфавиту.
Задан массив С сведений о служащих некоторой фирмы. Массив имеет следующую структуру: имя служащего, шифр служащего, дата рождения, дата найма. Определить список служащих, проработавших в фирме более пяти лет, рассортировать список по уменьшению даты рождения.
Задан массив С (см. задачу 17). Определить, кто из служащих нанят на работу в текущем году, список таких служащих рассортировать по возрасту.
Задан массив С, содержащий информацию о игроках футбольной команды. Структура массива: номер игрока, фамилия, имя, дата рождения, количество забитых мячей. Определить список десяти лучших игроков, рассортированный по дате рождения.
Задан массив С (см. задачу 19). Определить список игроков, забивших менее 3 мячей, рассортированный по алфавиту.
Массив К содержит информацию о спортсменах. Структура массива: Фамилия, имя, спортклуб, год вступления. Выдать список спортсменов, состоящих в заданном спортивном клубе, рассортированный в порядке увеличения года вступления.
Задан массив А сведений о сдаче экзаменов некоторой группой 25 человек, массив имеет следующую структуру: шифр студента, фамилия, имя, экзаменационная оценка. Определить средний балл группы по данному экзамену и выдать список студентов, получивших хорошие и отличные оценки, в порядке возрастания их шифров.
Задан массив В сведений о проживающих в гостинице, массив имеет следующую структуру: номер комнаты, фамилия, цель приезда, возраст, номер в книге регистрации. Определить средний возраст лиц, приехавших в командировку, и получить описок, приехавших на отдых, рассортированный в порядке возрастания номеров по книге регистрации.
Задан массив С сведений о рабочих цеха со следующей структурой: табельный номер, фамилия, имя. разряд, возраст. Определить средний возраст работающих в цехе и получить описок рабочих, имеющих 4 разряд, рассортированный по возрастанию табельных номеров.
Задан массив К, представляющий результаты сдачи вступительных экзаменов, со следующей структурой: шифр абитуриента, средний балл по аттестату, 1-я оценка, 2-я оценка, 3-я оценка, 4-я оценка. Рассортировать массив по убыванию общего балла.
Массив К сведений об абитуриентах, сдавших вступительные экзамены, имеет структуру: шифр абитуриента, общий балл по экзаменам, признак наличия стажа работы. Составить список абитуриентов, имеющих стаж, в порядке убывания их балла.
Массив Р сведений о сдаче сессии учебной группой имеет следующую структуру: шифр студента, количество положительных оценок, количество неудовлетворительных оценок, сумма баллов по всем экзаменам. Определить процент успеваемости в группе и упорядочить список группы в соответствии с результатами сессии.
3адан массив С - план поставок продукции, структура массива: шифр потребителя, шифр изделия, дата поставки, количество к поставке. Определить количество продукции, которое должно быть поставлено в заданный день. Массив шифров такой продукции рассортировать по возрастанию шифра потребителя.
К - массив данных о студентах, принявших участие в соревнованиях, имеет следующую структуру: шифр студента: год поступления, специальность, порядковый номер, количество набранных очков. Рассортировать массив по годам поступления, выяснить, сколько студентов определенной специальности участвовало в соревнованиях, и подсчитать сумму очков, набранных студентами этой специальности.
Массив Т-план отгрузки продукции, имеет следующую структуру: шифр потребителя, шифр изделия, вид транспорта, количество, дата отгрузки. Определить сколько продукции будет перевезено железнодорожным транспортом за плановый период. Рассортировать список потребителей по возрастанию их шифров.
Задан массив Н сведений о сдаче экзаменов студентами некоторой специальности университета. Массив имеет следующую структуру: шифр группы: год поступления, количество отличных оценок, количество хороших оценок, количество удовлетворительных оценок, количество неудовлетворительных оценок. Определить процент успеваемости по каждой группе, составить список групп, имеющих 100-процентную успеваемость, рассортировав группы по годам поступления.
