Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка.DOC
Скачиваний:
36
Добавлен:
13.05.2015
Размер:
772.61 Кб
Скачать

8. Программирование разветвляющихся вычислительных процессов

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

Перед выполнением работы необходимо ознакомиться с правилами записи логических выражений, операций сравнения, операторов IF, CASE, GOTO.

Задание 2

ЦЕЛЬ РАБОТЫ:

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

ПРИМЕР 1:Найти корни квадратного уравнения

А Л Г О Р И Т М

алгквадратное уравнение

арга,в,c: вещ

резx1,x2: вещ

нач

ввода,в,c

еслиа = 0

то вывод"Уравнение не квадратное"

D:=b2- 4*a*c

еслиD<0

то Вывод"Нет решений"

иначех1:=(-b+ÖD)/(2*a)

х2:=(-b+ÖD)/(2*a)

выводх1,х2

все

все

кон

П Р О Г Р А М М А

program uravnen;

m label;

var a,b,c,x,x1,x2,d:real;

begin

write('Введите коэффициенты ? ');

readln(a);

if a=0 then begin writeln('Уравнение не квадратное');

goto m

end;

readln(b);

readln(c);

writeln('a= ',a,' b =',b,'c=',c);

d:=b*b-4*a*c;

if d<0 then writeln('Нет решений')

else begin

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

write('Решение: ');

wtiteln('x1= ',x1,'x2= ',x2);

end

m:

end.

ПРИМЕР 2:Определить название столицы по названию

государства.

program capital;

var land,cap:string[20];

num:0..8;

begin

writeln('Определяем название столицы');

writeln('Введите название страны');

readln(land);

num:=0; {номер страны в списке}

if land='Австрия' then num:=1; if land='Болгария'then num:=2;

if land='Греция' then num:=3; if land='Италия' then num:=4;

if land='Норвегия' then num:=5; if land='Франция' then num:=6;

if land='США' then num:=7; if land='Россия' then num:=8;

case num of {определение столицы по номеру страны в списке }

1:cap:='Вена'; 2:cap:='София';

3:cap:='Афины'; 4:cap:='Рим';

5:cap:='Осло'; 6:cap:='Париж';

7:cap:='Вашингтон'; 8:cap:='Москва';

0:cap:='Такой страны не знаю'

end;

writeln(cap);

readln;

end.

ПОРЯДОК РАБОТЫ

1. Разработать алгоритм, программу примера 1 (табл.3).

Проанализировать результаты.

2. Составить программу для примера (табл.4) с использованием

оператора CASE. Выполнить ее и проанализировать результаты.

СОДЕРЖАНИЕ ОТЧЕТА

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

ТАБЛИЦА 3

НОМЕР ВАРИАНТА

УСЛОВИЕ

ИСХОДНЫЕ

ДАННЫЕ

1

Три точки на плоскости заданы своими координатами. Выяснить какие из них находятся на максимальном расстоянии друг от друга

х1, у1,

х2, у2,

х3, у3

2

Вычислить:

a, b, c

3

Заданы три величины а,b,c. Определить максимальное и минимальное значение из их среднего геометрического, среднего арифметического и cуммы экспонент exp(a) + exp(b) + exp(c)

a, b, c

4

Определить в какой четверти координатной плоскости находится точка с координатами х,у

х,у

5

x, y, z

6

x, y

7

x, y, z

8

x, y

9

Вычислить значение функции, заданной графически, по заданному значению аргумента х

х

10

Вычислить значение функции, заданной графически, по задан- ному значению аргумента х:

х

11

Решить линейное уравнение ах + b = 0 для любых значений коэффициентов.

a,b

12

Проверьте, делится ли выбранное число на 5, на 11 или 13

х

13

Определить попадет ли точка с координатами (х,у) в кольцо с внутренним радиусом R1 и внешним радиусом R2 с центром в начале координат

х,у

14

x, y

ТАБЛИЦА 4

НОМЕР ВАРИАНТА

УСЛОВИЕ

ИСХОДНЫЕ

ДАННЫЕ

1

Установить название дня недели по его номеру, например, 1 - понедельник, 2 - вторник и т.д.

N

2

Определить название месяца по его номеру, например, 1 - январь, 2 - февраль и т.д.

N

3

Определить название заданной цифры, например 1 - один, 5 - пять т.д.

N

4

Дано русское название языка программирования. Определить его английский эквивалент, например: Бейсик - Basic. Для определения использовать таблицу:

Бейсик - Basic, Лисп - Lisp, Си - С, Фортран - Fortran, Ада - Ada, Пл/1 - PL/1,

Паскаль - Pascal, Пролог- Prolog.

x

5

Определить английское название заданной цифры, например, 1-one, 5-fave и т.д.

N

6

Определить название отметки, заданной числом, например, 5-отлично, 2-неудовлетворительно

О

7

Группу детей, приехавшую в оздоровительный лагерь, распределяют по отрядам по принципу:

с 6 до 7 лет - 5-й отряд, с 7 до 9 лет - 4-й отряд, с 9 до 11 лет - 3-й отряд, с 11 до 13 лет - 2-й отряд, с 13 до 15 лет - 1-й отряд

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

N

8

Установить английское название дня недели по его номеру, например, 1-Sunday, 2-Monday и т.д.

N

9

Определить назначение функциональных клавиш в Norton Commander, например, F1-помощь, F2 - пользовательское меню и т.д.

F

10

Определить английское название месяца по его номеру, например,1 - january, 2 - february и т.д.

N

11

Определить название операции отношения по ее изображению, например, = - равно, < > - не равно, >= - не меньше и т.д.

L

12

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

L

13

Установить название цвета в модуле CRT языка программирования Паскаль по его номеру, например, 0 - black, 1 - blue, 2 - green и т.д.

С

14

Установить название вида линий в модуле Graph Паскаля его номеру, например, 0 - сплошная, 1 - точечная и т.д.