- •1000 Задач по программированию
- •Часть I
- •Предисловие
- •Обзор групп заданий
- •Общие замечания о формулировках заданий Числовые типы данных
- •Процедуры и функции
- •Массивы
- •Символы и строки
- •Указатели
- •Ввод и вывод данных, оператор присваивания: группа Begin
- •Целые числа: группа Integer
- •Логические выражения: группа Boolean
- •Условный оператор: группа If
- •Оператор выбора: группа Case
- •Цикл с параметром: группа For
- •Вложенные циклы
- •Цикл с условием: группа While
- •Последовательности: группа Series
- •Вложенные циклы
- •Процедуры и функции: группа Proc
- •Процедуры с числовыми параметрами
- •Функции с числовыми параметрами
- •Дополнительные задания на процедуры и функции
- •Содержание
Процедуры и функции: группа Proc
Процедуры с числовыми параметрами
Proc1. Описать процедуру PowerA3(A,B), вычисляющую третью степень числаAи возвращающую ее в переменнойB(A— входной,B— выходной параметр; оба параметра являются вещественными). С помощью этой процедуры найти третьи степени пяти данных чисел.
Proc2. Описать процедуру PowerA234(A,B,C,D), вычисляющую вторую, третью и четвертую степень числаAи возвращающую эти степени соответственно в переменныхB,CиD(A— входной,B,C,D— выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти вторую, третью и четвертую степень пяти данных чисел.
Proc3. Описать процедуруMean(X,Y,AMean,GMean), вычисляющуюсреднее арифметическоеAMean = (X+Y)/2 исреднее геометрическоеGMean = = двух положительных чиселXиY(XиY— входные,AMeanиGMean— выходные параметры вещественного типа). С помощью этой процедуры найти среднее арифметическое и среднее геометрическое для пар (A,B), (A,C), (A,D), если даныA,B,C,D.
Proc4. Описать процедуру TrianglePS(a,P,S), вычисляющую по сторонеaравностороннего треугольника его периметрP= 3·aи площадьS= (a— входной,PиS— выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти периметры и площади трех равносторонних треугольников с данными сторонами.
Proc5. Описать процедуру RectPS(x1,y1,x2,y2,P,S), вычисляющую периметрPи площадьSпрямоугольника со сторонами, параллельными осям координат, по координатам (x1,y1), (x2,y2) его противоположных вершин (x1,y1,x2,y2— входные,PиS— выходные параметры вещественного типа). С помощью этой процедуры найти периметры и площади трех прямоугольников с данными противоположными вершинами.
Proc6. Описать процедуру DigitCountSum(K,C,S), находящую количествоCцифр целого положительного числаK, а также их суммуS(K— входной,CиS— выходные параметры целого типа). С помощью этой процедуры найти количество и сумму цифр для каждого из пяти данных целых чисел.
Proc7. Описать процедуру InvertDigits(K), меняющую порядок следования цифр целого положительного числаKна обратный (K— параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры поменять порядок следования цифр на обратный для каждого из пяти данных целых чисел.
Proc8. Описать процедуру AddRightDigit(D,K), добавляющую к целому положительному числуKсправа цифруD(D— входной параметр целого типа, лежащий в диапазоне 0–9,K— параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры последовательно добавить к данному числуKсправа данные цифрыD1иD2, выводя результат каждого добавления.
Proc9. Описать процедуру AddLeftDigit(D,K), добавляющую к целому положительному числуKслева цифруD(D— входной параметр целого типа, лежащий в диапазоне 1–9,K— параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры последовательно добавить к данному числуKслева данные цифрыD1иD2, выводя результат каждого добавления.
Proc10. Описать процедуру Swap(X,Y), меняющую содержимое переменныхXиY(XиY— вещественные параметры, являющиеся одновременно входными и выходными). С ее помощью для данных переменныхA,B,C,Dпоследовательно поменять содержимое следующих пар:AиB,CиD,BиCи вывести новые значенияA,B,C,D.
Proc11. Описать процедуру Minmax(X,Y), записывающую в переменнуюXминимальное из значенийXиY, а в переменнуюY— максимальное из этих значений (XиY— вещественные параметры, являющиеся одновременно входными и выходными). Используя четыре вызова этой процедуры, найти минимальное и максимальное из данных чиселA,B,C,D.
Proc12. Описать процедуру SortInc3(A,B,C), меняющую содержимое переменныхA,B,Cтаким образом, чтобы их значения оказались упорядоченными по возрастанию (A,B,C— вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по возрастанию два данных набора из трех чисел: (A1,B1,C1) и (A2,B2,C2).
Proc13. Описать процедуру SortDec3(A,B,C), меняющую содержимое переменныхA,B,Cтаким образом, чтобы их значения оказались упорядоченными по убыванию (A,B,C— вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по убыванию два данных набора из трех чисел: (A1,B1,C1) и (A2,B2,C2).
Proc14. Описать процедуру ShiftRight3(A,B,C), выполняющуюправый циклический сдвиг: значениеAпереходит вB, значениеB— вC, значениеC— вA(A,B,C— вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры выполнить правый циклический сдвиг для двух данных наборов из трех чисел: (A1,B1,C1) и (A2,B2,C2).
Proc15. Описать процедуру ShiftLeft3(A,B,C), выполняющуюлевый циклический сдвиг: значениеAпереходит вC, значениеC— вB, значениеB— вA(A,B,C— вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры выполнить левый циклический сдвиг для двух данных наборов из трех чисел: (A1,B1,C1) и (A2,B2,C2).