
- •П. Г. Ратайчук, а. М. Тихоненко
- •Алгоритмічна мова
- •Курс лекцій
- •Черкаси – 2003
- •Основні поняття навчальної алгоритмічної мови
- •Величини в навчальнiй алгоритмiчнiй мовi
- •Вирази в навчальнiй алгоритмiчнiй мовi
- •Загальні правила опису алгоритмів на нам
- •Переклад алгоритмiв на мову Паскаль
- •Лiнiйнi алгоритми
- •Команди побудови розгалужень в нам
- •Наступнi алгоритми вимагають застосування команди розгалуження
- •Наступнi алгоритми вимагають застосування команди вибору
- •Команди повторення нам
- •Приклади алгоритмів, що вимагають застосування iтерацiйного циклу
- •Лiнiйні таблиці
- •Приклади алгоритмів
- •Прямокутні таблиці
- •Приклади алгоритмів прямокутних таблиць
- •Лiтерні величини
- •Приклади алгоритмів літерних величин
- •Список рекомендованої літератури
- •Про авторів
- •Алгоритмічна мова
- •18028, М. Черкаси, вул. Смілянська, 120/1
Наступнi алгоритми вимагають застосування команди вибору
Приклад
5.
"Обчислення комбiнованого виразу".
Для заданого значення аргументу
побудувати алгоритм обчислення
значення комбiнованого виразу:
алг y(x: дiйс): дiйс
поч
вибiр
при x < -4 : y := -4
при x <= 4 : y := x
iнакше y := 4
кв
кiн
Даний алгоритм демонструє методику правильного використання властивостей команди вибору. Завдяки цьому запис умов в алгоритмi стає коротшим.
Приклад 6. "Тип трикутника". Задано сторони трикутника a,b,c. Визначити його тип по вiдношенню до сторiн.
алг ТИП(a,b,c: дiйс): літ
поч
вибiр
при (a=b) i (b=c): ТИП:=рiвностороннiй
при (a=b) або (a=c) або (b=c): ТИП:=рiвнобедрений
iнакше ТИП:=рiзностороннiй
кв
кiн
Приклад 7. "Тип трикутника". Задано значення кутiв трикутника A i B (в градусах). Визначити його тип по вiдношенню до кутiв.
алг ТИП(A,B: дiйс): літ
поч C: дiйс
C:=180-A-B
вибiр
при (A<90) i (B<90) i (C<90): ТИП:=гострокутний
при (A=90) або (B=90) або (C=90): ТИП:=прямокутний
iнакше ТИП:=тупокутний
кв
кiн
Приклад 8. "Лiнiйне рiвняння". Задано коефiцiєнти лiнiйного рiвняння a*x=b. Побудувати алгоритм розв'язування рiвняння.
алг ЛР(арг a,b: дiйс; рез x: дiйс, z: нат)
поч
вибiр
при a<>0: пс x:=b/a; z:=1 кс {розв'язок єдиний}
при b=0: z:=2 {розв'язкiв безлiч}
iнакше z:=0 {розв'язки вiдсутнi}
кв
кiн
Алгоритм має два результати: перший основний - корiнь x, другий - "прапорець", що показує характер розв'язку. Якщо a<>0, то маємо єдиний розв'язок. У протилежному випадку ситуацiю визначає значення коефiцiєнту b. Якщо b=0, то маємо безлiч розв'язкiв, iнакше - жодного. Методичне значення алгоритму полягає у рацiональнiй послiдовностi перевiрки умов.
Приклад 9. "Нерiвнiсть". Задано коефiцiєнти нерiвностi a*x>b. Побудувати алгоритм розв'язування нерiвностi.
алг НЕР(арг a,b: дiйс; рез c: дiйс, z: нат)
поч
вибiр
при a>0: пс c:=b/a; z:=1 кс {єдиний розв'язок x>c}
при a<0: пс c:=b/a; z:=2 кс {єдиний розв'язок x<c}
при b<0: z:=3 {розв'язкiв безлiч}
iнакше z:=0 {розв'язки вiдсутнi}
кв
кiн
ДЗ. Алгоритм має два результати: перший основний - значення обмеження c для змiнної x, другий - "прапорець", що показує характер розв'язку. Якщо a>0 або a<0, то маємо єдиний розв'язок. Рiзниця полягає лише в тому, що вiдповiдь слiд записати x>c або x<c. У випадку a=0 ситуацiю визначає значення коефiцiєнту b. Якщо b<0, то маємо безлiч розв'язкiв, iнакше - жодного.