Читайте также:
|
|
Подпрограммы
Перед выполнением данной работы необходимо изучить правила описания процедур и функций, механизма передачи параметров, ознакомиться с понятиями локальных и глобальных переменных, формальных и фактических параметров.
Пример: Даны натуральное число n, целые числа ,…, . Найти числа, являющиеся полными квадратами.
Uses CRT;
Var
a:array [1..100] of integer;
i,n:integer;
d:char;
Procedure Pr(a:real);
Var
i:integer;
s:real;
Begin
Writeln;
For i:=1 to Trunc(a) do
begin
s:=a/i;
if i=s then
Write(' ', a:3:0);
end;
End;
BEGIN
Clrscr;
Writeln('Vvedite kol-vo el-tov:');
Read(n);
Writeln('Vvedite elements');
For i:=1 to n do
Read(a[i]);
For i:=1 to n do
Pr(a[i]);
d:=ReadKey;
END.
Задания:
1. Написать подпрограмму, которая выводит на печать элементы одномерного массива в порядке возрастания их значений. В головной программе вызвать эту подпрограмму для различных массивов.
2. Задана матрица А размерности тм. Получить матрицу В = А15.
3. Написать подпрограмму для вычисления суммы с точностью до 0,001, где х передать в качестве параметра. Совместно с бригадой, выполняющей задание № 4, разработать головную программу, реализующую по выбору вызов той или иной подпрограммы (см. задание 4).
4. Написать подпрограмму для вычисления суммы с точностью до 0,001, где х передать в качестве параметра. Совместно с бригадой, выполняющей задание № 3, написать головную программу с вызовом по выбору пользователя одной из реализованных подпрограмм (см. задание 3).
5. Написать подпрограмму для вычисления суммы , когда ввод функции f(x) заранее не известен. Для этого имя функции f(x) передать подпрограмме в виде параметра процедурного типа. В головной программе вызвать подпрограмму для следующих функций f(x): ; ; , где коэффициенты определить в самой функции посредством типизированных констант.
6. Задано множество D из п целых чисел и его подмножество D1. При этом п заранее не известно. Составить подпрограмму для вычисления функции ; по заданному значению S. Здесь - мощность (число элементов) множества D. Запись означает, что сумма берется лишь по тем х, которые принадлежат D. Вид функции p(x,S) заранее не известен. Функция Q (x) равна единице при х ÎD1 и нулю в противном случае. Совместно с бригадой, выполняющей задание № 7, составить головную программу, в которой следует обратиться к данной подпрограмме несколько раз для различных значений S и функции p(x,S) = (x-S)2, a также - к подпрограмме из задания N 7.
7. Задано множество D из n целых чисел и его подмножество D1. При этом п заранее не известно. Составить подпрограмму для вычисления функции по заданному значению S. Здесь использованы те же обозначения, что и в задании N 6. Вид функции р(х, s) также неизвестен. Совместно с бригадой, выполняющей задание № 6, разработать головную программу с вызовом реализованных подпрограмм (см. задание № 6). В качестве функции р(х, s) выбрать [x/S]2.
8. Даны натуральное п и целочисленная матрица пхп. Получить b1, b2,…,bn, где b j - наименьшее из значений элементов аi1, аi2,..., аin,; i = 1, 2,...,n.
9. Составить подпрограмму, которая из произвольной строки, содержащей некоторый текст, выделяет все слова и печатает их в алфавитном порядке (по первой букве). Исходную строку ввести в головной программе.
10. Составить подпрограмму, которая в произвольной строке символов находит наиболее часто повторяющийся символ. В головной программе вызвать эту подпрограмму для различных значений строк.
11. Составить подпрограмму, которая из произвольной строки символов удаляет все повторно встречающиеся символы. Исходную строку описать в головной программе как типизированную константу.
12. Составить подпрограмму, которая печатает все натуральные числа, меньшие N, являющиеся палиндромом. Число называется палиндромом, если оно читается одинаково как с начала, так и с конца (например, 383, 22). Число N передать подпрограмме как параметр.
13. Дана целочисленная матрица размерности n x n. Найти номера строк, все элементы которых делятся на 3 без остатка.
14. Составить подпрограмму для решения следующей задачи. Задан одномерный массив М, состоящий из п элементов, каждый из которых представляет собой запись вида:
struct
{
int a, b;
} ZAP;
Найти сумму тех значений В, которым соответствует А = -Amaх, где Аmах - наибольшее среди всех значений А данного массива (предполагается, что массив М имеет несколько значений Аmaх). В головной программе описать М как типизированную константу.
15. Составить подпрограмму для решения следующей задачи. Даны два одномерных массива Ml и М2, состоящие соответственно из N1 и N2 элементов (N 1 £ N2). Массив М1 содержит сведения о том, сколько изделий и каких типов хранится на складе. Элементы Ml описываются записью вида:
struct
{
int np, kol;
} zap1;
где np - наименование продукции (порядковый номер); kol - количество изделий данного наименования. Массив М2 содержит вспомогательные сведения о последних корректировках количества изделий по отдельным видам продукции. Элементы М2 описываются записью вида:
struct
{
int np, kor;
} zap2;
где np то же, что и в ZAP1; kor показывает, насколько уменьшилось (kor<0) или увеличилось (kor>0) количество изделий вида NP. Требуется обновить массив Ml на основе сведений массива М2. В головной программе вызвать эту подпрограмму для нескольких массивов М2.
16. В пункте получения багажа аэропорта имеется общий список пассажиров и их багажа. Каждая запись этого списка содержит информацию о фамилии пассажира и его багаже (количество мест, их вес). Составить подпрограмму для печати сведений о пассажирах, багаж которых состоит из одного места весом не менее 25 кг. Совместно с бригадой, выполняющей задание № 17, составить головную программу, в которой вызвать данную или другую подпрограмму (см. задание N 17).
17. По условиям задания N 16 составить подпрограмму для печати сведений о пассажире, багаж которого превышает багаж всех других пассажиров и по числу мест, и по их весу. Совместно с бригадой, выполняющей задание N 16, составить головную программу, в которой поочередно вызвать данные подпрограммы.
18.Составить подпрограмму, которая в произвольной строке символов находит наиболее часто повторяющееся сочетание (из двух) символов. В головной программе вызвать эту подпрограмму для различных значений строк.
19. Составить подпрограмму, которая в массиве целых чисел определяет полные квадраты.
Контрольные вопросы
1. Чем отличаются формальные и фактические параметры?
2. Как объявляются локальные и глобальные переменные?
Дата добавления: 2015-07-26; просмотров: 123 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Н А К А З | | | Ноября, суббота |