- •Основные этапы проектирования программ
- •Тема: Числовые типы данных. Выражения. Стандартные функции. Решение задач линейной структуры Числовые типы
- •Выражения и операторы действия
- •Ввод и вывод данных
- •Лабораторная работа №1 Тема: Числовые типы данных. Стандартные функции. Задачи линейной структуры Задание 1
- •Задание 2
- •Указание к выполнению: перед составлением программы необходимо выполнить следующие этапы:
- •Образец выполнения задания
- •Writeln(‘значение искомого выражения равно’, y:8:4); {вывод результата на экран}
- •Образец выполнения задания
- •Тема: Логические выражения. Логический тип. Условный оператор. Оператор выбора. Программирование разветвляющихся алгоритмов
- •Логический тип
- •Условный оператор
- •Оператор выбора
- •Лабораторная работа №2 Тема: Логические выражения. Логический тип. Условный оператор. Оператор выбора. Программирование разветвляющихся алгоритмов
- •Задание 2
- •Образец выполнения задания
- •Текст программы
- •Тема: Циклические структуры. Программирование циклических алгоритмов. Циклы
- •Простой арифметический цикл (цикл с параметром)
- •Арифметический цикл с произвольным шагом
- •Итерационные циклы
- •Оператор цикла с постусловием
- •Оператор цикла с предусловием
- •Лабораторная работа №3 Тема: Циклические структуры. Программирование циклических алгоритмов. Задание 1
- •Текст программы
- •Приложение: работа в среде программирования Паскаль
- •Работа с окнами
- •Редактирование текста программы
- •Пошаговое выполнение программы
- •Как посмотреть результат выполнения программы?
- •Литература
- •Содержание
Оператор выбора
Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа.
Структура оператора выбора в Паскале такова:
Case <ключ_выбора> of
<список_выбора>
[else <оператор_иначе>] end
Здесь case, of, else, end – зарезервированные слова (случай, из, иначе, конец);
<ключ_выбора> - выражение порядкового типа;
<список_выбора> - одна или более конструкций вида:
<константа_выбора>: <оператор>;
<константа_выбора> - константа того же типа, что и выражение <ключ_выбора>;
<операторы> - произвольные операторы Паскаля.
Оператор выбора работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности <список_выбора> отыскивается константа, равная вычисленному значению. Выполняется оператор, который следует за найденной константой, после чего оператор выбора завершает работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else <оператор_иначе> можно опустить, тогда при отсутствии в списке выбора нужной константы не будет выполнено никаких действий, и оператор выбора просто завершит свою работу.
Например, составим программу, которая по номеру дня недели выводит на экран его название:
Program dni_nedeli;
Var n: byte;
Begin
Readln(n);
Case n of
1: writeln(‘понедельник’);
2: writeln(‘вторник’);
3: writeln(‘среда’);
4: writeln(‘четверг’);
5: writeln(‘пятница’);
6: writeln(‘суббота’);
7: writeln(‘воскресенье’);
else writeln(‘дня недели с номером’,n,’нет’);
end;
end.
Следует помнить, что все константы из списка выбора должны быть различны.
Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора, разделенных запятыми. Например, следующая программа при вводе одного из символов ‘y’ или ‘Y’ выведет на экран «Да», а при вводе ‘n’ или ‘N’ – слово «Нет».
Var ch: char;
Begin
Readln(ch);
Case ch of
N, n: writeln(‘Да’);
Y, y: writeln(‘Нет’);
End;
End.
Очевидно, что рассмотренные выше программы можно записать с помощью вложенных или последовательно расположенных условных операторов, но в подобных задачах использование оператора выбора является более простым. Основное отличие условного оператора от оператора выбора состоит в том, что в условном операторе условия проверяются одно за другим, а в операторе выбора значение ключа выбора непосредственно определяет одну из возможностей.
Лабораторная работа №2 Тема: Логические выражения. Логический тип. Условный оператор. Оператор выбора. Программирование разветвляющихся алгоритмов
Задание 1
Указание к выполнению: задание 1 выполняется в тетради по вариантам.
Вариант 1
Вычислить значение выражения при a= true и b= false: a or b and not a
Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: точка (x,y) лежит вне круга радиуса r с центром в точке (1,0)
Вариант 2
Вычислить значение выражения при a= true и b=false: (a or b) and not a
Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: уравнение ax2+bx+c=0 (a0) не имеет вещественных корней.
Вариант 3
Вычислить значение выражения при a= true и b=false: not a and b
Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: x принадлежит отрезку [2,5] или [-1,1]
Вариант 4
Вычислить значение выражения при a= true и b=false: not (a and b)
Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: x лежит вне отрезков [2,5] и [-1,1]
Вариант 5
Вычислить значение выражения при c=true: not (pred(c) or (ord(c)=1))
Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: каждое из чисел x, y, z положительно
Вариант 6
Вычислить значение выражения при p=q=true: (p< true)=(q= false)
Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: хотя бы одно из чисел x, y, z положительно
Вариант 7
Вычислить значение выражения при a=false, b=true: a and b > a or b
Записать на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: ни одно из чисел x, y, z не является положительным
Вариант 8
Если a=true и x=1, то какое значение получит логическая переменная d после присваивания d:= not a or odd(x) ?
Нарисовать область, в которой истинно выражение: (abs(x)<=1) and (abs(y)>=1)
Вариант 9
Если a=true и x=1, то какое значение получит логическая переменная d после присваивания d:= ord(a) <> x ?
Нарисовать область, в которой истинно выражение: (sqr(x)+sqr(y)<=4) and (y<=x)
Вариант 10
Написать оператор присваивания, в результате которого логическая переменная t получает значение true, если выполняется указанное условие: числа x, y, z равны между собой
Нарисовать область, в которой истинно выражение: (y>=x) and (y+x>=0) and (y<=1)
Вариант 11
Написать оператор присваивания, в результате которого логическая переменная t получает значение true, если выполняется указанное условие: из чисел x, y, z только два равны между собой
Нарисовать область, в которой истинно выражение: (y>=x2) and (x>=0) and (y<=1)
Вариант 12
Написать оператор присваивания, в результате которого логическая переменная t получает значение true, если выполняется указанное условие: p делится нацело на q (p и q натуральные числа)
Нарисовать область, в которой истинно выражение: (sqr(y)+sqr(x)<1) or (y>0) and (abs(x)<=1)
Вариант 13
Вычислить значение выражения при t=true, p=101010: t and (p mod 3=0)
Записать выражение истинное при выполнении условия: сумма цифр двухзначного числа нечетна
Вариант 14
Вычислить значение выражения при t=15: t mod 7= t div 5 –1
Записать выражение истинное при выполнении условия: точка с координатами (x,y) лежит в первой или третьей четверти координатной плоскости
Вариант 15
Вычислить значение выражения при p=0.182: odd( trunc(10*p))
Записать выражение истинное при выполнении условия: цифра 5 входит в десятичную запись трехзначного натурального числа
