Материал: Паскаль. типы данных, операторы. методические указания для самостоятельной работы по дисциплине «Информатика». Кононов А.Д., Кононов А.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

веденных семи позициях слово 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