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

1211021

.pdf
Скачиваний:
12
Добавлен:
23.03.2015
Размер:
751.07 Кб
Скачать

Оглавление

 

Методические указания к выполнению лабораторных работ........................

4

Лабораторная работа № 1...................................................................................

4

Условный оператор.........................................................................................

4

Лабораторная работа № 2.................................................................................

11

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

11

Лабораторная работа № 3.................................................................................

17

Табулирование составной функции............................................................

17

Лабораторная работа № 4.................................................................................

24

Табулирование функции и ее разложения в сумму ряда..........................

24

Лабораторная работа № 5.................................................................................

33

Обработка одномерных массивов ...............................................................

33

Лабораторная работа № 6.................................................................................

41

Обработка двумерных массивов..................................................................

41

Лабораторная работа № 7.................................................................................

48

Обработка строк с использованием множественного типа данных ........

48

Библиографический список .............................................................................

59

3

Методические указания к выполнению лабораторных работ

Лабораторные работы выполняются индивидуально в соответствии с вариантом задания. Перед началом работы необходимо изучить теоретический минимум, который дается в начале описания каждой лабораторной работы. Для лучшего усвоения теории к каждой лабораторной работе предлагается практический пример выполнения работы, тщательный разбор которого поможет студенту выполнить индивидуальное задание. Все лабораторные работы выполня-

ются на языке Turbo Pascal 7.0.

Написанная и отлаженная программа после запуска на выполнение должна выводить информацию об авторе, номере варианта, назначении программы (приводится лабораторное задание полностью). Вводу данных с клавиатуры обязательно должно предшествовать текстовое сообщение о типе и количестве вводимых данных.

Указанные требования распространяются на все лабораторные работы.

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

Условный оператор

Задание: Используя разветвляющуюся структуру, составить блок-схему вычисления значения составной функции, имеющей различный вид на разных участках аргумента, затем составить программу, реализующую данный алгоритм (значение аргумента функции вводится с клавиатуры).

Теоретический материал

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

Для представления алгоритмов используются несколько способов:

словесный (описание на естественном человеческом языке);

с помощью одного из алгоритмических языков программирования;

графический (на языке блок-схем);

с использованием диаграмм;

с использованием таблиц решений;

и др.

Рассмотрим способ составления алгоритма на языке блок-схем. Блок-схема – это графическая интерпретация алгоритма, представляющая

набор геометрических фигур, каждая из которых изображает какую-либо операцию или действие.

4

Правила построения алгоритмов на языке блок-схем

1.Блок-схема строится сверху вниз.

2.В любой блок-схеме имеется только один элемент, соответствующий началу алгоритма, и один элемент, соответствующий концу алгоритма.

3.Должен быть ходя бы один путь их начала блок-схемы любому элементу.

4.Должен быть хотя бы один путь от каждого элемента блок-схемы в конец

блок-схемы.

Основные элементы, которые будут использованы при построении блоксхемы решения задачи представлены в табл. 1.1.

Таблица 1.1

Основные элементы для построения блок-схем

 

Символ

Описание символа

 

 

 

 

Процесс–формирование новых значений, выполне-

 

 

 

 

ние арифметических или логических операций или

 

 

 

 

 

 

 

 

действий, результаты которых запоминаются в опе-

 

 

 

 

ративной памяти ЭВМ

 

 

 

 

 

 

 

 

Ветвление – проверка условия:

 

 

 

 

 

 

 

 

выбор одного из двух направлений выполнения ал-

 

 

 

 

горитма в зависимости от некоторого условия

 

 

 

 

Модификация – организация циклических конст-

 

 

 

 

 

 

 

 

рукций (начало цикла)

Предопределенный процесс – вычисление по под-

программе, использование ранее созданных и отдельно описанных алгоритмов

Начало-конец программы или вход и выход в

подпрограммах.

Ввод–вывод данных – связь алгоритма с внешним миром. Вывод может осуществляться на бумагу, экран монитора, на магнитный диск.

Комментарий – пояснения, содержание подпрограмм

Условный оператор if

