- •Информатика. Алгоритмизация
- •Алматы 2009
- •1 Лабораторная работа 1. Создание линейного алгоритма
- •1.1 Составление линейного алгоритма и программы
- •1.2 Варианты заданий и контрольные вопросы
- •Контрольные вопросы
- •2 Лабораторная работа 2. Разветвленный алгоритм. Повторения
- •2.1 Создание разветвленного алгоритма и программы
- •2.2 Варианты заданий и контрольные вопросы
- •Контрольные вопросы
- •3 Лабораторная работа 3. Алгоритм с оператором выбора
- •3.1 Создание алгоритма с оператором выбора
- •3.2 Задания и контрольные вопросы
- •Контрольные вопросы
- •4 Лабораторная работа 4. Циклические алгоритмы
- •4.1 Создание циклических алгоритмов и программ
- •4.2 Задания и контрольные вопросы
- •5 Лабораторная работа 5. Применение циклических алгоритмов
- •5.1 Применение циклов
- •5.2 Задания и контрольные вопросы
- •6 Лабораторная работа 6. Подпрограмма – функция
- •6.1 Создание подпрограмм - функций
- •6.2 Задания и контрольные вопросы
- •7 Лабораторная работа 7. Символьная и строковая информации
- •7.1 Обработка символов
- •7.2 Варианты заданий и контрольные задания
- •Приложение a Элементы блок – схем и клавиатура
- •Клавиатура
- •Приложение б Структура программы и встроенные функции
- •Приложение в Основные элементы языка Turbo Pascal
- •Часто встречающиеся ошибки в программах
- •Список литературы
- •Содержание
- •Информатика. Алгоритмизация
5.2 Задания и контрольные вопросы
Должны быть выведены все значения Х и Y, определить при каких значениях Х наблюдается Max и Min и их значения.
Т а б л и ц а 5.1 – Варианты к заданию
№ |
Функция |
Интервал [a, b] |
Шаг h |
Вычислить и вывести на печать |
1 |
Y=CosX+0,7 |
[-1, 4] |
0,5 |
Разности Max- Min, Xmax-Xmin |
2 |
Y=CosX+X/10 |
[-1, 1] |
0,2 |
Max, сумму положительных Y |
3 |
Y=SinX+X2/30 |
[0, 2] |
0,2 |
Max, сумму положительных Y |
Продолжение таблицы 5.1
4 |
Y=SinX-X2/15 |
[3, 5] |
0,2 |
Min, сумму отрицательных Y |
5 |
Y=Cos2X-0.3X |
[-1, 1] |
0,2 |
Max, cреднее значение Y |
6 |
Y=SinX-X2/15 |
[4, 6] |
0,2 |
Min, сумму отрицательных Y |
7 |
Y=CosX+0,3Х |
[-1, 5] |
0,5 |
Разности Max- Min, Xmax-Xmin |
8 |
Y=CosX-X2/15 |
[-1, 1] |
0,2 |
Max, cреднее значение Y |
9 |
Y=SinX+0.7 |
[1, 3] |
0,2 |
Max, сумму положительных Y |
10 |
Y=CosX-0,3X |
[1, 4] |
0,5 |
Разности Max- Min, Xmax-Xmin |
11 |
Y=CosX+X2/10 |
[1, 5] |
0.5 |
Min, сумму отрицательных Y |
12 |
Y=cosX+0,7 |
[2, 4] |
0,2 |
Min, сумму отрицательных Y |
13 |
Y=SinX-X2/15 |
[0, 6] |
0,5 |
Разности Max- Min, Xmax-Xmin |
14 |
Y=CosX+0,3Х |
[2, 4] |
0,2 |
Min, сумму отрицательных Y |
15 |
Y=CosX+0,7 |
[-1, 5] |
0,5 |
Max, сумму отрицательных Y |
16 |
Y=CosX-0,3X |
[-1, 1] |
0,2 |
Max, сумму положительных Y |
17 |
Y=SinX+0,7 |
[3, 5] |
0.2 |
Min, сумму отрицательных Y |
18 |
Y=CosX-X2/15 |
[-1, 4] |
0,5 |
Разности Max- Min, Xmax-Xmin |
19 |
Y=CosX+X2/10 |
[1, 4] |
0.5 |
Разности Max- Min, Xmax-Xmin |
20 |
Y=Cos2X+0,3X |
[3, 5] |
0.2 |
Max, сумму положительных Y |
21 |
Y=SinX+X2/30 |
[1, 6] |
0.5 |
Разность Max- Min |
22 |
Y=Cos2X-0.3X |
[1, 3] |
0,2 |
Min, сумму отрицательных Y |
Контрольные вопросы.
1. Что называется циклом?
2. К какому типу должен быть отнесен счетчик цикла For, его диапазон?
3. Какие виды циклов существуют в Pascal?
4. Как вычисляются математические функции?
5. Как определяется четность и нечетность элементов?
6. Как осуществляется накопление суммы (интеграла)?
6 Лабораторная работа 6. Подпрограмма – функция
Цель работы – Научиться применению подпрограммы - функции при математических расчетах.
6.1 Создание подпрограмм - функций
При программировании часто возникает необходимость повторять одну и ту же последовательность операторов в различных частях программы при разных параметрах. Чтобы многократно не переписывать эту последовательность, удобно в дополнение к основной программе, использовать подпрограммы: процедуры и функции. Подпрограмма вызывается на выполнение из основной программы по имени. В подпрограмме - функции выходной результат один, а подпрограмме - процедуре возможно несколько выходных результатов, которые могут использоваться в главной программе. Подпрограммы пишутся после заголовка Program главной программы и до описательной части или до начала исполнительной части (до слова begin) основной программы.
Подпрограмма имеет ту же структуру, что и основная программа: заголовок, описательную часть, исполнительную часть.
Заголовок подпрограммы - функции имеет вид:
Function имя функции (список формальных параметров): тип функции;
Пример заголовка функции: Function Max ( i: integer; x, у: real): real;
Формальные параметры функции могут быть только входными данными, а выходным параметром является само имя функции, поэтому в заголовке необходимо указать тип функции (integer, real). В описательной части подпрограммы определяются типы переменных, не описанных в заголовке функции, обычным способом. Подпрограмма заканчивается оператором end;.
Созданную функцию, используют в главной программе как обыкновенную функцию в математических формулах, подставляя вместо формальных параметров реальные параметры.
Пример записи Y:= Tg(x);.
Переменные, описанные в подпрограмме после заголовка в разделе Var, являются локальными, то есть существующими только внутри функции. Они являются недоступными для других подпрограмм и для главной программы. Локальные переменные дают возможность не заботиться о том, чтобы переменные разных подпрограмм и главной программы имели не совпадающие имена. Поэтому, один раз написанную подпрограмму можно использовать в разных программах, просто копируя ее текст.
Переменные, описанные в главной программе, могут быть глобальными, если они описаны после заголовка программы до подпрограмм, или локальными, если они описанными ниже всех подпрограмм, перед началом исполнительной части (перед begin) в главной программе.
Внимание! Глобальных переменных, то есть переменных доступных всем подпрограммам следует избегать, поскольку такие программы, как правило, не работоспособны.
6.1.1 Пример создания простейшей функции.
Program Function_kub; {Заголовок основной программы}
{Глобальные переменные отсутствуют}
Function Kub(x: real): real; {Начало функции с именем Kub}
var Y: real; {Локальные переменные для функции}
begin
Y:=x*x*x; {Вычислительная часть функции}
kub:=y; {Имени функции обязательно даем значение}
end; {Конец функции}
{glavnaya programma}
var X,Y: real; {Локальные переменные главной программы}
begin
X:=4;
y:=Kub(x); {Записываем созданную функцию в выражение}
Writeln (' x=', X:4:2,' X^3=', y:6:2);
end.
Структуру аналогичную приведенной, имеют функции любой сложности.