- •Часть 2
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Лабораторная работа 2. Программирование линейных алгоритмов
- •Запустить на выполнение загрузочный файл Паскаль. Bat.
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Лабораторная работа 3. Программирование разветвляющихся алгоритмов
- •Запустить на выполнение загрузочный файл Паскаль. Bat.
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Лабораторная работа 4. Программирование циклических алгоритмов
- •Запустить на выполнение загрузочный файл Паскаль. Bat.
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Лабораторная работа 5. Программирование с использованием массивов
- •Запустить на выполнение загрузочный файл Паскаль. Bat.
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Приложение а
- •Основные элементы алгоритмов программ. Среда структурного программирования
- •Приложение б
- •Титульный лист отчета
- •Приложение в
- •Разделы и структура программы на языке Pascal
- •Структурный язык программирования Паскаль
- •Алфавит языка программирования
- •Типы данных
- •Операторы, математические функции и процедуры
- •Логические операции.
- •Выражения и операторы
- •Структура программы
- •Оператор присваивания
- •Инструкции ввода и вывода
- •Приложение г
- •Пример выполнения лабораторной работы 2
- •Приложение д
- •Условные операторы
- •Оператор перехода.
- •Инструкция условия if.
- •Ifусловие
- •Инструкция выбора Case.
- •Приложение е
- •Пример выполнения лабораторной работы 3
- •Приложение ж
- •Циклические структуры
- •Приложение з
- •Пример выполнения лабораторной работы 4
- •Приложение и
- •Массивы
- •Имя: array[нижний индекс..Верхний индекс] of тип
- •1. Ввод и вывод массивов
- •2. Сортировка массива
- •Сортировка методом прямого обмена (линейной сортировки).
- •3. Поиск минимального (максимального) элемента массива.
- •Приложение к
- •Пример выполнения лабораторной работы 5
Инструкция выбора Case.
Инструкция выбора Case используется при множественном разветвлении алгоритма, например, если необходимо по числовому значению дня недели указать его название (1 - понедельник, 2 - вторник, 3 – среда и т.д.).
Инструкция выбора case позволяет реализовать множественный выбор и записывается:
Case выражение of
списокконстант 1: begin
{ последовательность инструкций 1 }
end;
списокконстант 2: begin
{ последовательность инструкций 2 }
end;
список констант N: begin
{ последовательность инструкций N }
end;
else
begin
{ последовательность инструкций, выполняемая }
{ в случае, если значение выражения не попало }
{ ни в один из списков констант }
end;
end;
Если между begin и end находится только одна инструкция, то их можно не писать.
Блок-схема алгоритма, соответствующая инструкции case представлена на рисунке Д.2.
Рисунок Д.2 – Блок-схема, соответствующая инструкции case
Приложение е
(информационное)
Пример выполнения лабораторной работы 3
Задание: Дано действительное а. Для функций f(a), график которой представлен на рисунке Е.1, вычислить f(a).
Рисунок Е.1 - График функции f(a)
Этапы решения задачи:
Математическая модель: функция вычисляется по следующей формуле
Блок схема программы приведена на рисунке Е.2.
Рисунок Е.2 – Схема алгоритма программы
Листинг программы.
Program example2;
Var a,f:real;
begin
readln(a);
if a<-1 then f:= -a-1 else
if (a>=-1) and (a<0) then f:= a+1 else
if (a>=0) and (a<1) then f:= -a+1 else f:= a+1;
writeln('F= ', f:4:2);
readln;
end.
Результаты тестирования программы.
Приложение ж
(информационное)
Циклические структуры
Алгоритмы решения многих задач являются циклическими, т. е. для достижения результата определенная последовательность действий должна быть выполнена несколько раз. Такие повторяющиеся действия называются циклами и реализуются в программе с использованием инструкций циклов.
Циклические действия (вычисления) могут быть реализованы при помощи 3 видов циклов:
Цикл с параметром - инструкция for,
Цикл с предусловием - инструкция while,
Цикл с постусловием - инструкция repeat.
1. Цикл с параметром. Инструкция for используется, если некоторую последовательность действий надо выполнить несколько раз, причем число повторений заранее известно.
Существует две структуры данного оператора.
В общем виде инструкция for записывается:
1) Увеличение счетчика по возрастанию:
forсчетчик: =нач.значение to кон.значение do
begin
{ последовательность инструкций}
end;
2) Увеличение счетчика по убыванию
forсчетчик: =нач.значение downto кон.значение do
begin
{ последовательность инструкций}
end;
гдесчетчик — имя переменной-счетчика числа повторений инструкций цикла;
нач_значение — выражение, определяющее начальное значение переменной-счетчика циклов;
кон_значение — выражение, определяющее конечное значение переменной-счетчика циклов.
Если между begin и end находится только одна инструкция, то слова beginи end можно не писать. Блок-схема цикла с параметром For представлена на рисунке Ж.1.
Рисунок Ж.1 - Блок схема, соответствующая инструкции for
2. Цикл с предусловием. Инструкция while используется в том случае, если некоторую последовательность действий (инструкций программы) надо выполнить несколько раз, причем необходимое число повторений во время разработки программы неизвестно и может быть определено только во время ее работы, т. е. определяется ходом вычисления. Проверка условия осуществляется перед циклом, цикл выполняется, если условие принимает значение True (истина).
В общем виде инструкция whileзаписывается так:
Whileусловиеdo
Begin
{последовательность инструкций}
end;
где условие – выражение логического типа, определяющее условие выполнения цикла – инструкций, находящихся между Beginи end.
Блок-схема цикла представлена на рисунке Ж.2, логика алгоритма приведена на рисунке Ж.3.
Рисунок Ж.2 –Схема алгоритма, соответствующая инструкции while |
Рисунок Ж.3–Логика алгоритма, соответствующая инструкции while |
Обратите внимание:
для того чтобы инструкции цикла while были выполнены хотя бы один раз, необходимо, чтобы перед выполнением инструкции while условие выполнения цикла было истинно;
для того чтобы цикл завершился, необходимо, чтобы последовательность инструкций между begin и end изменяла значения переменных, входящих в выражение условие.
3. Цикл с постусловием. Инструкция repeat, как и инструкция while, используется в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов во время разработки программы неизвестно и может быть определено только во время работы программы, т. е. определяется ходом вычисления. Первоначально условие принимает значение False (ложь). Цикл выполняется до тех пор, пока условие не станет True (истина).
В общем виде инструкция repeat записывается:
repeat
{ инструкции }
untilусловие;
где условие — выражение логического типа, определяющее условие завершения цикла.
Обратите внимание:
инструкции цикла, находящиеся между repeat и until, всегда будут выполнены хотя бы один раз;
для того чтобы цикл завершился, необходимо, чтобы инструкции цикла находящиеся между repeat и until, изменяли значения переменных входящих в выражение «условие». Блок-схема – рисунок Ж.4, логика инструкция приведена на рисунке Ж.5.
Рисунок Ж.4–Схема алгоритма, соответствующая инструкции repeat |
Рисунок Ж.5–Логика алгоритма, соответствующая инструкции repeat |
Пример.
Задание: Вычислить сумму натурального ряда чисел от 1 до N, т.е. найти сумму .
Решение. Программа с использованием оператора цикла с предусловием while.
Program Natur1;
Var a, Summa: integer;
Begin
write('N=');
readln(N);
{Цикл с предусловием}
a:=l;
Summa:=0;
while a<=N do
begin
Summa:=Summa+a;
a := a + 1
end;
Writeln(' Результат = ', Summa);
end.
Решение. Программа с использованием оператора цикла с постусловием repeat.
Program Natur2;
Var a, Summa: integer;
Begin
write('N=');
readln(N);
{Цикл с постусловием}
а:=1;
Summa:=0;
repeat
Summa:=Summa+ a;
а:=а+1
until a>N;
Writeln(' Результат = ', Summa);
end.
Решение. Программа с использованием оператора цикла с параметром for.
Program Natur3;
Var a, Summa: integer;
Begin
write('N=');
readln(N);
{Цикл с параметром}
Summa:=0;
for а := 1 to N do
Summa: =Summa+a;
Writeln(' Результат = ', Summa);
end.