Иногда требуется, чтобы часть программы выполнялась не всегда, а лишь при выполнении некоторого условия (а при невыполнении этого условия выполнялась другая часть программы). В этом случае пользуются оператором условного выполнения, который записывается в следующем виде:

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

5

Под оператором понимается либо одиночный оператор (например, присваивания, вызова процедуры), либо так называемый составной оператор, состоящий из нескольких простых операторов, помещенных между словами begin и end. Важно заметить, что перед else не ставится точка с запятой.

Часть else может и отсутствовать.

Пример выполнения лабораторной работы

В качестве примера рассмотрим составную функцию вида

x 2 y = 1 + x 2

x ln cos( x)

x > 2.5

0 x 2.5 x < 0

Как видно из задания, функция вычисляется на трех диапазонах аргумента x по трем различным формулам. Составим блок-схему алгоритма решения данной задачи (рис.1.1).

начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод

 

 

 

Автор, номер варианта,

 

 

 

информац.

 

 

 

назначение программы

блока

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод ‘x=’

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод x

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

x>2.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=2x

 

 

 

x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=x3 -x

y=xsinx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выв. ‘y=’, y

конец

Рис. 1.1. Блок-схема вычисления значения составной функции

Теперь по данному алгоритму составим программу (а не наоборот) на языке Pascal.

Любую программу рекомендуется (но не обязательно) начинать с заголовка.

Program Lab1_varX;

6

Далее следует раздел описания переменных. В нашем примере понадобятся две переменные для хранения аргумента x и значения функции y. Так как и аргумент, и сама функция могут принимать дробные значения, то их необходимо описывать вещественным типом данных.

Var x,y: real;

Затем описываем основное тело программы. Как следует из блок-схемы алгоритма, вначале необходимо вывести информационный блок (автор, номер варианта, назначение программы), после чего вывести текстовую строку, которая подскажет пользователю, что нужно вводить значение аргумента. А затем считать с клавиатуры введенное пользователем число. Не забываем, что тело программы начинается с зарезервированного слова begin.

Begin

 

 

writeln;

 

 

writeln(’

Автор –

Иванов И.П., студент гр. ИСЭд-11’);

writeln(’

Вариант

№ 100’);

writeln(’Программа вводит значение аргумента X и вычисляет зна-

чение функции Y’);

 

writeln(’

|2*x

x>2.5’);

writeln(’Y=

|x^3-x

0<=x<=2.5’);

writeln(’

|x*(sin(x))

x<0’);

writeln;

 

 

writeln(’введите x= ’); readln(x);

В данном фрагменте используется два вида оператора вывода: с параметром и без параметра. В первом случае на экран выводится текст, который указан в качестве параметра, а во втором случае – пустая строка (для того чтобы сделать отступ между строками).

После того, как значение X введено оператором ввода readln(x), нужно определить, по какой формуле должна вычисляться функция. Для этого в алгоритме предусмотрены проверки значения аргумента.

If x>2.5 then Y:=2*x

Else

If x>=0 then y:=x*x*x-x

Else

Y:=x* sin(x);

Как видно, в данном фрагменте программы признак конца оператора (точка с запятой) ставится только один раз в самом конце, т. к. условный оператор заканчивается именно на последней строке, перед Else точку с запятой не ставят.

В конце программы нужно вывести результаты вычислений и завершить тело программы служебным словом end с точкой.

writeln(’Y= ’, y:7:3); readln

end.

7

Последний оператор вывода отличается от всех предыдущих. В данном случае стандартная процедура вывода writeln содержит два параметра, перечисленных через запятую. Первый параметр – это текстовая строка (’Y= ’), которую надо вывести на экран. Второй параметр – переменная Y, значение которой требуется вывести в определенном формате, о чем говорят два числа, напи-

санные через двоеточие. Первое число – количество позиций, отводимых под вывод всего числа (включая знак, целую часть числа, точку и дробную часть числа), а второе – число разрядов после запятой. В нашем случае под вывод всего числа запланировано 7 позиций, из них 3 позиции – под дробную часть, одна позиция – под точку, остается 3 позиции под целую часть и знак. Следует заметить, что если программист указал недостаточное количество позиций под вывод всего числа, то это число будет автоматически увеличено до требуемого для вывода значения.

