Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Формат записи:
case <селектор> of
<список меток 1>:<оператор1>;
<список меток 2>:<оператор2>;
. . .
<список меток n>:<операторn>;
else <операторы n+1>;
end;
где <селектор> - выражение любого типа, кроме Real и String
<оператор> - любой оператор языка Паскаль;
<список меток> - список меток варианта, эти метки не описываются в разделе label;
метка варианта не описывается в разделе label, на нее нельзя ссылаться оператором goto.
Выполнение оператора:
- вычисляется значение выражения <селектор>; находится метка, равная вычисленному значению; выполняется оператор, стоящий после этой метки; если же среди меток отсутствует вычисленное значение селектора, то будет выполнен оператор, стоящий после else; часть else может отсутствовать, в этом случае оператор выбора завершит свою работу.
Пример. Определение кратности целых чисел от 0 до 9 числам 2 и 3.
Program kratnost;
var i, j: integer;
Begin
write('введите целое число от 1 до 9:'); readln(i);
case i of
2,4,8: writeln(i,' кратно 2');
3,9: writeln(i,' кратно 3');
6: writeln(i,' кратно 2 и 3');
else writeln(i,' не кратно числам 2 и 3’);
end;
End.
Данный пример показывает, что оператор выбора следует использовать, если для решения задачи необходимо проверить большое количество условий.
Типовые программы на использование разветвляющихся алгоритмов:
Пример 1. Вычислить значение функции в произвольной точке с учетом области определения.

Д(у): 1-х2 > 0, х2 < 1, | х |< 1.
Program func_odz;
uses crt;
var x, y: real;
Begin
clrscr;
write(‘введите значение аргумента х’); readln(x);
if abs(x)<1 then begin
y:=1/sqrt(1-x*x);
writeln(‘y(‘,х:4:2,’)= ‘,y:4:2);
end
else writeln(‘функция в точке’,x:4:2,’не определена.’);
End.
Пример 2. Определить, принадлежит ли заданная точка (х, у) заштрихованной области.
Фигура определяется неравенством | x | + | y | £ 2
Program figura;
uses crt;
var x, y: real;
Begin
clrscr;
write(‘введите координаты точки’);readln(x, y);
if (abs(x)+ abs(y)<=2) then
write(‘точка (‘,x:3:1,’;’,y:3:1,’) принадлежит данной фигуре’)
else
write(‘точка (‘,x:3:1,’;’,y:3:1,’) не принадлежит данной фигуре’);
End.
Пример 3. Для произвольных a и b вычислить значение функции

Program func_slozh;
uses crt;
var a, b,f: real;
Begin
clrscr;
write(‘введите аргументы функции’); readln(a, b);
if (a<>0) and (b<>0) then f:=(a–2*b)/(2*a^2 + 5*b^2)
else if (a>0) and (b>0) then f:=sqrt(a*b);
writeln(‘функция при a=’,a:3:1,’и b=’,b:3:1,’равна’,f:3:1);
End.
Пример 4. Даны три различных числа. Определить большее из них.
В этом примере используется вложенная конструкция оператора перехода по условию. Восьмая строка программы показывает, как можно использовать сочетание операторов перехода по условию и безусловного перехода для проверки правильности ввода данных.
Program bolshee_iz_3;
uses crt;
label metka;
var a, b,c: integer;
Begin
clrscr;
metka: write(‘введите три различных числа’); readln(a, b,c);
if (a=b) and (a=c) and (b=c) then goto metka:;
if (a>b) and (a>c)
then writeln(‘первое число – наибольшее’)
else if (b>a) and (b>c)
then writeln(‘второе число – наибольшее’)
else writeln(‘третье число – наибольшее’);
End.
Вопросы
Какой алгоритм называется разветвляющимся? Приведите примеры разветвляющихся алгоритмов из жизни. Как графически реализуется разветвляющийся алгоритм? Чем отличается альтернатива от коррекции? Что такое условие в разветвляющемся алгоритме? Для чего используется оператор безусловного перехода? Охарактеризуйте различные варианты оператора перехода по условию. Как «работает» каждый из этих вариантов? Что такое составной оператор? Что такое вложенные конструкции? Как связаны между собой линейный и разветвляющийся алгоритмы? В каком случае используется оператор выбора? Как «работает» оператор выбора? Приведите примеры задач, решаемых с помощью разветвляющихся алгоритмов.Задания
1. Подберите по пять значений величин a и b, чтобы логическое выражение было равно:
TRUE и FALSE:
а) (a + b > 5) AND (a – b <= 3)
б) (a > 2*b) OR (b <= a / 3)
в) (a < b / 2) OR (b >= 3*a)
г) (a – b < 2) AND (a + b >= 6)
2. Выберите пары величин, при которых булевское выражение равно:
а) TRUE, б) FALSE
а) (sqr(x)+sqr(y)=4) and (x>0), при (x, y) = (1, Ö3); (-Ö3, 1); (1, -Ö3); (3, 1)
б) (a>b*b) OR (b<=a), при (a, b) = (5, 2); (6, 7); (4, 4)
в) (sqr(a)+sqr(b)=3) and (b>0), при (a, b) = (1, Ö2); (Ö2, -1); (-Ö2, 1); (1, 2)
г) (x>=y) OR (y<x*x), при (x, y) = (4, 3); (2, 5); (-5, 20)
3. Найти значение величины Х после выполнения операторов:
а) if (a>b–5) and (a<=b+8) then x:=b–5
else x:=b+8
при (a, b) = (15, 10); (-3, 5); (13, 4)
б) if abs(m+n)>5 then x:=abs(m–n)
при (m, n) = (-3, -3); (7, -2); (-2, 8)
в) if (m>=n–3) and (m<n+5) then x:=n–3
else x:=n+5
при (m, n) = (0, -5); (7, 10); (10, 14)
г) if sqr(a+b)<4 then x:=sqr(a-b),
при (a, b) = (3, -2); (4, -1); (-2, 1)
4. Записать следующие предложения в виде булевских выражений:
а) a Î [b – 5; b);
б) периметр прямоугольника со сторонами a и b равен длине окружности радиуса R;
в) х – положительное число или не больше квадрата разности Z и Y;
г) b Î (a; a + 4];
д) каждое из чисел x, y, z положительно;
е) хотя бы одно из чисел x, y и z положительно;
ж) ни одно из чисел x, y и z не является положительным;
з) только одно из чисел x, y и z положительно;
и) площадь квадрата со стороной a равна площади круга радиуса R;
к) х – неотрицательное число или меньше суммы квадратов Z и Y;
л) треугольник со сторонами a, b, c (c – наибольшая) – прямоугольный;
м) точка с координатами (х, у) принадлежит III четверти;
н) число А – четное;
о) Х принадлежит области определения функции
;
п) точка с координатами (х, у) принадлежит заштрихованной области:
|
|
|
5. По блок-схемам составить программы:
а)
| б)
| в)
|
6. По программам примеров 1 – 4 (стр.33-34) составить блок-схемы.
7. Найти ошибки в следующих фрагментах программ:
а) 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;
8. Составить план решения задач с помощью компьютера.
1) Вычислить значение функции в произвольной точке с учетом области определения.
а)
; б)
; в) 
г)
; д) 
2) Дано значение х. Вычислить значение функции:

3) Определить, принадлежит ли заданная точка (х, у) заштрихованной области
из №4 (п).
4) Найти квадрат наибольшего из двух чисел a и b. Ответ напечатать в форме: Даны числа... и... . Квадрат большего из них равен... .
5) Определить, в какой координатной четверти находится точка с координатами (x, y).
6) Заданы координаты двух точек. Определить, лежат ли они на одной окружности:
а) с центром в начале координат;
б) с центром в произвольной точке (а, b).
7) Вычислить значения функции для произвольных значений К и Х (использовать оператор выбора):

В иных случаях значение функции не определено.
8) Заданы три стороны a, b, c (с – наибольшая). Определить существует ли треугольник с такими сторонами и если да – то является ли он прямоугольным.
9) Определить, являются ли значения целочисленных переменных a и b кратными 3. Если оба значения кратны 3, то вычислить их сумму, в противном случае - разность. Предусмотреть проверку введенных с клавиатуры значений a и b на целочисленность.
10) Дано натуральное число n, не больше 30, характеризующее возраст человека (в годах). Дать правильное для n наименование: "год", "года", "лет".
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |











