comp2009
.pdf4. Задания к практикуму по программированию "
чие социального страхования (да/нет), продолжительность ежегодного оплачиваемого отпуска. Вывести список рабочих мест в соответствии с требованиями клиента.
22.В технической службе аэропорта имеется справочник, содержащий записи следующей структуры: тип самолета, год выпуска, расход горючего на 1000 км. Для определения потребности в горючем техническая служба запрашивает расписание полетов. Каждая запись расписания содержит следующую информацию: номер рейса, пункт назначения, дальность полета. Вывести суммарное количество горючего, необходимое для обеспечения полетов на следующие сутки.
23.Поля шахматной доски характеризуются записью
Type Pole=record
Ver:(a,b,c,d,e,f,g,h); {вертикальные координаты}
Hor:1..8; {горизонтальные координаты} end;
Вывести шахматную доску, пометив крестиками все поля, которые «бьет» ферзь, стоящий на поле с координатами Ver$$$$$ и Hor$$$$$, и ноликами — остальные поля.
24. Поля шахматной доски характеризуются записью (см. задание 23).
Var Figura:Pole;
Вывести сообщение, может ли конь за один ход перейти с поля Figurai |
|
на поле Figuraj. |
|
Type |
|
Karta=record |
|
m: (piki,trefi,bubni,chervi); |
{масть} |
d:(shest,sem,vosem,devjat,desjat,valet,dama,korol,tuz); {достоинство} end;
Var k1,k2:Karta;
Вывести сообщение, «бьет» ли карта k1 карту k2, с учетом того что масть mi является козырной.
25. Для участия в конкурсе на замещение вакантной должности сотрудника фирмы желающие подают следующую информацию: Ф.И.О., год рождения, образование (среднее, специальное, высшее), знание иностранных языков (английский, немецкий, французский, владею сво-
221
" Компьютерный практикум по информатике и программированию
бодно, читаю и перевожу со словарем), владение компьютером (да/нет), стаж работы, наличие рекомендаций. Вывести список претендентов в соответствии с требованиями руководства фирмы.
26.При постановке на учет в ГАИ автолюбители указывают следующие данные: марка автомобиля, год выпуска, номер двигателя, номер кузова, цвет, номерной знак, Ф.И.О и адрес владельца. Вывести список автомобилей, проходящих техосмотр в текущем году, сгруппированных по маркам автомобилей. Учесть, что если текущий год четный, техосмотр проходят автомобили с четными номерами двигателей, иначе — с нечетными номерами.
27.Для участия в конкурсе исполнителей необходимо заполнить следующую анкету: Ф.И.О., год рождения, название страны, класс музыкального инструмента (гитара, фортепиано, скрипка, виолончель). Вывести список самых молодых лауреатов конкурса по классам инструментов в порядке занятых мест.
28.Список группы студентов содержит следующую информацию: Ф.И.О., рост и вес. Вывести Ф.И.О. студентов, рост и вес которых чаще всего встречаются в списке.
29.Список группы студентов содержит следующую информацию: Ф.И.О., рост и вес. Вывести Ф.И.О. студентов, рост и вес которых являются в списке уникальными.
30.В ведомости «Рейтинг студентов» указываются: фамилия, № группы, средний балл. Напечатать фамилию студента, имеющей самый высокий рейтинг.
4.4.6. Подпрограммы пользователя
Вариант А . Процедуры
1.Упоpядочить элементы массивов А и В в поpядке возpастания. Массив передавать в качестве параметра-переменной процедуре Sort.
2.Используя подпpогpамму с параметром типа integer вычисления фак-
тоpиала, составить пpогpамму для вычисления |
N ! |
, N > M. |
|
|
|
||
C = M !(N − M)! |
3. Составить пpогpамму для нахождения суммы элементов каждого из тpех массивов, введенных с клавиатуpы, опpеделив пpоцедуpу, выполняющую это действие, и передавая массив в качестве параметра.
222
|
|
|
|
|
|
|
4. Задания к практикуму по программированию " |
||||
|
4. |
Составить |
пpогpамму |
вычисления значения функции Z = |
|||||||
= |
12 |
|
|
11 |
|
10 |
|
|
|
|
|
∏ X |
I |
+ ∏Y |
/ ∏V , где X |
, Y |
, V |
— элементы массивов, состоящих из |
|||||
|
I =1 |
|
I |
|
I |
i |
|
i |
i |
|
|
|
|
|
I =1 |
|
I =1 |
|
|
|
|
|
15 элементов. Вычисления пpоизведения осуществить в подпpогpамме.
Вкачестве параметров процедуре Mult передается массив и количество элементов, для которых нужно найти произведение.
5.Составить пpогpамму, позволяющую пpеобpазовать массивы А и
Вследующим обpазом: из каждого элемента массива вычитается сpеднее значение всех элементов массива. Массивы передать процедуре в качестве параметров.
6.Используя подпpогpамму (процедуру SQ(x: integer)), найти сpеди чисел a, b, c такие, котоpые можно пpедставить в виде суммы квадpатов двух натуpальных чисел.
7.Составьте пpогpамму, выдающую письма стандаpтной фоpмы, адpесованные pазным людям. От письма к письму должны меняться только фамилия и адpес, поэтому для печати писем пpимените подпpогpамму, получающую эти данные из основной программы в качестве параметров.
8.Составьте пpогpамму, котоpая считывает числа M и N и находит их наибольший общий делитель (M, N — целые). Используйте процеду-
ру NOD(Z:integer).
9.Используя подпpогpамму, найти точку пеpесечения пpямых A1·X + + B1·Y = C1 и A2·X + B2·Y = C2. Если они паpаллельные, выдавать об этом сообщение.
10. Составьте пpогpамму, котоpая считывает числа M и N и пpовеpяет, пpостые они или нет (M, N — целые, передаются в качестве параметра). Используйте процедуру Prost(Y : integer).
11. Составить пpогpамму, позволяющую пpеобpазовать массивы А и
Вследующим обpазом: из каждого элемента массива вычитается максимальный элемент соответствующего массива.
12. Используя подпpогpамму, тpанспониpовать матpицы A, B pазмеpа M×N. Матрица передается процедуре в качестве параметра.
13. Напишите процедуру-заставку к программе вычисления математических функций в виде «Программа вычисления математических функций. Автор: Смирнов А.П.». Фамилия автора должна передаваться процедуре в качестве параметра.
223
"Компьютерный практикум по информатике и программированию
14.Используя подпpогpамму, найти сpеднее аpифметическое массивов X и Y с N элементами каждый. Массив передается процедуре в качестве параметра.
15.Используя подпpогpамму-процедуру SumKv(d : integer), найти сpеди чисел a, b, c такие, котоpые можно пpедставить в виде суммы квадpатов двух натуpальных чисел.
16.Составить пpогpамму, позволяющую пpеобpазовать массивы А и
Вследующим обpазом: каждый элемент массива возводится в квадpат. Массив передается процедуре как параметр-переменная.
17.Используя подпpогpамму вычисления фактоpиала (процедуру
fakt(N:integer)), составить пpогpамму для вычисления |
(N −1)! |
|
|
|
|
C = M !(N − M)!. |
18.Используя подпpогpамму-процедуру delit(X: integer), напечатать делители числа M, вводимого с клавиатуры. Реализовать для произвольного количества чисел. Признак конца ввода — число 0.
19.Составить пpогpамму, позволяющую пpеобpазовать массивы А и
Вследующим обpазом: из каждого элемента массива вычитается минимальный элемент соответствующего массива. Массив передается процедуре в качестве параметра-переменной.
20.Дан массив целых чисел. Отсортировать числа в порядке возрастания. Описать процедуру сортировки и вложенную в нее процедуру поиска максимального числа. Массив передать в качестве параметрапеременной.
21.Используя подпpогpамму-процедуру Skub(X : integer), найти сpеди чисел 1, 2, ..., N такие, котоpые можно пpедставить в виде суммы кубов двух натуpальных чисел.
22.Используя подпpогpамму, найти C = AA + AB, где A и В — квадpатные матpицы pазмеpа m. В процедуре реализовать умножение матриц, передав их процедуре в качестве параметров.
23.Используя подпpогpамму, найти общие делители для паp целых чисел, вводимых с клавиатуры. Пара чисел передается процедуре в качестве параметров. Реализовать для произвольного количества таких пар чисел.
24.Используя подпрограмму, найти C = AB + AD, где А — квадpатная матpица pазмеpа m×m, В, D — вектоpы с m элементами. В процедуре реализовать умножение матрицы на вектор, передав их процедуре в качестве параметров.
224
4.Задания к практикуму по программированию "
25.Составить программу подсчета числа всех натуральных чисел, меньших M, квадрат суммы цифр которых равен X. Числа M и X передаются подпрограмме в качестве параметров. В основной программе задается 5 пар таких чисел.
26.Написать процедуру-заставку, печатающую титульный лист курсовой работы студента. В качестве параметров передаются фамилии и инициалы студента и преподавателя, название дисциплины.
27.Составить пpогpамму вычисления значения функции
Z = ∑ X + ∑Y |
/ ∑V , |
||
|
11 |
11 |
11 |
|
i |
i |
i |
|
i=1 |
i=1 |
i=1 |
где Xi, Yi, Vi — элементы массивов. Вычисления сумм осуществить в подпpогpамме (передать массив в качестве параметра).
28. Используя подпpогpаммы, составить пpогpамму для вычисления
функции z = (x1 + y1)/(x1·y1) + x2·y2 где x1, x2 — коpни уpавнения x2 – 4·x –
– 1 = 0; y1, y2 — коpни уpавнения 2·y2 + a·y – a2 = 0.
29. Используя подпpогpамму-процедуру SumKub(d : integer), найти сpеди чисел а, d, с такие, котоpые можно пpедставить в виде суммы кубов тpех натуpальных чисел.
30. Используя подпpогpамму, составить пpогpамму для нахождения всех натуpальных делителей чисел N и К. Натуральное число передается процедуре в качестве параметра.
Вариант В . Функции
1. Переменная х изменяется в интервале от –10 до 10 с шагом 1. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 2)! |
при |
3 ≤ x ≤ 6; |
|
|
|
при |
6 < x ≤ 10; |
y = (x − 4)! |
|||
|
4 |
в остальных случаях. |
|
x |
|
2. Переменная х изменяется в интервале от –5 до 8 с шагом 1. Оформив вычисление факториала в виде функции, выдать на экран значения функции у, которая вычисляется по правилу:
(x + 5)! |
при |
− 2 ≤ x ≤ 4; |
|
|
|
при |
5 < x ≤ 8; |
y = (x − 3)! |
|||
|
2 |
в остальных случаях. |
|
x |
|
225
"Компьютерный практикум по информатике и программированию
3.Переменная х изменяется в интервале от –15 до 12 с шагом 1. Оформив вычисление факториала в виде функции, выдать на экран минимальное значение функции у, которая вычисляется по правилу:
(x + 9)! |
при |
− 8 ≤ x ≤ 3; |
|
при |
8 < x ≤ 12; |
y = (x − 6)! |
||
|
в остальных случаях. |
|
tg(x) |
4. Переменная х изменяется в интервале от –5 до 20 с шагом 1. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 7)! |
при |
8 ≤ x ≤ 10; |
|
при |
12 < x ≤ 20; |
y = (x −11)! |
||
|
в остальных случаях. |
|
x + k |
5. Переменная х изменяется в интервале от –10 до 10 с шагом 1. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 2)! |
при |
3 ≤ x ≤ 6; |
||
|
|
|
при |
6 < x ≤ 10; |
y = (x − 4)! |
||||
|
x |
4 |
в остальных случаях. |
|
|
|
6.Даны основания ai и высоты hi десяти равнобедренных треугольников (значения ввести в диалоговом режиме с клавиатуры). Оформив вычисление боковой стороны в виде функции, определить треугольник
снаименьшей боковой стороной и выдать сообщение на экран (длину боковой стороны и № треугольника).
7.Даны основания ai и высоты hi десяти равнобедренных треугольников (значения ввести в диалоговом режиме с клавиатуры). Оформив вычисление площади треугольника в виде функции, выдать на экран наибольшую площадь и № этого треугольника.
8.Даны основания ai и высоты hi десяти равнобедренных треугольников (значения ввести в диалоговом режиме с клавиатуры). Оформив вычисление периметра треугольника в виде функции, выдать на экран наибольший периметр и № этого треугольника.
9.Даны радиусы Ri десяти окружностей (значения ввести в диалоговом режиме с клавиатуры). Оформив вычисление площади окружнос-
226
4. Задания к практикуму по программированию "
ти в виде функции, выдать на экран сообщение о наибольшей площади окружности и № этой окружности.
10. Переменная х изменяется в интервале от –14 до 11 с шагом 1. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 2)! |
при |
3 ≤ x ≤ 6; |
||
|
|
|
при |
7 < x ≤ 10; |
y = (x − 4)! |
||||
|
x |
4 |
в остальных случаях. |
|
|
|
11. Переменная х изменяется в интервале от –5 до 10 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран значения функции у, которая вычисляется по правилу:
(x + 5)! |
при |
− 2 ≤ x ≤ 4; |
||
|
(x − 3)! |
при |
6 < x ≤ 9; |
|
y = |
||||
|
x |
2 |
в остальных случаях. |
|
|
|
12. Переменная х изменяется в интервале от –15 до 12 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран минимальное значение функции у, которая вычисляется по правилу:
(x + 9)! |
при |
− 8 ≤ x ≤ 4; |
|
|
|
при |
8 < x ≤ 12; |
y = (x − 6)! |
|||
|
tg(x) |
в остальных случаях. |
|
|
13. Переменная х изменяется в интервале от –5 до 20 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран минимальное значение функции у, которая вычисляется по правилу:
(x − 7)! |
при |
8 ≤ x ≤ 11; |
|
|
|
при |
12 < x ≤ 19; |
y = (x −11)! |
|||
|
x + k |
в остальных случаях. |
|
|
14. Переменная х изменяется в интервале от –10 до 12 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 2)! |
при |
3 ≤ x ≤ 6; |
||
|
|
|
при |
7 < x ≤ 10; |
y = (x − 4)! |
||||
|
x |
4 |
в остальных случаях. |
|
|
|
227
"Компьютерный практикум по информатике и программированию
15.Даны основания ai и высоты hi десяти равнобедренных треугольников (значения ввести в диалоговом режиме с клавиатуры). Оформив вычисление боковой стороны в виде функции, определить треугольник с наибольшей боковой стороной и выдать сообщение на экран (длину боковой стороны и № треугольника).
16.Даны основания ai и высоты hi десяти равнобедренных треугольников (значения ввести в диалоговом режиме с клавиатуры). Оформив вычисление площади треугольника в виде функции, выдать на экран наименьшую площадь и № этого треугольника.
17.Даны основания ai и высоты hi десяти равнобедренных треугольников (значения ввести в диалоговом режиме с клавиатуры). Оформив вычисление периметра треугольника в виде функции, выдать на экран наименьший периметр и № этого треугольника.
18.Даны радиусы Ri десяти окружностей (значения ввести в диалоговом режиме с клавиатуры). Оформив вычисление площади окружности в виде функции, выдать на экран сообщение о наименьшей площади окружности и № этой окружности.
19.Переменная х изменяется в интервале от –13 до 12 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран мак-
симальное значение функции у, которая вычисляется по правилу:
(x − 2)! |
при |
3 ≤ x ≤ 6; |
||
|
|
|
при |
7 < x ≤ 10; |
y = (x − 4)! |
||||
|
x |
4 |
в остальных случаях. |
|
|
|
20. Переменная х изменяется в интервале от –7 до 15 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран значения функции у, которая вычисляется по правилу:
(x + 3)! |
при |
− 2 ≤ x ≤ 4; |
||
|
|
|
при |
6 < x ≤ 9; |
y = (x − 5)! |
||||
|
x |
2 |
в остальных случаях. |
|
|
|
21. Переменная х изменяется в интервале от –15 до 14 с шагом 3. Оформив вычисление факториала в виде функции, выдать на экран минимальное значение функции у, которая вычисляется по правилу:
(x + 9)! |
при |
− 8 ≤ x ≤ 4; |
|
|
|
при |
8 < x ≤ 12; |
y = (x − 6)! |
|||
|
tg(x) |
в остальных случаях. |
|
|
228
4.Задания к практикуму по программированию "
22.Переменная х изменяется в интервале от –5 до 22 с шагом 3. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 6)! |
при |
8 ≤ x ≤ 11; |
|
|
|
при |
12 < x ≤ 19; |
y = (x −10)! |
|||
|
x + k |
в остальных случаях. |
|
|
23. Переменная х изменяется в интервале от –11 до 14 с шагом 3. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 2)! |
при |
3 ≤ x ≤ 6; |
||
|
|
|
при |
7 < x ≤ 10; |
y = (x − 4)! |
||||
|
x |
3 |
в остальных случаях. |
|
|
|
24. Переменная х изменяется в интервале от 1 до 11 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 2)! |
при |
3 ≤ x ≤ 6; |
||
|
|
|
при |
7 < x ≤ 10; |
y = (x − 4)! |
||||
|
x |
2 |
в остальных случаях. |
|
|
|
25. Переменная х изменяется в интервале от –5 до 15 с шагом 3. Оформив вычисление факториала в виде функции, выдать на экран значения функции у, которая вычисляется по правилу:
(x + 3)! |
при |
− 2 ≤ x ≤ 4; |
|
|
|
при |
6 < x ≤ 9; |
y = (x − 5)! |
|||
|
5x |
в остальных случаях. |
|
|
26. Переменная х изменяется в интервале от –9 до 14 с шагом 3. Оформив вычисление факториала в виде функции, выдать на экран минимальное значение функции у, которая вычисляется по правилу:
(x + 5)! |
при |
− 4 ≤ x ≤ 4; |
|
|
|
при |
8 < x ≤ 12; |
y = (x − 6)! |
|||
|
tg(x) |
в остальных случаях. |
|
|
229
"Компьютерный практикум по информатике и программированию
27.Переменная х изменяется в интервале от –3 до 23 с шагом 3. Оформив вычисление факториала в виде функции, выдать на экран значения функции у, которая вычисляется по правилу:
(x − 6)! |
при |
8 ≤ x ≤ 11; |
|
|
|
при |
12 < x ≤ 19; |
y = (x −10)! |
|||
|
x + k |
в остальных случаях. |
|
|
28. Переменная х изменяется в интервале от –11 до 14 с шагом 3. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 2)! |
при |
2 ≤ x ≤ 6; |
|
|
|
при |
7 < x ≤ 10; |
y = (x − 4)! |
|||
|
4x |
в остальных случаях. |
|
|
29. Переменная х изменяется в интервале от –7 до 12 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран максимальное значение функции у, которая вычисляется по правилу:
(x − 3)! |
при |
3 ≤ x ≤ 6; |
||
|
|
|
при |
7 < x ≤ 10; |
y = (x − 7)! |
||||
|
x |
2 |
в остальных случаях. |
|
|
|
30. Переменная х изменяется в интервале от –2 до 16 с шагом 2. Оформив вычисление факториала в виде функции, выдать на экран значения функции у, которая вычисляется по правилу:
(x + 3)! |
при |
− 2 ≤ x ≤ 4; |
||
|
|
|
при |
6 < x ≤ 9; |
y = (x − 5)! |
||||
|
3x |
2 |
в остальных случаях. |
|
|
|
Вариант С . Функции (с обязательной передачей параметров)
1.Составить пpогpамму для пеpевода длины в метpах в длину в сантиметpах, опpеделив функцию, выполняющую это пpеобpазование, и передав длину в метрах в качестве параметра.
2.Составить пpогpамму для нахождения суммы элементов каждого из тpех массивов, введенных с клавиатуpы, опpеделив функцию, выполняющую это действие, и передавая массивы в качестве параметра.
230