- •Лабораторная работа 3 Организация разветвляющихся вычислительных процессов Требования по выполнению лабораторной работы
- •Выполнить тестирование программы на подготовленных тестах.
- •Варианты заданий
- •Логический тип данных
- •Отношение
- •Логические выражения
- •Реализация разветвяляющихся процессов с использованием оператора if
- •Реализация разветвяляющихся процессов с использованием оператора Case
- •Контрольные вопросы
Контрольные вопросы
Приведите примеры выражений – отношений.
Что означает понятие – логическое выражение вычисляется по сокращенной схеме.
В каких выражениях может произойти прерывание (в рассматриваемых выражениях все переменные целого типа.)
(c<>0) and (d<>0) and (f<>0) and (a mod c=0) and (a mod d=0) and (a mod f=0)
(a mod d=0) and (a mod f=0) and(c<>0) and (d<>0) and (f<>0)
(c=0) or (d=0) or (f=0) and (a mod c=0) and (a mod d=0) and (a mod f=0)
Какого типа должна быть переменная d и каково ее значение после выполнения оператора присваивания d:=not a or odd(x) где a=true и x=1
Запишите на языке Паскаль логическое выражение, истинное при выполнении указанного условия и ложное в противном случае:
-1<x<1
x принадлежит отрезку [2,5] или [-1,1]
х лежит вне отрезков [2,5] и [-1,1]
только одно из чисел x,y,z положительно
хотя бы одно из чисел x,y,z положительно
х является максимальным из трех переменных x, y, z
точка М[x,y] принадлежит заштрихованной области
Укажите порядок выполнения операций
(x>=0) or t and odd(x) or (y*y<>4)
Вычислите значение следующего выражения
(a or b) and not a где a = true b=false
Укажите ошибки в записи выражений
x>0 and y=4
not not b or or
Напишите оператор присваивания в результате выполнения которого, логическая переменная t получает значение true, если выполняется указанное условие, и значение false иначе:
точка М(x,y) принадлежит области
целое число К делится на 2, 3, 4 нацело
первая и последняя цифры целого трехзначного числа равны
четырехзначное целое число является палиндромом (например: 2332, 1221, 2222)
Найдите ошибки в операторах:
if 1<x<2 then
x:=x+1;y:=0;
else
x:=0 y:=y+1;
if 1<x and x<2 then
begin x:=x+1; y:=0 end;
else
begin x:=0; y:=y+1 end
Укажите ограничения в использовании оператора Case. Разработайте алгоритм, который организует работу светофора для людей – дальтоников. Светофор выдает сообщения: можете идти, стойте, внимание. Цвета задаются буквами: К, Ж, З.
Диапазонный тип. Определите: правило для конструирования типа. Как рассчитывается объем памяти под переменную такого типа? Как определить набор операций над значениями этого типа?
Определить значения переменных p и d после выполнения операторов
case k mod 10 of
3,2,7,5:d:=k;
1:;
4,8: begi p:=false; d:=2 end;
9,6: begin p:=false; d:=3 end
end;
при k=6; 235; 71; 100 и p:=true; d:=1;
Напишите оператор Case для печати Фразы “ Мне К лет ( года или год) в зависимости от К. Где К – целое в диапазоне от 1..100.
Выполните разбор символьного типа языка Object Pascal:
заполните таблицу
Имя типа
Кодировка символов
Количество символов
Диапазон
Объем памяти для символа
Укажите набор операций для символьного типа. Объясните как они выполняются.
Как изображаются в программе символы, имеющие графическое изображение и не имеющие графического изображения.
Определите назначение функций ord, chr.
Что необходимо предусмотреть в программе, чтобы компилятор отличил идентификатор F от символа F?
Какие значения будут выведены операторами?
Write(‘F’>’I’); Write(ord(‘F’)<ord(‘I’); Write(Pred(char(68));
В переменную символьного типа введено значение. Разработайте оператор case, который выводит название группы символов, к которой принадлежит введенное значение: это цифра, это буква латинского алфавита, или это символ esc – последовательности или символ, не принадлежащий ни одной из перечисленных групп.
В переменную символьного типа введено значение. Если это цифра, то вывести ее номинал, увеличенный в два раза, иначе выдать сообщение, что арифметическое действие выполнить нельзя.
Верно ли, что в Паскаль программе надо объявлять все используемые в ней переменные?
Какую информацию извлекает компилятор из описания переменных и как он ее использует?
Какие значения имеют переменные в начале выполнения программы?
Можно ли менять значения констант?
Как определяются типы констант?
Что значит полная и неполная форма оператора IF.
Перечислите операции, результатом которых является значение логического типа. Приведите примеры.
Какая операция в выражении имеет наивысший приоритет?
Какого типа может быть переменная x в операторе Case x of ?
Приведите пример вложенного оператора IF.
Запишите оператор Case заменяющий следующий оператор IF:
if (o=’N’)or(o=’n’) then write('Введено НЕТ')
else
if (o=’Y’) or (o=’y’) then wrute('Введено ДА')
else
write('Введен другой символ');
