ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЕНИЙ

  • docx
  • 26.12.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л3-0025369.docx

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЕНИЙ

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

Оборудование: персональный компьютер типа IBM PC с процессором не ниже Intel Pentium I.

Дидактический материал: плакаты, раздаточный материал.

Алгоритм линейной структуры

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


Для реализации этого алгоритма в языке Pascal используются следую- щие операторы:

1.     Составной оператор имеет вид:

begin
Op1;
… OpN end

где begin начало, end конец, Op1 оператор 1-й, OpN оператор

N-й.

Оператор означает, что надо выполнять оператор Op1, и т.д., вы- полнять оператор OpN.

2.     Оператор присваивания имеет вид:

P := V

где P – переменная, V – выражение.

Оператор означает, что переменной P присваивается значение выра- жения V .

3.     Операторы ввода имеют вид:

read (P1 , … , PN) readln (P1 , … , PN)

где read читать, readln читать до новой строки (read-on-line), P1

переменная 1-я, PN переменная N-я.

Оператор read позволяет последовательно вводить значения пере- менных P1 PN, а оператор readln, кроме этого, позволяет дополнитель- но перевести курсор на новую строку.

4.     Операторы вывода имеют вид:

write (V1 , … , VN) writeln (V1 , … , VN)

где write писать, writeln писать до новой строки (write-on-line), V1

выражение 1-е, VN выражение N-е.

Оператор write позволяет последовательно выводить значения вы- ражений V1 VN, а оператор writeln, кроме этого, позволяет дополни- тельно перевести курсор на новую строку.

Алгоритм разветвляющейся структуры

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

Для реализации этого алгоритма в языке Pascal используются следую- щие операторы:

1.     Оператор безусловного перехода имеет вид:

goto M


где goto – идти к, M – метка.

Оператор означает, что надо перейти к строке с меткой M .

Метка обозначение строки в программе, отделяемое от программного кода двоеточием.

2.     Оператор условного перехода имеет вид:

if U then Op1 else Op2

где if если, then то, else иначе, U условие, Op1 оператор 1-

й, Op2 – оператор 2-й.

Оператор означает, что если условие U истинное, то выполнять опе- ратор Op1, иначе выполнять оператор Op2.

Условие логическое выражение, которое может принимать одно из 2-х значений: истина или ложь.

3.     Оператор варианта (или оператор выбора) имеет вид:

case S of
Z1 : Op1;
…
ZN : OpN
else Op0
end

где case в случае, of из, else иначе, end конец, S селектор,

Z1 значение 1-е, ZN значение N-е, Op1 – оператор 1-й, OpN – оператор N-й, Op0 – оператор 0-й.

Оператор означает, что в случае, если селектор S принимает значе- ние из списка Z1, то выполнять оператор Op1 … если селектор S принимает значение из списка ZN, то выполнять оператор OpN, иначе выполнять оператор Op0.

Селектор – выражение порядкового типа, которое может принимать од- но из многих значений.

Порядок выполнения

1.   Зайти в Borland Pascal (или Pascal ABC).

2.   Набрать текст программы для решения задачи 1 и получить ответ (при

a = 3 и b = 5 ; a = 20 и b = 10 ).

3.   Исправить программу так, чтобы она решала задачу без использования слова else.

4.   Набрать текст программы для решения задачи 2 и получить ответ (при

a = -1; a = 0 ; a = 10 ; a = 100 ).

5.   Исправить программу так, чтобы она решала задачу без использования оператора case.


Примеры задач

 

Задача 1. Вычислить величину

ìa - b ,                     если a > b с = ï ab                                  .

í

ïîab ,                     если a £ b

Program Lab6d;

Var

a,b,c:real;

Begin

writeln('Введи a,b');

read(a,b);

if a>b

then c:=(a-b)/(a*b)

else c:=exp(b*ln(a));

writeln('c=',c:10:3);

End.

Задача 2. Вычислить величину

ì2,               a = 0

ï3,              1 £ a £ 10

c = í4,         a = -1 или a = 11,

ï

ïî5,               иначе

где a и c целые числа.

Program Lab6e;

Var a,c:integer;

Begin

read(a);

case a of

0: c:=2;

1..10: c:=3;

-1,11: c:=4

else c:=5

end;

writeln(c);

End.

Дополнительное задание


 

1.   Вычислить


ìsin 2 x + ea

y = í


при b £ 2;


îtg 0,57 × lg(b - 2)


при b > 2.


2.   Вычислить С0


= 1 Ry

n


при


ì1,5 C ,

y = í

î1,3 C ,


если R £ 1; если R > 1.


ìsin ap ,


если 0 £ a £ 90;


3.   Вычислить


za = A + Z , где


ï

A = í


180

a


 

ì gl 2

ï 12 ,


ï0,7 + 0,35                   ,

ïî                             90

если a = b;


если 90 < a < 180.


4.   Вычислить


M = í g(l - x)

ïïî 6(l + a)


- g

6b


(l - x)3,

ì


если a < b,


где


x = l -                .


ïbh,

                                                               ïp d 2


если j = 1;


5.   Вычислить Q = mw


2gz0 , где w = í          ,

ï 4


если j = 2;


ïa + b h,

 


если j = 3 или


j = 4.


ïî   2

B =ímì1 n × cosnm , при x > y


6.   Вычислить


ï       + tg n, при x = y     .


îï1 x × sin n m, при x < y


 

7.   Найти


u = ì1,

íî0,


если если


x Î[0;5]

x Ï[-1;10]


 

8.   Найти


ì y = ax,

ïí


z = a ,

x

b


при


a = b;


ïï y = bx,

î


z =      ,

x


при


a ¹ b.


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

1.   Что такое алгоритм линейной структуры? Перечислите операторы, реали- зующие этот алгоритм.

2.   Что такое алгоритм разветвляющейся структуры? Перечислите операторы, реализующие этот алгоритм.

3.   Какой вид имеют составной оператор и оператор присваивания, а также что они означают?

4.   Какой вид имеют операторы ввода и вывода, а также что они означают?

5.   Какой вид имеет оператор безусловного и условного перехода, а также что они означают?

6.   Какой вид имеет оператор варианта и что он означает?

7.   Что такое метка, условие и селектор? К каким типам данных относятся эти понятия?

8.   Напишите, что означает каждая строка в вышеприведённых программах.

9.   Напишите программу к одной из задач дополнительного задания.