веденных семи позициях слово true, если значение переменной a меньше b, и слово false в противном случае.
Контрольные вопросы и упражнения
1)Можно ли вводить с помощью оператора read значения булевского типа?
2)Что получится в результате выполнения операторов?
а) write ( ‘a’:3, 2:1); writeln (5*3.2);
б) writeln (5<6.5 < =8:8); writeln (‘ конец ‘); в) writeln (5*3.2:1,’ результат ‘);
3)Написать программу для вычисления выражения
5.237.62 sin
7
sin 2 3.1 7
без использования оператора присваивания.
2.3. Оператор безусловного перехода
Рассмотренные операторы присваивания и ввода – вывода относятся к простым операторам, так как не содержат в себе других операторов и служебных (зарезервированных) слов. Наряду с ними к группе простых операторов относится оператор безусловного перехода. Он применяется в случае, когда необходимо выполнить не следующий по порядку оператор, а какой-либо другой, отмеченный меткой (метка может содержать как цифровые, так и буквенные символы). Все метки, встречающиеся в программе, должны быть описаны в разделе меток после ключевого слова LABEL.
Формат оператора: GOTO < метка> ;
При прочтении данного оператора ЭВМ находит в программе оператор с указанной меткой и продолжает выполнение программы, начиная с этого оператора.
При использовании оператора GOTO необходимо выполнение правила: метка, на которую передается управление, должна находиться в том же блоке или модуле, что и сам оператор перехода; то есть областью действия метки является тот блок, в котором она описана, и переход возможен только в пределах блока.
Язык Паскаль является структурированным, поэтому особой
14
необходимости в операторе безусловного перехода нет.
Контрольные вопросы и упражнения
1) Чему будет равно значение переменной х после выполнения следующего фрагмента программы:
x:= 3; goto 5;
3: x:=x +1.5; goto 2:
5:x:=x+2.0; goto 3;
2:. . . . . . .
2)Что произойдет с программой
program primer; label m1, m2;
. . . . . . . . . . .
begin m1: goto m2; m2: goto m1
end.
2.4.РАБОТА С ЭВМ
2.4.1.Организация ввода – вывода
Цель задания:
1.Освоение простейшей структуры программы.
2.Получение навыков в организации ввода – вывода значений стандартных типов данных.
3.Получение практических навыков работы в диалоговом ре-
жиме.
Методические рекомендации
1.При вводе с терминала числа и символы можно набрать как на одной строке, так и на разных строках. При этом надо помнить, что ввод со следующей строки осуществляется в том случае, если предыдущим оператором ввода является readln.
2.Переменной логического типа можно присвоить значение либо в разделе описания констант, либо в операторе присваивания. Вве-
15
сти значения переменных логического типа нельзя.
3. При работе в интерактивном (диалоговом) режиме следует перед операторами ввода использовать оператор вывода на экран приглашения – подсказки о том, что наступило время ввода информации и какой именно.
Пример. Составить программу для ввода и вывода данных различных типов.
Исходные данные: k = 37, l =432, m = 76, x=3.24, y = 56.678, s1= ‘*’, s2=’g’, s3=’#’, fam = ’ Петров И.Н.’
program in _ out; const bool = true;
var k, l, m : integer; x,y: real; s1, s2, s3: char; fam: string [20]; begin
write (‘введите фамилию:’); readln (fam);
writeln;
write ( ‘введите целые числа k,l,m:’); readln ( k, l, m);
writeln;
writeln (‘ ‘:30, ‘целые числа’); writeln;
writeln(‘ ‘:5,’стандартныйформат ‘,‘ ‘:18,’ заданнаяширинаполя’); writeln;
writeln (‘ ‘:11,k, ‘ ‘,l,’ ‘,m,’ ‘:26,’k=’,k:3,’l=’,l:2,’m=’,m:5); writeln;
write (‘введите вещественные числа x, y:’); readln (x, y);
writeln;
writeln (‘ ‘:25,’вещественные числа’); writeln;
writeln (‘ ‘:5,’стандартныйформат’,’ ‘:18,’заданнаяширинаполя’); writeln;
writeln (‘ ‘,x, y, ‘ ‘:5,’x=’,x:8:2,‘ y=’,y:6:3); writeln;
write (‘введите символы s1, s2, s3:’); readln (s1, s2, s3);
writeln;
writeln (‘ ‘:20, ‘символьные переменные’); writeln;
16
writeln(‘ ‘:5, ‘стандартный формат’,’ ‘:10, ‘с шириной поля 5’); writeln;
writeln(‘ ‘:5, ‘ s1=’, s1,’ s2=’,s2, ‘ s3=’, s3,’ ‘:12, s1:5, s2:5, s3:5); writeln;
writeln (‘логическая переменная=’, bool); writeln;
writeln(‘ ‘:35, ‘программу выполнил :’,fam :12) end.
Протокол работы программы:
введите фамилию: Петров И.Н. |
|
введите целые числа k, l, m: -37 432 76 |
|
целые числа |
|
стандартный формат |
заданная ширина поля |
-37 432 76 |
к =-37 l =432 m = 76 |
введите вещественные числа x, y : 3.24 |
56.678 |
вещественные числа |
|
стандартный формат |
заданная ширина поля |
3.2400000000Е+00 5.6678000000Е+01 |
х= 3.24 y=56.678 |
Введите символы : s1, s2, s3 : *G # |
|
Символьные переменные |
|
стандартный формат |
с шириной поля 5 |
s1 = * s2 = G s3 = # |
* G # |
логическая переменная = true
программу выполнил Петров И.Н.
17
2.4.2. Вычисление выражений. Использование стандартных функций
Цель задания:
1.Изучение порядка действий при вычислении выражений.
2.Приобретение навыков в записи выражений на языке Паскаль
ииспользовании стандартных функций.
Постановка задачи:
а) Найти значение функции y(x) при заданном х. Используя стандартные функции, вычислить y11 = [ y ], где [ ] означает целую часть числа;
y22 = [ y 0.5], (« + » для y > 0 и « - » для y < 0).
б) Записать выражение, зависящее от заданных в условии координат точки x1 и y1 и принимающее значение true, если точка принадлежит заштрихованной области, и false, если не принадлежит. Для заданной точки вычислить и вывести значение этого выражения.
Методические рекомендации
1.Функции, отсутствующие в списке стандартных функций языка Паскаль, выразить через имеющиеся.
2.Вывод значения выражения в данной точке организовать, используя запись выражения в операторе writeln.
Пример. Составить на языке Паскаль программу, которая вычисляет y(x) = 3-x+1sin(x) при заданном х, выводит y11, y22 и проверяет принадлежность точки с координатами (x1, y1) заштрихованной области.
y
1 1
0 1 |
1 1 |
x |
|
|
|
Рис. 1
Исходные данные: x = -1.5, x1 = 0.5, y1 = 1.2
18
| 05_Холера |
| 10.4. Исследование регистров |
| 1112 |
| 12 |
| 1285 |
| 1560 |
| 1568 |
| 1604248853606027 |
| 1673 |
| 17 |