Для того, чтобы результаты работы программы оставались на экране после выполнения программы, используем оператор ввода без параметров readln. В этом случае программа выполнит все необходимые действия и будет ожидать от пользователя нажатия клавиши Enter.

Итак, программа написана, ниже приведен ее полный текст.

Program Lab1_variant100;

Var x,y: real;

Begin

 

 

writeln;

 

 

writeln(’

Автор –

Иванов И.П., студент гр. ИСЭд-11’);

writeln(’

Вариант

№ 100’);

writeln(’Программа вводит значение аргумента X и вычисляет зна-

чение функции Y’);

 

writeln(’

|2*x

x>2.5’);

writeln(’Y=

|x^3-x

0<=x<=2.5’);

writeln(’

|x*(sin(x)))

x<0’);

writeln;

 

 

writeln(’введите x= ’); readln(x);

If x>2.5 then Y:=2*x

Else

If x>=0 then y:=x*x*x-x

Else Y:=x*sin(x);

writeln(’Y= ’, y:7:3); readln

end.

8

№ вар.

1.

3.

5.

7.

9.

11.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1.2

 

 

 

 

 

 

 

 

Варианты заданий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функция

 

вар.

 

 

 

 

 

 

 

 

 

 

 

 

Функция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2

x > 2.5

 

2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 2.5

y =

 

+

x

2

 

0 ≤ x ≤ 2.5

 

 

 

 

 

sin (2.3 x 1)

1

 

 

 

 

 

 

 

 

1 3 ln

 

 

 

0 <= x <= 2.5

 

 

 

 

 

 

 

 

x < 0

 

 

y =

1 x

 

 

 

 

 

 

 

 

 

 

 

x ln

cos( x )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 1

 

4.

 

 

 

2

3

+2.5x

2

 

x>12.5

(tg(x2 1))

 

 

 

=

x

 

 

 

 

y = −2x

 

 

 

 

 

0 ≤ x ≤ 1

 

 

y

 

x +

5

+

cos(0.001x)

0

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

x 12.5

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

x < 0

ecos(x)

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1+

 

cos(x)

x >1

 

6.

 

 

2.5 x3

 

+6 x2 30

x > 1.5

 

 

 

 

 

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

0 x 1.5

y =

 

 

 

 

 

 

 

-0.5 ≤ x ≤ 1

 

 

x +1

 

 

 

 

 

 

 

x +1

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < -0.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < 0

 

1- x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 + x

 

 

 

x > 14.5

 

8.

 

 

 

ln | 1+ x |

 

 

x > 3.8

y =

 

x

 

 

 

 

 

3 ≤ x ≤ 14 .5

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

2.8 x 3.8

e

 

 

 

 

 

 

 

ex

 

 

 

 

 

 

 

 

cos (x )

x <3

 

 

 

 

 

cos(x)

 

 

 

 

x < 2.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

+

 

 

cos (x )

x > 4

 

10.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 3.61

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e ( x + 8 )

 

 

y =

x

+ 1

 

 

 

0 ≤ x ≤ 4

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

0 x 3.61

 

1

x 2

x < 0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

x > 1.5

 

12.

 

 

 

1

 

 

cos( 2 x)

x > 2.5

 

 

 

 

 

 

 

 

0 ≤ x ≤ 1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y =

 

 

 

 

cos( 2 x)

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

1 x 2.5

2 x 2

 

 

 

 

 

x 2 x

 

 

 

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

x < 1

 

e cos( 3 x )

 

 

 

 

 

1 + x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Окончание

таблицы 1.2

13.

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 4.5

14.

 

 

ln(x

2

1)

 

 

x > 2

 

 

 

2x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y =

1ln

1x2

 

0 ≤ x ≤ 4.5

 

y =

2x3

 

 

 

 

 

 

 

0 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < 0

 

 

esin(x)

 

 

 

 

 

 

 

x < 0

 

 

 

e

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15.

 

 

 

 

2x

3

 

 

 

 

 

x > 3.5

16.

 

x +1

 

 

 

 

 

 

 

x > 2.5

 

 

