
- •Учебно-методическое пособие по изучению теоретического материала и самостоятельному выполнению лабораторных заданий
- •1. Введение
- •2. Общие методические рекомендации по изучению курса
- •3. Методические рекомендации по изучению теоретического материала курса
- •3.1 Содержание разделов дисциплины
- •Тема 1. «Структура программы на языке «Паскаль». Основные типы данных. Правила записи имён в языке Паскаль. Линейные вычислительные процессы.»
- •Тема 2. «Базовые конструкции языка «Паскаль». Ветвящиеся вычислительные процессы.»
- •Тема 3. «Одномерные и многомерные массивы. Циклические вычислительные процессы.»
- •Тема 4. «Обработка символьной информации»
- •Тема 5. «Процедуры в языке Паскаль»
- •Тема 6. «Функции в языке Паскаль»
- •Тема 7. Рекурсивные функции. Явная и неявная рекурсия.
- •Тема 8. Многомодульные приложения (дополнительная тема).
- •4. Методические рекомендации по выполнению лабораторных работ
- •4.1 Лабораторная работа №1 «Структура программ на языке Паскаль, основные типы данных, основные операции, линейные вычислительные процессы»
- •Варианты заданий на лабораторную работу № 1.
- •Var a,b,c,r : real;
- •Var a,b,c,r : real;
- •Var a,b,c,r : real;
- •4.2 Лабораторная работа №2 «Условные операторы. Правила записи условий простые и сложные условия, ветвящиеся вычислительные процессы»
- •Варианты заданий на лабораторную работу № 2.
- •Var a,b,X : real;
- •Var a,b,X : real;
- •Var a,b,X : real;
- •Var a,b,X : real;
- •Var a,b,X : real;
- •4.3 Лабораторная работа №3 «Массивы и циклы в языке Паскаль»
- •Варианты заданий на лабораторную работу № 3.
- •4.4 Лабораторная работа №4 «Обработка символьной и строковой информации в языке Паскаль»
- •Варианты заданий на лабораторную работу № 4.
- •4.5 Лабораторная работа №5 «Процедуры в языке Паскаль»
- •Варианты заданий на лабораторную работу № 5.
- •Var a,b : integer; // Числа, вводимые пользователем
- •I : integer; // Счётчик цикла
- •Var a,b : integer; // Числа, вводимые пользователем
- •I : integer; // Счётчик цикла
- •Var a,b : integer; // Числа, вводимые пользователем
- •I : integer; // Счётчик цикла
- •Var X : integer;
- •Var I : integer; // Счётчик цикла
- •4.6 Лабораторная работа №6 «Функции в языке Паскаль»
- •Варианты заданий на лабораторную работу № 6.
- •Пример решения типовой задачи лабораторной работы № 6.
- •Var I : integer; // Счётчик цикла
- •Var X : integer;
- •Var X : integer;
- •В результате внесённых изменений наша программа примет следующий вид:
- •Var X : integer;
- •Результат работы этой программы представлен на следующем рисунке:
- •Var X : integer;
- •4.7 Лабораторная работа №7 «Рекурсия и рекурсивные функции в языке Паскаль»
- •Варианты заданий на лабораторную работу № 7.
- •Var x1, x2, Xn : real; // Вычисляемые числа
- •Var x1, x2, Xn : real; // Вычисляемые числа
- •Var x1, x2, Xn : real; // Вычисляемые числа
- •Var r : real ; // Граница вычислений, вводимая пользователем
- •Var x1, x2, Xn : real ; // Вычисляемые числа
- •I : integer; // Число итераций цикла
- •Var r : real ; // Граница вычислений, вводимая пользователем
- •Var Xn : real; // Вычисляемые числа
- •Var Xn : real; // Вычисляемые числа
- •5. Вопросы для подготовки к зачёту
- •6. Список рекомендуемой литературы
- •7. Программное обеспечение и Интернет-ресурсы
Var X : integer;
Begin
Write('Введите начало диапазона. a='); Readln(p1);
Write('Введите окончание диапазона. b='); Readln(p2);
if p1>p2
then Begin
Writeln('Нижняя граница выше верхней');
x:=p1;
p1:=p2;
p2:=x;
Writeln('Значение границ изменено: a=', p1,' b=', p2);
End;
End;
//-------------------------------------------------------
// Процедура вычисления суммы квадратов, использующая параметры.
// С проверкой вычислимости.
Procedure Calc(x,y : integer; var z : integer);
Var I : integer; // Счётчик цикла
Begin
z:=0;
for i:=x to y do
if (z > (2147483647 - i*i))
then begin z:=-1;
break; // Оператор досрочной остановки цикла.
End
else z:=z + i*i;
End;
//-------------------------------------------------------
// Процедура вывода результатов вычисления.
Procedure Print(R : integer);
Begin
if R<0
then Writeln('При вычислении произошло переполнение')
else Writeln('Сумма квадратов всех целых чисел в указанном
диапазоне равна - ', R);
End;
//-------------------------------------------------------
// Главная часть программы
Var a,b : integer; // Числа, вводимые пользователем
Rez : integer; // Результат вычислений
Begin
Hello; // Вызов процедуры приветствия.
Vvod(a, b); // Вызов процедуры ввода исходных данных.
Calc(a,b,Rez); // Вызов процедуры вычисления.
Print(Rez); // Вызов процедуры печати результата.
End.
Данная программа будет корректно обрабатывать любые, введённые пользователем данные, как корректные, так и не корректные:
4.6 Лабораторная работа №6 «Функции в языке Паскаль»
При выполнении данной работы требуется написать и отладить программу, содержащую функцию, предназначенную для выполнения некоторых вычислительных действий согласно варианту задания. Ввод данных также должен быть организован при помощи функции. Печать результатов может быть оформлена в виде процедуры.
Темы, которые необходимо знать для выполнения и защиты данной работы:
Понятие функций в языке Паскаль. Описание и использование функций.
Локальные и глобальные переменные и особенности их использования.
Формальные и фактические параметры функций.
Передача параметров функций по значению.
Передача параметров функций, как переменных.
Передача массивов, как параметров функций.
Возвращаемое значение функции
Выполнение данной работы должно проходить в 4 этапа:
Этап первый. Преобразование основной вычислительной процедуры из предыдущей работы в функцию, возвращающую значение вычисления.
Этап второй. Преобразование процедуры ввода исходных данных в функцию, возвращающую значение ввода без использования параметров-переменных.
Этап третий. Тестирование и доработка программы, если это необходимо.
Общие требования к работе (минимальный уровень, оценка «удовлетворительно»):
Выполнить первый этап работы.
Для защиты на оценку «хорошо»:
Выполнить второй этап работы.
Для защиты на оценку «отлично»:
Выполнить третий этап работы.