- •Учебно-методический комплекс дисциплины «Информатика» Календарно-тематический план.
- •2. Тезисы лекций Тема 1. Понятие алгоритма, свойства, типы, исполнители
- •Тема 2. Система программирования TurboPascal. Исполняемые операторы. Словарь языка. Структура программы.
- •Имена, ключевые слова и знаки операций
- •Тема 3. Предопределенные типы переменных (простые), стандартные функции
- •Операции и выражения
- •Тема 4. Операторы Ввода-вывода Оператор вывода writeln
- •Тема 5. Операторы условий, выбора и безусловного перехода
- •Тема 6. Операторы циклов
- •Тема 7. Символьные типы данных. Обработка символьных данных.
- •Тема 8. Массивы
- •8.1. Одномерные массивы
- •8.2. Двумерные массивы (матрицы)
- •Обращение к компонентам массива
- •Тема 9. Строки. Строковые процедуры.
- •Неименованные константы
- •Действия с символами
- •Тема 10. Процедуры и функции Подпрограммы
- •Объявление и описание
- •Возвращаемые значения
- •Вызов подпрограмм
- •Параметр-константа
- •Функции
- •Параметр-значение
- •Тема 11. Множества (Set)
- •Тема 12. Файлы. Файловые переменные.
- •Разновидности файлов
- •Работа с текстовыми файлами
- •Тема 13. Записи
- •Описание записей
- •Задание записей константой
- •Доступ к полям
- •Оперирование несколькими полями
- •Вложенные операторы with
- •Запись с вариантной частью
- •Описание записи с вариантной частью
- •Тема 14. Построение изображений на экране Система координат
- •Управление текущим указателем
- •Отображение точки на экране
- •Отображение линий на экране
- •Построение прямоугольников на экране
- •Построение многоугольников
- •Построение дуг, эллипсов и окружностей
- •Тематика и краткое описание лабораторных и студийных работ
- •2. Связь функция-клавиатура в интегрированной среде Turbo Pascal
- •3. Команды экранного редактора:
- •3.1 Команды перемещения курсора
- •3.2 Команды вставки/удаления
- •3.3 Команды работы с блоками
- •4. Технология компиляции
- •5. Технология отладки программы
- •6. Программирование линейных алгоритмов
- •Лабораторная работа 2 программирование разветвляющихся вычислительных процессов
- •Краткие сведения из теории
- •Составить блок-схему и программу алгоритмов нахождения функции с выбором по расчетной формуле.
- •Лабораторная работа 3 программирование циклов с параметром
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 4
- •Лабораторная работа 5 программирование циклов с условием
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 6
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 7 работа с матрицами
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 8 обработка символьных строк
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Лабораторная работа 9 записи. Файлы
- •Краткие сведения из теории
- •Лабораторная работа 10 процедуры
- •Краткие сведения из теории
- •П р о г р а м м а
- •Лабораторная работа 11 функции
- •Краткие сведения из теории
- •П р о г р а м м а
- •П р о г р а м м а
- •Порядок работы
- •Содержание отчета
- •Лабораторная работа 12 графические средства паскаля
- •Краткие сведения из теории
- •Порядок работы
- •Лабораторная работа №14 Динамические структуры данных. Организация данных в списковые структуры
- •Кратное содержание теории
- •Краткое описание семинарских и практических занятий (планы, задания для проведения семинарских и практических занятий, срсп, срс)
- •Тема 1. Структура программы на паскале. Заголовок программы. Блок. Типы данных, их классификация. Переменные и константы. Синтаксис выражений. Порядок работы
- •Содержание отчета
- •Тема 2 конструкция операторов разветвления Порядок работы
- •Содержание отчета
- •Тема 3. Конструкция операторов цикла Порядок работы
- •Содержание отчета
- •Тема 4. Конструкция циклов с предусловием и постусловием Порядок работы
- •Содержание отчета
- •Тема 6. Составные типы данных. Создание одномерных массивов и стандартных процедур. Порядок работы
- •Содержание отчета
- •Тема 7. Создание двумерных массивов и стандартных процедур Порядок работы
- •Содержание отчета
- •Тема 8. Методы работы со строками и отдельными символами Порядок работы
- •Содержание отчета
- •Тема 9. Задачи классической комбинаторики. Записи и файлы. Порядок работы
- •Содержание отчета
- •Тема 10. Процедуры и функции Порядок работы
- •Содержание отчета
- •Тема 13. Динамические переменные. Структуры данных
- •5. Задания для самопроверки и подготовки к экзамену, в том числе тесты
- •5.1 Вопросы для самоконтроля по данному модулю/разделу (коллоквиума);
- •5.2. Контрольные работы по данному модулю/разделу;
- •Тема «Строки»
- •Тема «Множества»
- •6. Учебно-методические материалы по дисциплине
- •6.1.Список рекомендуемой литературы Основная литература
- •Дополнительная литература
Лабораторная работа 11 функции
Цель работы:
1. Получить практические навыки написания подпрограмм в виде функций.
2. Научиться использовать рекурсию.
Краткие сведения из теории
Функция отличается от процедуры тем, что результат ее работы возвращается в виде значения этой функции и, следовательно, вызов функции может использоваться наряду с другими операндами в выражениях.
Рекурсия - такой способ организации вычислительного процесса, при котором подпрограмма в ходе выполнения составляющих ее операторов обращается сама к себе.
ПРИМЕР 1: Даны действительные числа a,b,c. Вычислить
П р о г р а м м а
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.
ПРИМЕР 2: Найти N число последовательности Фибоначчи. Использовать рекурсивную функцию. Числа Фибоначчи образуют последовательность, у которой каждый очередной член равен сумме двух предыдущих: 0 1 1 2 3 5 8 13 . . . Обозначив N-й член ряда Фибоначчи посредством символа F(N), можно записать следующую рекурсивную зависимость:
F(N)=F(N-1)+F(N-2), n >= 3,
F(1)=1 и F(2)=1
П р о г р а м м а
program FIBON;
var N: integer;
fuction F(k: integer): integer;
begin
if (k=1) or (k=2)
then F:=1
else F:=F(k-1)+F(k-2)
end;
{головная программа}
begin
writeln ('N=');
readln (N);
writeln ('число =', F(N))
end.
Порядок работы
1. Составить алгоритм и программу с использованием подпрограммы-функции (табл.17).
2. Составить алгоритм и программу, включающую рекусивную функцию (табл.18).
Содержание отчета
Отчет по лабораторной работе должен содержать условия двух задач, алгоритмы, программы, исходные данные для контрольного примера, результаты.
ТАБЛИЦА 17
НОМЕР ВАРИАНТА |
УСЛОВИЕ |
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 |
Даны действительные числа х,у. Вычислить: , где |
11 |
Решить уравнение , где Значения r,m,n вводятся. |
12 |
Используя функцию нахождения наибольшего общего делителя, найти наименьшее общее кратное двух чисел. |
13 |
Вычислить: |
14 |
Вычислить: |
ТАБЛИЦА 18
НОМЕР ВАРИАНТА |
УСЛОВИЕ |
1 |
Найти НОД двух неотрицательных целых чисел m и n с использованием первого алгоритма Евклида: |
2 |
Найти НОД двух неотрицательных целых чисел m и n c использованием второго алгоритма Евклида: |
3 |
Вычислить функцию Аккермана A(n,m) для неотрицательных целых чисел m и n по формуле: |
4 |
Вычислить числа Каталана K(n) для натурального n по формуле: K(1)=K(2)=1 K(n)=K(n-1)*(4*n-6)/n, при n 3 |
5 |
Вычислить n-ый член арифметической прогрессии. Заданы первый член а 1 и разность d. |
6 |
Вычислить n-ый член геометрической прогрессии. Заданы первый член а1 и знаменатель геометрической прогрессии q. |
7 |
Вычислить сумму n членов арифметической прогрессии. Заданы первый член а1 и разность d. Для вычисления члена арифметической прогрессии использовать формулу варианта 5. |
8 |
Вычислить сумму n членов геометрической прогрессии. Заданы первый член а1 и знаменатель геометрической прогрессии q. Для вычисления члена геометрической прогрессии использовать формулу варианта 6. |
9 |
Вычислить: Для вычисления факториала воспользоваться формулой |
10 |
Найти максимум из двух величин НОД(a,b) и НОД(c,d). Для вычисления наибольшего общего делителя воспользоваться формулой варианта 1. |
11 |
Вычислить a! + b!. Для вычисления факториала воспользоваться формулой варианта 9. |
12 |
Вычислить F(k)-F(m), где F(k) - k-ый член последовательности Фибоначчи, F(m) - m-ый член последовательности фибоначчи.
F(1)=F(2)=1 F(n)=F(n-1)+F(n-2) для n >= 3 |
13 |
Вычислить: Для вычисления наибольшего общего делителя воспользоваться формулой варианта 2. |
14 |
Вычислить величину pow(x,n) для вещественного х0 и целого n по формуле: |