1

 

2

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

1

x

 

 

 

 

 

 

 

1x5

 

 

 

 

 

 

 

0 x 2.5

 

 

 

cos(2x 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y =

0 x 3.5

 

 

 

 

 

 

 

sin(x)

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x +ln

 

 

 

ecos(2x)

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17.

 

 

x 2

 

 

 

 

 

 

x > 2.5

18.

 

1+3x

 

 

 

 

 

 

 

x > 4.5

 

y =

 

 

+ x2

 

 

 

 

 

 

0 x 2.5

 

y =

 

2x

 

 

 

 

 

 

 

1 x 4.5

 

1

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos(x)

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x < 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x ln

 

 

 

cos(2x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19.

 

 

 

 

tg (x

2

1)

x > 4

20.

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 1

 

 

 

 

 

 

 

 

 

e ( x + 2 )

 

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

0 x 4

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

-1 x 1

 

2x

 

 

 

 

 

 

 

1 - 2 x

 

 

 

 

 

 

 

 

 

 

cos( x )

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

3

 

 

3

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

x < -1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21.

 

 

1 x 3

 

 

 

 

x > 2

22.

 

1 +

tg ( x) 1

x < -3.14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

 

 

 

 

 

0 x 2

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

-3.14x 3.14

 

y =

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

e cos(

x )

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 3 14

 

 

 

 

 

 

 

 

 

1 + x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23.

 

 

 

 

 

1

 

 

 

 

 

 

 

24.

 

 

2

 

 

 

 

 

 

3

x > 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x > 4.5

 

 

x( x)3

+

2.5x

 

 

 

 

 

 

 

 

 

 

3

)

 

 

 

 

 

 

 

-1 x 2

 

 

 

ln( x

 

 

 

 

 

 

 

y =

e

 

 

+5 +cos(0.001x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 x 4.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

=

 

2 x + 0 .1

 

 

ln

 

tg(2x)

 

1

 

 

x < -1

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos( 2.3 x 1)

x > 5.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

= 1 3 ln(1 + x )

0 x 5.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2

 

 

 

 

 

 

 

x < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

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

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

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

Теоретический материал

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

case Выражение-селектор of Вариант1: Оператор1; Вариант2: Оператор2;

...

ВариантN: ОператорN; [else ОператорN1;]

end;

Пояснение: квадратные скобки означают то, что часть else может отсутствовать.

Селектор может быть целочисленным, символьным, булевским или пользовательским (перечисляемым или интервальным).

В качестве вариантов можно применять:

1.Константное выражение такого же типа, как и селектор. Константное выражение отличается от обычного тем, что не содержит переменных и вызовов функций, тем самым оно может быть вычислено на этапе компиляции программы, а не во время выполнения.

2.Интервал, например: 1..5, 'a'..'z'.

3.Список значений или интервалов, например: 1, 3, 5..8, 10, 12. Выполняется оператор case следующим образом: вычисляется выражение

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

11

Пример выполнения лабораторной работы

В качестве примера рассмотрим следующую задачу: пользователь вводит целое число от 1 до 10, программа должна приписать к нему слово «ученик» с необходимым окончанием (нулевое, «а» или «ов»).

Схема алгоритма будет выглядеть следующим образом (рис. 2.1).

начало

Вывод информац.

блока

Вывод ‘Число учеников --> ’

Ввод n

Вывод n, ‘ученик ’

n винтервале

2..4

да Вывод ‘а ’

Автор, номер варианта, назначение программы

нет

n винтервале

нет

5..10

 

да

 

Вывод ‘ов ’

 

конец

 

Рис. 2.1. Блок-схема задачи определения окончания слова «ученик»

Реализуем данный алгоритм в программе. Как и в лабораторной работе № 1, программу начинаем с заголовка и описания переменных. В нашей задаче понадобится всего одна переменная, которая будет принимать значения от 1 до 10. Поэтому целесообразно описать экономичным целочисленным типом byte (принимает значения от 0 до 255, занимает в памяти 1 байт).

program SchoolChildren; var n: byte;

Далее следует основное тело программы, которое начинается с информационного блока.

12

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]