Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

WinRAR ZIP archi / 2011_Лабораторные по инф_паскаль_Ч1

.pdf
Скачиваний:
43
Добавлен:
14.02.2015
Размер:
330.12 Кб
Скачать

 

Таблица 14.1 -

Наиболее употребительные символы, применяемые

в схемах алгоритмов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наименование

 

Обозначение

Функция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнение

операций

 

 

 

 

Действие

 

 

 

 

 

 

 

 

 

 

 

 

 

с данными

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбор направления в

 

 

 

 

 

Условие

схеме в зависимости от

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

условий

 

 

 

Модификация

 

 

 

Действия

Организация

выполне-

 

 

 

 

 

ния цикла с парамет-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рами

 

 

 

Данные

 

 

 

 

 

Данные

Ввод и вывод данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пуск, останов

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало и конец про-

 

 

 

 

 

 

 

Действие

цесса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Соединитель

 

 

 

 

 

 

 

 

 

 

 

 

 

Указание на связь ме-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жду

прерванными

 

 

 

 

 

 

 

 

Имя

линиями

потока обра-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ботки

 

 

 

Комментарий

 

 

 

 

 

 

 

 

 

 

 

 

 

Пояснение

выполняе-

 

 

 

 

 

 

 

Комментарий

мых операций с дан-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ными

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предопределенный

 

 

 

 

 

 

 

 

 

 

 

 

Обращение программы

 

 

 

 

 

Имя

 

 

 

 

 

 

процесс

 

 

 

 

 

 

 

 

 

к подпрограммам

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дисплей

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод данных на дис-

 

 

 

 

 

 

 

Данные

плей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Граница цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало и конец любого

 

 

 

 

 

 

 

Начало

 

 

 

цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21

Контрольные вопросы

1.Что рекомендуется сделать непосредственно перед тем, как начать писать текст компьютерной программы?

2.Как запустить программу на трансляцию и выполнение?

3.Как записываются операторы начала и конца программы?

4.Из каких разделов состоит программа на языке

PascalABC.NET?

5.В какой последовательности должны быть записаны разделы программы на языке PascalABC.NET?

Задачи

1.Определить время падения камня на поверхность земли с высоты h.

2.Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.

3.Вычислить высоту треугольника, опущенную на сторону а, по известным значениям длин его сторон a, b, c.

4.Вычислить площадь треугольника по формуле Герона, если заданы его стороны.

5.По данным сторонам прямоугольника вычислить его периметр, площадь и длину диагонали.

6.Даны два числа. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.

7.Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

8.Найти длину окружности и площадь круга заданного радиуса R.

9.Дана сторона равностороннего треугольника. Найти площадь этого треугольника и радиусы вписанной и описанной окружностей.

10.Найти площадь кольца, внутренний радиус которого равен R1, а внешний радиус равен R2 (R1 < R2).

22

Лабораторная работа №15

Условный оператор и оператор выбора. 2 часа.

Цель работы: получение практических навыков разработки и выполнения компьютерной программы.

Предмет и содержание работы: разработка, запуск и отладка компьютерных программ, содержащей условные и операторы выбора.

Технические средства и программное обеспечение: персональный компьютер с операционной системой Windows™, система PascalABC.NET

Условный оператор имеет полную и краткую формы.

Полная форма условного оператора выглядит следующим образом:

if условие then оператор1 else оператор2

В качестве условия указывается некоторое логическое выражение. Если условие оказывается истинным, то выполняется оператор1, в противном случае выполняется оператор2.

Краткая форма условного оператора имеет вид:

if условие then оператор

Если условие оказывается истинным, то выполняется оператор, в противном случае происходит переход к следующему оператору программы.

В случае конструкции вида

if условие1 then

if условие2 then оператор1 else оператор2

else всегда относится к ближайшему предыдущему оператору if, для которого ветка else еще не указана. Если в предыдущем примере требуется, чтобы else относилась к первому оператору if, то необходимо использовать составной оператор:

23

if условие1 then begin

if условие2 then оператор1 end

else оператор2

Например:

if a<b then min := a else min := b;

Простые логические выражения

Простое логическое выражение состоит из двух переменных или выражений, связанных операцией отношения. Например, SUMMA=6 представляет собой логическое выражение, в котором SUMMA является числовой переменной, знак "=" является операцией отношения, а 6 это константа.

Логическое выражение SUMMA=6 истинно, если переменная SUMMA имеет значение 6. При любых других значениях логическое выражение SUMMA=6 ложно.

Отметим, что любое логическое выражение может иметь только два значения: TRUE (истина) и FALSE (ложь), никакого другого значения быть не может. Существует шесть операций отношения:

1.= (равно);

2.<> (не равно);

3.< (меньше чем);

4.<= (меньше чем или равно);

5.> (больше чем);

6.>= (больше чем или равно). Ъ

Пример программы, которая проверяет, равно ли введенное число заданному значению и выводит результат проверки на экран.

program N_15_1;

var

a: real;{описание переменных}

begin

write('введите а='); readln(a);

24

if a = 23

then

 

//если значение «а» равно 23,

