
- •230701 Прикладная информатика (по отраслям)
- •Содержание
- •Требования к минимуму содержания основной профессиональной образовательной программы по специальности 080802 Прикладная информатика (по отраслям)
- •Рабочая программа
- •Пояснительная записка
- •Тематический план учебной дисциплины
- •Содержание учебной дисциплины
- •Тема 1.4. Составление алгоритмов с помощью блок-схем
- •Тема 1.5. Методы и правила надежного программирования. Способы конструирования программ
- •Раздел IV. Процедуры и функции.
- •Тема 4.1. Подпрограммы
- •Тема 4.2. Параметры и аргументы, связь формальных и фактических параметров
- •Раздел V. Программирование рекурсивных алгоритмов
- •Тема 5.1. Рекурсивные процедуры и функции
- •Тема 5.2. Примеры рекурсивного программирования
- •Раздел VIII. Ввод и вывод информации: текстовые файлы
- •Тема 8.1. Файлы и их виды
- •Тема 8.2. Оперирование текстовыми файлами.
- •Раздел IX. Структурированный тип записи
- •Тема 9.1. Записи и их описание
- •Тема 9.2. Использование таблиц с разнотипными полями. Записи.
- •Раздел X. Модульное программирование
- •Тема 10.1. Методы работы с модулями. Стандартные модули языка Pascal.
- •Тема 10.2. Создание модульных программ
- •Критерии оценок
- •Литература
- •Теоретический курс Основные понятия языка Состав языка
- •Алфавит и лексемы
- •Константы
- •Имена, ключевые слова и знаки операций
- •Типы данных
- •Классификация типов
- •Стандартные типы данных Логические типы
- •Целые типы
- •Вещественные типы
- •Символьный тип
- •Порядковые типы
- •Приведение типов
- •Линейные программы
- •Переменные
- •Выражения
- •Структура программы
- •Оператор присваивания
- •Процедуры ввода-вывода
- •Ввод с клавиатуры
- •Вывод на экран
- •Операторы ветвления
- •Условный оператор if
- •Оператор варианта case
- •Операторы цикла
- •Цикл с предусловием while
- •Цикл с постусловием repeat
- •Цикл с параметром for
- •Рекомендации по использованию циклов
- •Процедуры передачи управления
- •Оператор перехода goto
- •Перечисляемый тип данных
- •Интервальный тип данных
- •Массивы
- •Двумерные массивы
- •Операции
- •Процедуры и функции для работы со строками
- •Множества
- •Операции над множествами
- •Текстовые файлы
- •Бестиповые файлы
- •Компонентные файлы
- •Прямой доступ
- •Совместимость типов
- •Совместимость по присваиванию
- •Подпрограммы
- •Процедуры
- •Функции
- •Глобальные и локальные переменные
- •Виды параметров подпрограмм
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Открытые массивы и строки
- •Параметры процедурного типа
- •Рекурсивные подпрограммы
- •Описание модулей
- •Использование модулей
- •Стандартные модули Паскаля
- •Модуль System
- •Модуль Crt
- •Модули Dos и WinDos
- •Модуль Graph
- •Модуль Strings
- •Задания для самостоятельной работы студентов
- •1. Знакомство с интегрированной средой программирования pascal
- •1. Общие положения
- •Начало работы
- •Интерфейс ide
- •Комбинации клавиш
- •2. Подготовка текста программы
- •5. Компиляция
- •5.1. Ошибки времени компиляции
- •6. Пробный запуск программы на выполнение
- •6.1. Ошибки времени выполнения программы
- •7. Запуск программы на исполнение
- •8. Завершение работы
- •9. Практическое задание
- •2. Организация работы программ линейной структуры
- •1. Управление режимами вывода данных на экран дисплея
- •1.1. Управление положением курсора на экране монитора
- •1.2. Стандартный модуль crt. Подключение модулей с помощью Uses. Процедура очистки экрана дисплея ClrScr. Функция ReadKey
- •1.3. Процедуры работы с цветом (TextColor,TextBackground)
- •2. Практическое задание – решение задач линейной структуры
- •3. Решение задач с условием
- •3. Составной оператор
- •Практическое задание – решение задач с условием
- •4. Решение задач на множественный выбор
- •5. Организация циклов с помощью оператора for
- •1.Особенности циклов
- •2. Оператор цикла с параметром (со счетчиком) for ... Do
- •3. Вложенные циклы
- •2.1. Структура вложенных циклов
- •6. Организация циклов с помощью оператора while
- •7. Организация циклов с помощью оператора repeat
- •8. Организация программ с использованием процедур
- •1. Общие положения
- •2. Описание процедуры, оператор процедуры
- •2.1. Формальные и фактические параметры
- •2.2. Параметры-значения и параметры-переменные
- •2.3. Область действия имен
- •2.4. Процедуры без параметров
- •3. Массив в процедуре
- •9. Организация программ с использованием функций
- •10. Организация программ с использованием рекурсий
- •1. Особенности рекурсии
- •11. Решение задач на обработку элементов одномерного массива
- •1. Стандартные операции с массивами
- •12. Решение задач на обработку элементов двумерного массива
- •1. Многомерные массивы
- •2. Ввод-вывод двумерного и многомерного массива
- •3. Стандартные (типовые) задачи на двумерных массивах
- •4. Практическое задание - решение задач с использованием массивов
- •13. Решение задач по обработке символьных данных
- •1. Таблица кодирования символов
- •Б азовая таблица кодировки ascii
- •2. Запись символов, специальные и управляющие символы
- •3. Операции отношения
- •4. Встроенные функции
- •14. Решение задач по обработке строковых данных
- •1. Внутреннее представление строки
- •2. Операции над строками
- •3. Строковые встроенные функции
- •4. Примеры использования процедур и функций
- •5. Практическое задание
- •Методические указания
- •15. Решение задач по обработке множественного типа
- •1. Описание множественного типа
- •2. Присваивание значений переменным множественного типа
- •3. Операции над множествами
- •3.6. Нахождение элемента во множестве
- •3.7. Приоритеты операций при работе с множествами
- •4. Практическое задание
- •16. Решение задач по обработке структурированного типа - запись
- •1. Описание записи
- •2. Обращение к элементу записи
- •3. Оператор присоединения
- •4. Практическое задание
- •Образцы контрольных работ
- •Контрольно-измерительные материалы
2.2. Параметры-значения и параметры-переменные
Среди параметров процедуры выделяют:
- Параметры-значения;
- Параметры-переменные.
Параметры-значения выполняют роль входных параметров процедуры. Они могут получать значения фактических параметров, но не могут передавать свои значения факских параметров, но не могут передавать свои значения фактическим параметрам.
Параметры-переменные могут выполнять роль как входных, так и выходных параметров процедуры. Они могут получать значения фактических параметров, изменять их в процедуре и возвращать новые значения фактическим параметрам. Для выделения параметров-переменных перед ними ставится слово Var в формальных параметрах.
Пример
Procedure Expres (А, В, С : Real; Var X, Y : Real);
Var Z: Real;
Begin
Z: = A + B + C;
X : = Z * Z;
Y : = Sqrt (Z);
End;
Здесь имеем: А, В, С - параметры-значения; X, Y - параметры-переменные.
2.3. Область действия имен
Имена, объявленные в разделе описания основной программы, действуют в разделе операторов основной программы и в любой подпрограмме (процедуре и функции), эти имена называются глобальными.
Имена, объявленные в подпрограмме, действуют только в этой подпрограмме и в любой объявленной в ней процедуре и функции. Такие имена называются локальными. Они недоступны для операторов головной программы.
При совпадении имен локальной и глобальной переменных (типов, констант) сильнее оказывается локальное имя, т. е. именно оно используется внутри содержащей его подпрограммы.
2.4. Процедуры без параметров
Допускается использование процедур без параметров. В этом случае в заголовке указывается только имя процедуры, параметры отсутствуют. В процедуре, как и в основной программе, может отсутствовать раздел описаний.
Задача 1
Продемонстрируем операции объединения, пересечения, разности при работе с множеством. Для вывода результата используем подпрограмму без параметров.
Program Lab8_l;
{Демонстрация операций +, *, - при работе с множеством}
Uses Crt;
Type MN = 1 .. 6;
MN1 = set of MN;
Var A, B, C: MN1;
{Подпрограмма вывода результата вычислений}
Procedure RESULT;
Var К : Integer;
Begin
For К : = 1 To 6 Do
If К In С Then Write (K : 4);
WriteLn;
End;
{Исполнимая часть головной программы}
Begin
ClrScr;
A : = [1,3,4];
В : = [2,4,6];
С :=А + В;
WriteLn ('ОБЪЕДИНЕНИЕ [1, 3, 4] + [2, 4, 6]');
RESULT;
С := А*В;
WriteLn ('ПЕРЕСЕЧЕНИЕ [1, 3, 4] » [2, 4, 6 ]');
RESULT;
C := A-B;
WriteLn ('РАЗНОСТЬ [1, 3, 4] - [2,4, 6]');
RESULT;
End.
Задача 2
Банк выплачивает р % годовых. В какую сумму обратится вклад величиной X, положенный на n лет?
Lab8_2;
Uses Crt;
Var X: Extended; {начальная сумма}
n: Byte; {срок вклада}
{Описание процедуры Initialize}
Procedure Initialize;
Begin {1}
Write ('Введите сумму вклада:');
ReadLn (X);
Write ('Введите срок вклада:');
ReadLn (n);
End; {1}
{Описание процедуры Calculate}
Procedure Calculate;
Const p = 8; {процент годовых}
Var Xn: Extended;
Begin {2}
Xn: = X * Exp (n * Ln (1 + 0.01 * p));
Write ('Сумма составит: ', Xn: 10 : 3);
ReadLn;
End; {2}
{Исполнимая часть головной программы}
Begin {3}
Initialize;
Calculate;
End. {3}
Протокол работы программы:
Введите сумму вклада: 1000
Введите срок вклада: 5
Сумма составит: 1469.328
Опишем работу программы. В этой программе имеется две процедуры. Имя первой процедуры Initialize, она служит для ввода начальных данных, имя второй процедуры - Calculate, она служит для вычисления искомой суммы и вывода результата, который определяется по известной в теории процентов формуле «сложных процентов»: X„ = X (1 + 0,01p)n.
Заголовки процедур содержат только их имена. Такие процедуры называются процедурами без параметров. В телах процедур Initialize и Calculate соответственно четыре и три оператора. Имена процедур используются в основной программе для вызова процедур. Во второй процедуре введены константа р и переменная Хп. Они существуют только внутри этой процедуры, это локальные параметры. Глобальные параметры объявлены в головной программе вне процедуры. Таковыми являются x и n.
Задача 3
Оформить в виде процедуры вычисление суммы 1+2+3 +... + и произведения 1, 2, 3... п целых чисел.
Program Lab8_3;
Var n: Integer;
Sum, Pr: Real;
{процедура вычисления суммы и произведения}
Procedure summa (k: Integer; Var x, у: Real); {k, х, у - глобальные параметры} Var i: Integer;
Begin {1}
x: = 0; y:=l;
For i: = 1 to к Do {i-локальный параметр}
Begin {2}
x: = x + i;
y: = y * i;
End; {2}
End; (1}
{Исполнимая часть головной программы}
Begin {3}
WriteLn ('Введите значение n');
Read (n);
Summa (n, Sum, Pr); {Вызов процедуры по имени с указанием фактических параметров}
WriteLn ('Sum =', Sum: 5);
WriteLn ('Pr =', Pr: 5);
End. {3}
Пояснения к программе.
Сумму и произведение можно вычислить, используя формулы арифметической и геометрической прогрессии. Однако мы воспользуемся циклом, чтобы лучше продемонстрировать назначение различных параметров.
Имеем следующие переменные в головной программе: n - количество суммируемых элементов, Sum - переменная, где копим сумму, Рr – переменная, где копим произведение. Это фактические параметры при обращении к процедуре Summa (n, Sum, Pr).
В заголовке процедуры Procedure Summa (k: Integer; Var x, у: Real); в скобках имеем формальные значения:
k - это параметр-значение типа Integer (количество суммируемых элементов);
х, у - это параметры-переменные типа Real (для накопления суммы и произведения).