Тема 2.
Что спрашивать у студента из теории?
Тип переменных – логический.
Инструкция альтернативного выбора IF-THEN-ELSE.
Инструкция выбора CASE.
Тип переменных – символьный.
Тип переменных – логический.
Имя логического типа - Boolean.
Пример объявления: Var a1,b,d : boolean;
Два значения (константы) логического типа – (False , True).
Логические операции: сложение (and), умножение (or ), исключающее ИЛИ (xor), отрицание (not).
Значение переменной |
Результат операции |
||||
x |
y |
x and y |
x or y |
x xor y |
not x |
false |
false |
false |
false |
false |
true |
false |
true |
false |
true |
true |
true |
true |
false |
false |
true |
true |
false |
true |
true |
true |
true |
false |
false |
Математические операции сравнения дают логический результат.
Например: d := a1 and b; b :=not a1 or d; d := (i<3) and (k>8).
Инструкция альтернативного выбора IF-THEN-ELSE.
Инструкция выбора одного варианта действий из двух возможных.
Блок-схема:
Диаграмма имеет вид:
Примеры:
----------------------------------------------------------------
if a > 0 then x:= a else y:= a ;
d := a > 0 ; {переменная d логического типа}
if d then x:= a else y:= a ;
----------------------------------------------------------------
if (a > 0) or (a = -3) then x:= a else y:= a ;
d := (a > 0) or (a = -3); {переменная d логического типа}
if d then x:= a else y:= a ;
----------------------------------------------------------------
if a > b then begin x := 3; y := a; z := sin(b) end
else begin x := 4; y := b; z := cos(b) end ;
d := a > b ; {переменная d логического типа}
if d then begin x := 3; y := a; z := sin(b) end
else begin x := 4; y := b; z := cos(b) end ;
----------------------------------------------------------------
if a>b then write(‘a больше b’)
else write(‘a меньше или равно b’) ;
d := a <= b; {переменная d логического типа}
if d then y:= sin(a) else y:= sin(b) ;
Задачи для классной и домашней работы (не менее 4-6 в классе и 5-10 дома). 4.11 – 4.52. В домашнюю работу включить задачи. 4.1 – 4.10.
Заострить внимание на погрешностях вычислний. Придумать примеры.
Инструкция выбора CASE.
Инструкция предназначена для выбора одного варианта действий из многих возможных.
Блок-схема:
Синтаксическая диаграмма имеет вид:
Пример: сase 2*(i + 1) of
1 : x := 3.31;
2, 7, 8 : x := 5.75;
3 : x := sin(a * b);
4 : x := 6.45548;
else x := 0
end;
Тип переменных – символьный.
Имя символьного типа - Char.
Пример объявления: Var a1,b,d : char;
Символьный тип определен как некоторый упорядоченный набор символов пронумерованных от 0 до 255. Символ в памяти компьютера занимает место размером в один байт. Номер (код) символа возвращает функция Ord(x), где x значение символьного типа. Функция Chr(x) возвращает символ, где x значение типа Byte.
Таблица кодов некоторых символов
! |
33 |
* |
42 |
3 |
51 |
< |
60 |
E |
69 |
N |
78 |
W |
87 |
` |
96 |
i |
105 |
r |
114 |
“ |
34 |
+ |
43 |
4 |
52 |
= |
61 |
F |
70 |
O |
79 |
X |
88 |
A |
97 |
j |
106 |
s |
115 |
# |
35 |
, |
44 |
5 |
53 |
> |
62 |
G |
71 |
P |
80 |
Y |
89 |
B |
98 |
k |
107 |
t |
116 |
$ |
36 |
- |
45 |
6 |
54 |
? |
63 |
H |
72 |
Q |
81 |
Z |
90 |
C |
99 |
l |
108 |
u |
117 |
% |
37 |
. |
46 |
7 |
55 |
@ |
64 |
I |
73 |
R |
82 |
[ |
91 |
D |
100 |
m |
109 |
v |
118 |
& |
38 |
/ |
47 |
8 |
56 |
A |
65 |
J |
74 |
S |
83 |
\ |
92 |
E |
101 |
n |
110 |
w |
119 |
‘ |
39 |
0 |
48 |
9 |
57 |
B |
66 |
K |
75 |
T |
84 |
] |
93 |
F |
102 |
o |
111 |
x |
120 |
( |
40 |
1 |
49 |
: |
58 |
C |
67 |
L |
76 |
U |
85 |
^ |
94 |
G |
103 |
p |
112 |
y |
121 |
) |
41 |
2 |
50 |
; |
59 |
D |
68 |
M |
77 |
V |
86 |
_ |
95 |
H |
104 |
q |
113 |
z |
122 |
Пример:
----------------------------------------------------------------
if с = ‘Y’ then L := ‘N’ else L := ‘8’;
----------------------------------------------------------------
сase с of {переменная с символьного типа}
‘+’ : x := a + b;
‘-’ : x := a - b;
‘*’ : x := a * b;
‘/’ : x := a / b;
else write(‘нет такой операции’)
end ;
----------------------------------------------------------------
сase Chr(Ord(с)+1) of
‘+’,‘-’, ‘*’, ‘/’ : write(‘знаки арифметических операций ’);
‘a’.. ‘z’, ‘A’.. ‘Z’: write(‘буквы ’);
end;
if с = ‘Yes’ then L := not (с = ‘Yes’) ;
Задачи для классной работы. 9.6.
Написать программу, которая проверяет, является ли введенное целое число, кодом прописной латинской буквы.
Написать программу, которая выводит коды введенных символов.
Написать программу, которая сообщает о том, что введенная буква является согласной (гласной).
Написать программу, которая сообщает о том, что введенный символ - цифра.
Итог. Контрольная работа по всем разделам темы 2.
