- •Оглавление
- •Этапы разработки программы
- •Оформление решения
- •Структура программы
- •Характеристики программы
- •Типы данных
- •Целые числа
- •Вещественные числа
- •Лабораторная работа № 2 Алфавит языка Паскаль. Операторы языка
- •Теоретические сведения Алфавит языка
- •Контрольные вопросы
- •Специальные символы
- •Составные символы
- •Зарезервированные слова
- •Стандартные функции и процедуры языка
- •Комментарии и директивы
- •Операторы
- •Простые операторы
- •Структурные операторы
- •Полезные формулы
- •Запись числовых констант, переменных и выражений
- •Контрольные вопросы
- •Лабораторная работа № 3 Программирование алгоритмов линейной структуры
- •Теоретические сведения
- •Задание к работе
- •Пример выполнения работы
- •Варианты заданий
- •Задание 2
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Примеры задач Программа 1
- •Программа 2
- •Программа 3
- •Варианты заданий
- •Задание2
- •Примеры задач Программа 1
- •Программа 2
- •Программа 3
- •Варианты заданий
- •Алгоритм цикла с предусловием – While
- •Алгоритм цикла с постусловием Repeat
- •Алгоритм цикла со счетчиком For
- •Практические примеры Задачи с использованием оператора while
- •Задачи с использованием оператора repeat
- •Задачи с использованием оператора for
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 7 Программирование алгоритмов со структурой вложенных циклов
- •Теоретические сведения
- •Практические примеры
- •Задачи для решения
- •Лабораторная работа № 8 Обработка одномерных массивов
- •Теоретические сведения
- •Обработка массивов
- •Действия с одномерными массивами
- •Практические примеры
- •Варианты заданий
- •Контрольные вопросы
- •Что представляет собой массив в Pascal'е?
- •Лабораторная работа № 9 Обработка двумерных массивов, матрицы
- •Теоретические сведения
- •Описание массива
- •Заполнение массива данными (ввод элементов)
- •Вывод массива
- •Обработка массивов
- •Квадратная матрица
- •Транспонирование матрицы
- •Практические примеры
- •Варианты заданий
- •Сформировать матрицу по следующему правилу
- •Контрольные вопросы
- •1. Как можно описать следующий массив?
- •2. В какой ячейке находится элемент d[2,6] ?
- •3. Каким образом выведется массив на экран монитора?
- •4. Сколько элементов находится в массиве х(4;7):
- •Метод линейной сортировки
- •Сортировка методом «пузырька»
- •Практические примеры
- •Варианты заданий
- •Практические примеры
- •Варианты заданий
- •Практические примеры
- •Шифрование и дешифрование текста
- •Варианты заданий
- •Контрольные вопросы
- •Порядок выполнения лабораторных работ
- •Содержание пояснительной записки
- •Литература
Алгоритм цикла с предусловием – While
Серия команд будет исполняться до тех пор, пока выполняется условие, если условие не выполняется, то цикл завершает работу и выполняется следующая за циклом команда. Следует отметить, что число повторений серии команд цикла заранее не определено и, если при первом входе в цикл условие уже не выполняется, то серия команд в цикле не будет выполнена ни одного раза (рис. 3).
Формат записи:
while Условие выполнения цикла do
begin
{Инструкции}
end;
Рис. 3.
Алгоритм цикла с постусловием Repeat
Серия команд будет исполняться до тех пор, пока не выполнится условие. Если условие выполняется, то цикл завершает работу и выполняется следующая за циклом команда. Следует отметить, что число выполнений серии команд цикла заранее не определено и если при первом входе в цикл условие уже выполняется, то серия команд в цикле будет выполняться один раз.
Формат записи:
repeat
{Инструкции}
until Условие выхода из цикла
Алгоритм цикла со счетчиком For
В циклах с известным числом повторений всегда можно определить переменную, связанную с числом повторений цикла, значение которой изменяется по заданному закону от начального до конечного с постоянным шагом. Такая переменная используется для управления циклом в условии окончания цикла и осуществляется сравнение текущего значения с заданным порогом. Для схематического представления используют специальную управляющую структуру с блоком модификации, где указывают закон изменения параметра цикла(рис. 3). 1 вход в цикл, 2 повторение цикла, 3 – окончание цикла. Блок модификации включает в себя подготовку цикла(х:=х0), изменение параметра цикла(х:=х+h), Управление циклом -проверку условия его продолжения или окончания цикла. Проверка х<xn проводится перед каждым выполнением цикла. Если начальное значение параметра больше конечного, то цикл не выполняется ни разу.
Формат записи: Вариант 1 (с увеличением счетчика)
for Счетчик := НачальноеЗначение to КонечноеЗначение do
begin
{Инструкции}
end;
Вариант 2 (с уменьшением счетчика)
for Счетчик:= КонечноеЗначение downto НачальноеЗначение do
begin
{Инструкции}
end;
Практические примеры Задачи с использованием оператора while
Программа 1
На склад привозят однородный груз на машинах различной грузоподъемности. На компьютер, управляющий работой склада, поступает информация о весе груза очередной машины. Составить программу подсчета количества машин, прибывших на склад до его заполнения, если вместимость склада не более 100 тонн.
Введем обозначения: sum – сумма веса груза, хранящегося в этот момент на складе; num – число разгруженных машин; w – масса груза очередной машины. Вначале величины sum и num равны нулю.
Цикл разгрузки продолжается, пока выполняется неравенство sum<100.
program store;
var sum,w:real;
num:integer;
begin
num:=0;sum:=0;
while sum<100 dо
begin
writeln('введите вес груза машины');
readln(w);
sum:=sum+w;
if sum<=100 then num:=num+ 1
else writeln('груз уже не поместится');
end;
writeln('число разгруженных машин =',num:З)
end.
Программа 2
Напечатать таблицу значений функций sin x и cos x на отрезке [0,1] с шагом 0.1 в следующем виде:
x sin(x) cos(x)
---------------------------------
0.0000 0.0000 1.0000
0.1000 0.0998 0.9950
. . . . . . . . . . . . . . . . . . . . . . . . .
1.0000 0.8415 0.5403
Program Table; Const a=0; b=1; h=0.1; { границы и шаг табулирования} Var x: Real; Begin x:=a; Write(‘x sin(x) сos(x)‘); { заголовок таблицы} Write(‘---------------------------------‘); While x<=b Do Begin Writeln(x:7:4,sin(x):7:4,cos(x):7:4); {вывод значений аргумента и функций} x:=x+h {увеличение аргумента на шаг} End; Writeln(‘---------------------------------‘) End.
Программа 3
Написать программу, которая напечатает
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Program Table2; Var i: integer; Begin i:=0; While i<10 Do Begin
I:=succ(i); Write(I,’ ‘);
End;
Writeln;
i:=10; While i>0 Do Begin
Write(I,’ ‘);
I:=pred(i);
End;
End.
