- •Департамент образования и науки
- •1. Этапы решения задач на эвм. Алгоритмизация. Блок-схемы.
- •2. Назначение системы программирования.
- •3.Связь функция - клавиатура в интегрированной среде Turbo Pascal
- •4. Команды экранного редактора
- •4.1 Команды перемещения курсора
- •4.2 Команды вставки/удаления
- •4.3 Команды работы с блоками
- •5. Технология компиляции
- •6. Технология отладки программы
- •7. Программирование линейных алгоритмов
- •Задание 1
- •8. Программирование разветвляющихся вычислительных процессов
- •Задание 2
- •9. Программирование циклов с параметром
- •Задание 3
- •10. Программирование циклов с условием
- •Задание 4
- •11. Работа с векторами
- •Задание 5
- •12. Работа с матрицами
- •Задание 6
- •13. Обработка символьных строк
- •Задание 7
- •14. Записи. Файлы.
- •Задание 8
- •15. Процедуры
- •Задание 9
- •16. Функции
- •Задание 10
16. Функции
Функция отличается от процедуры тем, что результат ее работы возвращается в виде значения этой функции и, следовательно, вызов функции может использоваться наряду с другими операндами в выражениях.
Рекурсия - такой способ организации вычислительного процесса, при котором подпрограмма в ходе выполнения составляющих ее операторов обращается сама к себе.
ПРИМЕР:Даны действительные числа a,b,c. Вычислить
ОСНОВНОЙ А Л Г О Р И Т М
алгВыражение
аргa,b,c: вещ
резZ: вещ
нач
вводa,b,c
выводZ
кон
ВСПОМОГАТЕЛЬНЫЙ А Л Г О Р И Т М
алгmax
аргх,у: вещ
резmax: вещ
нач
еслиx > y
тоmax:=х
иначеmax:=y
все
кон
П Р О Г Р А М М А
program vur;
var z,a,b,c: real;
function max (x.y:real):real;
begin
if x > y
then max:=x
else max:=y
end;
{головная программа}
begin
writeln (' ввести a,b,c');
readln (a,b,c);
Z:=(max(a,b+c) + max(a+b,c*c))/(1+ max(a+b*c,12));
writeln ('Z=',Z)
end.
Задание 10
ЦЕЛЬ РАБОТЫ:
Получить практические навыки написания подпрограмм в виде функций.
ПОРЯДОК РАБОТЫ
Составить алгоритм и программу с использованием подпрограммы-функции (табл.16).
СОДЕРЖАНИЕ ОТЧЕТА
Отчет должен содержать условие, алгоритм, программу, исходные данные для контрольного примера, результаты.
ТАБЛИЦА 16
НОМЕР |
УСЛОВИЕ |
1 |
Вычислить число сочетаний из n по m(n>m) по формуле: |
2 |
Вычислить: |
3 |
Вычислить: |
4 |
Найти все трехзначные числа, равные сумме факториалов своих цифр. |
5 |
Два треугольника заданы координатами своих вершин. Вычислить площади треугольников с помощью формулы Герона и определить, какой треугольник имеет большую площадь. |
6 |
Решить уравнение ax+b=0, где
Значения k,l,m вводятся. |
7 |
Даны действительные числа s,t. Вычислить: , где |
8 |
Вычислить число сочетаний с повторениями по формуле: |
9 |
Найти наибольший общий делитель целых положительных чисел a,b,c. |
10 |
Даны действительные числа х,у. Вычислить: , где |
ЛИТЕРАТУРА
1. Епанешников А.М., Епанешников В.А. Программирование в среде TurboPascal7.0. М. "Диалог-Мифи",1995.
2. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя.М. Издательство "Компьютер", 1993.
3. Поддубная Л.М., Шаньгин В.Ф. Мне нравится Паскаль. М., Радио и связь, 1992.
4. Круподеров Р.И., Круподерова Е.П. Сборник задач с решениями
по информатике. Мурманск, МГПИ, 1992.
5. Хершель Р. Turbo Pascal 4.0/5.0. Вологда, МП "МИК", 1991.
6. Шаньгин В.Ф., Поддубная Л.М., Голубев-Новожилов Ю.С. Программирование на языке Паскаль. М., Высшая школа, 1988.