тогда

 

 

 

 

 

 

 

// печатать

writeln('значение «а» равно 23')

«значение

а равно 23»

 

 

 

 

else

// иначе

 

 

 

 

writeln('значение «а» не равно 23');// печа-

тать «значение а

не равно 23»

 

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод а

 

 

 

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

а = 23

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод

 

Вывод

 

 

значение а

 

значение а не

 

равно 23

равно 23

 

Конец

Рисунок 15.1 - Схема алгоритма программы N_15_1

Составные логические выражения

Используя ключевые слова AND (И) или OR (ИЛИ) можно объединить вместе несколько простых логических выражений.

Пример программы, которая проверяет, равны ли введенные числа заданым значениям и выводит результат проверки на экран.

program N_15_2;

var

a, b: real;{описание переменных}

25

begin

а=');

//ввод с клавиатуры чис-

write('введите

ла а

 

 

readln(a);

b=');

// ввод с клавиатуры

write('введите

числа в

 

 

readln(b);

(b = 8) then // если а = 7 и в =

if (a = 7) and

8 , тогда

b)

// печатать а+в

writeln( a +

else

 

// иначе

writeln('условие не выполнено')// печатать "условие не выполнено"

end.

Начало

'введите а='

a

'введите b='

b

Да

(a = 7) and (b = 8)

'условие не выполнено'

a + b

Конец

Рисунок 15.2 - Схема алгоритма программы N_15_2

При выполнении оператора IF, истинность логического выражения проверяется в первую очередь. Если результат нулевой (ЛОЖЬ), выполняются операторы, следующие за ELSE. Если логическое выражение имеет значение (ИСТИНА), выполняются операторы, следующие за

26

соответствующим THEN, а затем выполняет переход на оператор, следующий за концом блока.

Операторы IF могут быть вложенными, т.е. любой из операторов после любого THEN может содержать блоки IF. (Полезно сдвигать операторы, соответствующие каждой проверке, на два пробела, как показано в примере.)

В следующем примере программа выводит на экран меню и предлагает пользователю выбрать один из вариантов. В зависимости от сделанного выбора на экран выводится строка различных символов. Если введено число, которое не указано в меню, пользователь получает сообщение о том, что выбор неправилен.

program N_15_3;

var

choice: real;{описание переменных}

begin

writeln('Меню команд'); writeln;

writeln('1. Вывести строку из звездочек'); writeln('2. Вывести строку из минусов); writeln('3. Вывести строку из запятых'); write('ваш выбор?');

readln(choice);

if (choice < 1) or (choice > 3) then writeln('Неправильный выбор')

else begin

if choice = 1 then write('**************************');

if choice = 2 then write('--------------------------');

if choice = 3 then write(',,,,,,,,,,,,,,,,,,,,,,,,,,');

end end.

27

Начало

 

'Меню команд'

 

'1. Вывести строку из

 

звездочек'

 

'2. Вывести строку из минусов'

 

'3. Вывести строку из запятых'

 

'ваш выбор?'

 

choice

 

(choice < 1) or (choice >

Y

3)

 

Y

'Неправильный выбор'

choice = 1

 

'****************'

 

Y

 

choice = 2

 

'----------------'

 

Y

choice = 3

',,,,,,,,,,,,,,,,'

Конец

Рисунок 15.3 - Схема алгоритма программы N_15_3

28

Оператор выбора

Оператор выбора выполняет одно действие из нескольких в зависимости от значения некоторого выражения, называемого переключателем. Он имеет следующий вид:

case переключатель of список выбора 1: оператор1;

...

список выбора N: операторN; else оператор0

end;

Переключатель представляет собой выражение порядкового типа, а списки выбора содержат константы совместимого по присваиванию типа. Как и в операторе if, ветка else может отсутствовать.

Оператор case работает следующим образом. Если в одном из списков выбора найдено текущее значение переключателя, то выполняется оператор, соответствующий данному списку. Если же значение переключателя не найдено ни в одном списке, то выполняется оператор по ветке else или, если ветка else отсутствует, оператор case не выполняет никаких действий.

Список выбора состоит либо из одной константы, либо из диапазона значений вида a..b (константа a должна быть меньше константы b); можно также перечислить несколько констант или диапазонов через запятую:

case DayOfWeek of

1..5: writeln('Будний день'); 6,7: writeln('Выходной день'); end;

Списки выбора не должны пересекаться. Например, следующий фрагмент

case i of

2,5: write(1); 4..6: write(2); end;

приведет к ошибке компиляции.

29

На примере программы 15_4 мы можем видеть, что задача выбора с помощью оператора case решается более просто и компактно.

рrogram N_15_4;

var

choice: integer;{описание переменных}

begin

writeln('Меню команд'); writeln;

writeln('1. Вывести строку из звездочек'); writeln('2. Вывести строку из минусов'); writeln('3. Вывести строку из запятых'); write('Ваш выбор?');

readln(choice); case choice of

1: write('*****************');

2: write('------------------');

3: write(',,,,,,,,,,,,,,,,,,'); else

writeln( 'Неправильный выбор') end;

end.

30