Лекция 6
Процедуры и функции. Условные структуры.
Функции Function
Рассмотрим раздел FUNCTION на примере вычисления значения функции:
Реализовать формулу перехода из градусов в радианы (так как тригонометрические функции понимают лишь аргумент в радианной мере (см. ниже Примечание)) несложно, но выписывать ее придется четыре раза. С этой целью имеет смысл один раз запрограммировать ее и четыре раза вызывать. Делается это с помощью организации функции в разделе FUNCTION:
Function Имя_функции (входные параметры): тип_результата;
Label внутренние метки функции;
Const определение локальных констант;
Type определение типов;
Var описание локальных переменных функции;
Begin
основной блок функции
End;
Глобальные и локальные переменные, формальные и фактические переменные и параметры в функциях и процедурах в языке Pascal
Термин «ЛОКАЛЬНЫЙ»применимо к меткам, константам и переменным, описанным в разделе FUNCTION, означает, что эти метки,константы и переменные с этими именами могут фигурировать лишь в тексте основного блока функции. При этом следует давать именалокальным переменным, константам и даже – входным параметрам,отличающиеся от имен параметров, фигурирующих в основном блоке программы(так называемыхГЛОБАЛЬНЫХпараметров) во избежание путаницы.
Совпадение меток может привести к выдаче сообщения об ошибке «Duplicate Label Number», а локальная переменная «перекроет» свою глобальную напарницу, что очень трудно предугадать в процессе анализа программы. Приведенная структура в точности копирует в миниатюре структуру программы. Тогда текст функции перевода из градусов в радианы (назовем ее GradRad) будет выглядеть так:
Function GradRad(fi:real):real;
begin
GradRad:=fi*Pi/180;
end;
При описании и в тексте функции фигурирует не конкретное значение, а некоторый параметр ‘fi’, для которого и выписана формула. Такой параметр называется ФОРМАЛЬНЫМ. Потом, после вызова функции (например, GradRad(17)) в нее будет передано конкретное значение аргумента (17), для которого функция и будет вычислена. Такой параметр называютФАКТИЧЕСКИМ.
Для перестраховки fiописан типомreal, хотя в нашем примере значения целы. Зато именно такой текст функции годится для любой программы.
Примечание. Тригонометрические функции sin(x) иcos(x) обрабатывают аргумент, представленный в радианной, а не градусной мере. Поэтому выражениеsin(30) соответствует синусу 30 радиан, а не 30 градусов и, следовательно, не равно 0.5. Аргумент может быть пересчитан из градусной меры в радианную по формуле
Соответственно значение функции ArcTan(x) получается в радианной мере, и для его пересчета в градусы используют формулу
Пример: Вычислить значение
Program Trigonometry;
Uses crt; {стандартная библиотека}
Var{раздел описания переменных}
y:real;
FunctionGradRad(fi:real):real;{функция перевода угла из градусной меры в радианную}
Begin
GradRad:=fi*pi/180
End;
Begin
ClrScr;
y:=sin(GradRad(17))-cos(GradRad(82));
y:=y+sin(GradRad(28))/cos(GradRad(28));
Writeln(' y= ', y:6:2); {вывод на экран результата}
Repeat Until KeyPressed; {стандартная функция из библиотеки CRT, приводит
к задержке окна результатов до нажатия любой клавиши}
End.
Результат работы программы y=0.685.
- Министерство образования и науки рф
- Оглавление
- 6.Проверка адекватности модели 48
- 7.Анализ результатов моделирования 49
- Лекция 1 Предмет информатики. Основные составные части персонального компьютера. Понятие и представление информации. Принципы организации порядковых систем счисления.
- Понятие информатика
- Понятие информации
- Представление данных в пэвм
- Представление информации в компьютере
- Принципы организации порядковых систем счисления
- Позиционные и непозиционные
- Правила перехода из системы в систему Алгоритм перевода целых чисел из системы с основанием р в систему с основаниемq:
- Алгоритм перевода целого числа из десятичной системы счисления в систему счисления с произвольным основанием (р)
- Алгоритм перевода целого числа из системы счисления с произвольным основанием (р) в десятичную систему счисления
- Перевод дробных чисел из одной системы счисления в другую Алгоритм перевода правильной дроби с основанием р в дробь с основаниемq
- Алгоритм перевода числа, заданного в виде правильной дроби из десятичной системы счисления в систему счисления с основание р.
- Алгоритм перевода произвольных чисел
- Перевод чисел из системы счисления с основанием 2 в систему счисления с основанием 2п и обратно Алгоритм перевода целых чисел
- Алгоритм перевода дробных чисел
- Алгоритм перевода произвольных чисел
- Лекция 2
- Арифметические и логические операции. Приоритет операций.
- Логические основы.
- Основы логики
- Обозначения для логических связок (операций):
- Логические операции
- Логические операции и таблицы истинности
- Порядок выполнения логических операций в сложном логическом выражении
- Построение таблиц истинности для сложных выражений
- Скнф и сднф
- Алгоритмы получения формулы по таблице истинности сднф и скнф
- Правила упрощения логических структур
- Приоритет арифметико-логических операций
- Лекция 3 Основные составные части пк. Файлы и файловые системы эвм. Операционные системы. Поколения эвм
- Структура пк
- Достоинствами пк
- Основные характеристики пк
- Устройство пк
- Основные устройства системного блока
- Типы процессоров
- Внешняя (долговременная) память
- Внешние устройства (устройства для ввода-вывода информации)
- Файлы и файловые системы
- Типы файлов
- Операционная система (ос)
- Лекция 4
- Основные понятия моделирования
- Основные виды моделей и их свойства
- 1.Основные виды моделей
- 2.Основные свойства моделей
- Цели, принципы и технология моделирования
- 1.Цели моделирования
- 2.Основные принципы моделирования
- 3.Технология моделирования
- 4.Основные методы решения задач моделирования
- 5.Контроль правильности модели
- Задачи моделирования
- 1.Постановка задачи моделирования
- 2.Концептуальная формулировка задачи
- 3.Построение математической модели
- 4.Выбор метода решения
- 5.Программная реализация модели на эвм
- 6.Проверка адекватности модели
- 7.Анализ результатов моделирования
- Алгоритмизация и программирование Понятие алгоритма
- Свойства алгоритма
- Формы записи алгоритмов
- Типы алгоритмов
- Методология решения задач с помощью эвм
- Классификация программных средств
- Лекция 5 Данные в языке Turbo-Pascal7.0. Стандартные функции языкаTurbo-Pascal. Структура программы на языке Турбо Паскаль. ОператорыTurbo-Pascal. Программирование линейных алгоритмов.
- Достоинствами языка Паскаль являются:
- Алфавит языка
- Данные – это простейшие объекты программной обработки.
- Характеристики основных типов данных
- Стандартные функции языка Турбо-Паскаль
- Нестандартные функции
- Структура программы на языке Турбо Паскаль
- Оператор присваивания имеет следующую структуру:
- Стандарты ввода – вывода данных
- Составной оператор
- Программирование линейных алгоритмов
- Лекция 6
- Процедуры Procedure
- Условные операторы
- Оператор ‘if-then’
- Оператор ‘if-then-else’
- Тройное ветвление
- Оператор варианта ‘case…of’
- Лекция 7 Циклические структуры. Вложенные циклы. Рекурсивные функции. Операторы прерывания.
- Определенные циклы ‘for…do…’
- Первая форма записи оператора foRс последовательным увеличением счетчика.
- Вторая форма записи оператора foRcуменьшением счетчика:
- Циклы с постусловием ‘repeat…until…’
- Циклы с предусловием ‘while…do…’
- Вложенные циклы
- Рекурсивные функции
- Операторы прерывания Операторы Break и Continue
- Лекция 8 Обработка одномерных и двумерных массивов Понятие и описание массива
- Примеры одномерного, двухмерного, трехмерного массивов
- Способы ввода одномерных массивов:
- Печать массива
- Локальная обработка массива
- Глобальная обработка массива
- Инверсия
- Циклический сдвиг
- Вычисление среднее арифметическое, среднее геометрическое, среднее квадратичное среднее гармоническое
- Сортировка массива
- Сортировка одномерного массива методом пузырька
- Пример. Сортировка обменом по возрастанию массива a из n целых чисел.
- Обработка двумерных массивов
- Литература Основная литература
- Дополнительная литература