Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
288.26 Кб
Скачать

3. Объекты и средства исследования

1. Персональный IBM PC совместимый компьютер;

2. Среда программирования TurboPascal 7.0.

4. Задание на работу

Составить программу, выполняющую функции арифметического калькулятора. В качестве входных данных использовать две переменные типа real и одну переменную типа char. В программе предусмотреть вывод "подсказки" для пользователя в случае неверного задания знака математической операции. Вывод результата осуществлять в развернутом виде типа:

writeln(a:8:4, znak, b:8:4, ' =', rez:8:4);

а) Реализовать задачу с помощью конструкции вложенных условных операторов if;

program kalkul1;

uses crt;

var a,b,rez:real;

oper:char;

begin

clrscr;

writeln('Введите первое число');

readln(a);

writeln('Введите знак операции');

readln(oper);

writeln('Введите второе число');

readln(b);

if oper ='+'

then

rez:=a+b

else

if oper ='-'

then

rez:=a-b

else

if oper ='*'

then

rez:=a*b

else

if oper ='/'

then

rez:=a/b

else begin writeln(' Таких действий не предусмотрено'); readln; halt;;end;

writeln(a:11:8,' ',oper,' ',b:11:8,' = ', rez:11:8);

readln;

end.

б) Реализовать задачу с помощью оператора выбора варианта case.

program kalkul;

uses crt;

var a,b,rez:real;

oper:char;

begin

clrscr;

writeln('Введите первое число');

readln(a);

writeln('Введите знак опреации');

readln(oper);

writeln('Введите второе число');

readln(b);

case oper of

'+':rez:=a+b;

'-':rez:=a-b;

'*':rez:=a*b;

'/':rez:=a/b;

else begin writeln('Таких действий не предусмотрено'); readln;halt; end;

end;

writeln(a:11:8,' ',oper,' ',b:11:8,' = ', rez:11:8);

readln;

end.

5. Порядок выполнения работы

Перед началом работы следует:

  • Включить компьютер;

  • Войти в локальную сеть со своим зарегистрированным именем и паролем;

1. Запустить среду программирования TurboPascal 7.0. Создать новый файл с расширением pas.

2. Разработать алгоритм программы в соответствии с вариантом задания.

3. По разработанному алгоритму составить программу.

4. Произвести компиляцию программы, а также провести ее отладку при необходимости.

5. Запустить выполнение программы и ознакомиться с результатами работы.

6. Завершить работу программы и закрыть среду программирования TurboPascal 7.0.

6. Содержание отчета

Отчет должен содержать название, цели и задачи лабораторной работы, задание, блок схему алгоритма работы программы в соответствии с ГОСТ 19.003 – 80, листинг программы, результат работы программы и выводы по работе.

7. Контрольные вопросы

1. Каков формат записи оператора if?

2. Каков формат записи оператора case?

3. Каков приоритет логических операций и операций сравнения?

4. Как реализуется алгоритм разветвляющейся структуры?

6. Какого типа может быть селектор оператора case?

Лабораторная работа №5

«Приобретение навыков составления программ, реализующих алгоритм циклической структуры»

1. Цель и задачи работы

Овладение практическими навыками разработки и программирования вычислительного процесса циклической структуры.

2. Основные теоретические положения

Программа циклической структуры позволяет многократно повторять вычисление группы операторов при изменении одного или нескольких параметров, изменяющихся одновременно. В зависимости от постановки задачи циклы могут быть с известным и неизвестным числами повторений.

В языке Pascal имеются специальные операторы цикла: цикл с параметром for, цикл с предусловием while и цикл с постусловием repeat.

  1. Оператор цикла с параметром for служит для организации цикла с известным числом повторений.

Синтаксис оператора for:

for <имя параметра>:=m1 to m2 do

<оператор>

или

for <имя параметра>:=m1 downto m2 do

<оператор>,

где в качестве параметра цикла используется переменная порядкового типа, чаще всего целочисленная переменная.

m1 и m2 –начальное и конечное значения параметра (могут быть либо константами, либо выражениями того же типа, что и переменная-параметр цикла.

Шаг изменения параметра при ключевом слове to 1 и при ключевом слове downto –1.

<оператор > - это тело цикла, т.е. простой или составной оператор. В последнем случае последовательность операторов заключается в ключевые скобки begin...end;

Работа оператора for заключается в следующем:

вычисляются выражения m1 и m2. Параметр цикла принимает начальное значение m1 и сравнивается с конечным значением m2. Если значение параметра больше m2, то оператор for завершает свою работу так ничего и не сделав. В противном случае управление передается в тело цикла и выполняется соответствующий оператор (простой или составной). Затем значение параметра цикла изменяется на соответствующий шаг (1 или –1) и снова сравнивается с m2. Если значение параметра меньше m2, то работа цикла повторяется и т.д. Выход из цикла осуществляется после того, как параметр цикла превысит конечное значение m2.

  1. Оператор с предусловием while может использоваться для организации цикла с неизвестным числом повторений.

Синтаксис оператора while:

while <условие>do

<оператор>

Оператор, образующий тело цикла while, может быть как простым, так и составным.

Работает оператор while следующим образом:

сначала проверяется истинность условия, стоящего после ключевого слова while. Если значение условия – true (истинно), то управление передается в тело цикла и выполняется соответствующий простой или составной оператор. Затем снова проверяется истинность условия и в случае истинности снова выполняется этот оператор и т.д. Если условие становится ложным (принимает значение false), то оператор while прекращает свою работу и управление передается к следующему оператору программы.

  1. Оператор цикла с постусловием repeat позволяет организовать цикл с неизвестным числом повторений.

Синтаксис оператора repeat:

repeat

<оператор>

until<условие>

Тело цикла repeat образует простой или составной опреатор (в последнем случае в опереаторе repeat ключевые скобки begin...end; не указываются).

Работа оператора repeat:

сначала выполняются операторы, стоящие в теле цикла, пока не достигнут ключевого слова until, после чего проверяется истинность условия, стоящего после until. Если значение условия false (ложно), то снова выполняются операторы, образующие тело цикла, и снова проверяется истинность условия и т.д. Когда условие принимает значение true (истинно), то работа оператора repeat прекращается.

Основные отличия операторов цикла while и repeat.

  1. Выход из цикла repeat происходит тогда, когда условие true (истинно), а из цикла while - когда условие false (ложно).

  2. Оператор while может ни разу не выполнить тело цикла , а оператор repeat обязательно выполнит тело цикла хотя бы один раз.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]