Лабораторна робота №1
(модуль 1)
Тема: Алгоритми. Базові управляючі структури. Слідування. (4 години)
Мета: Сформувати навички і вміння зі складання блок-схем та алгоритмів слідування для розв’язування задач. Розвивати логічне мислення при складанні алгоритмів.
Література:
Архангельский А.Я. Язык Pascal и основы программирования в Delphi
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов.– М.: Мир, 1979.– 536 с.
Венц А. Н. Профессия – программист.– Ростов: Изд-во «Феникс», 1999.– 384 с.
Виноградов И.М. Основы теории чисел.– М.: Наука, 1972.– 167 с.
Вирт Н.. Алгоритмы + структуры данных = программы. Москва, Мир, 1985 г. 406 с.
Вирт Н.. Алгоритмы и структуры данных. Москва, Мир, 1989 г. 420 с.
Гусева А.И. Учимся информатике: задачи и методы решения.– М.: «Диалог – МИФИ», 1998.– 320 с.
Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы. Построение и анализ.– М.: МЦНМО, 1999.– 960 с.
Короткі теоретичні відомості.
Алгоритм - це деяке правило перетворення інформації, застосування якого до заданої (початкової) інформації приводить до результату - нової інформації.

Особлива увага в теорії та практиці алгоритмізації приділяється методам задання (опису, конструювання) алгоритмів. Один з основних підходів до опису алгоритмів – т.з. імперативний підхід скоадається в уточненні способу опису алгоритму як послідовності кроків, на кажному з яких виконується одна з т.з. інструкцій (команд, операторів).
Алгоритм - це кінцевий набір інструкцій по перетворенню інформації (команд, операторів), виконання яких приводить до результату. Кожна інструкція алгоритму містить точний опис деякої елементарної дії з перетворення інформації, а також (у явному або неявному вигляді) вказівку на інстукцію, яку треба виконати наступною.

На даному рисунку зображена послідовність команд C1, C2, …, Ck з перетворення інформації, що виконується алгоритмом.
Оскільки алгоритми повинні бути визначені точно та не мати подвійного змісту, форма їх запису (нотації) повинна бути визначена з математичною точністю. З даною метою використовуються т.з. синтаксичні правила. Їх сукупність для опису алгоритму визначає формально-мовне середовище – алгоритмічну мову.
Семантика – це сукупність правил, що визначають виконання алгоритму, а саме це правила інтерпретації даних та правила інтерпретації операторів.
Мова блок-схем дозволяє представити процес виконання алгоритму у геометричних образах, істотно полегшуючи інтуїтивне розуміння семантики алгоритму. Тому блок-схеми корисно використовувати як ілюстрації до визначення семантики окремих операторів управління та загальних принципів структурування керування.
Слідування є однією з базових управляючих конструкцій. За допомогою блок-схеми його можна представити наступним чином:

Приклад. Алгоритм складання дробів.
Вхід: A/B, C/D;
1. Обчислити Y = B*D; {Перейти до наступної команди}
2. Обчислити X1 = A*D; {Перейти до наступної команди}
3. Обчислити X2 = B*C; {Перейти до наступної команди}
4. Обчислити X = X1+X2; {Перейти до наступної команди}
5. Обчислити Z = НОД(X,Y); {Перейти до наступної команди}
6. Обчислити Е = X div Z; {Перейти до наступної команди}
7. Обчислити F = Y div Z; {Завершити роботу}.
Вихід: E/F
Задачі для самостійного розв’язування
Скласти алгоритм, який за довжиною, шириною і висотою кімнати знаходить площу і об’єм цієї кімнати.
Дано дві дійсні змінні a, b. Скласти алгоритм, який міняє місцями значення цих змінних (нове значення a дорівнює старому значенню b і навпаки).
Дано три дійсні змінні a, b і c. Скласти алгоритм, який міняє місцями значення цих змінних наступним чином: змінна a набуває значення змінної b, змінна b набуває значення змінної c, а змінна c – попереднє значення змінної a.
Скласти алгоритм, який обчислює цілу і дробову частину даного числа х.
Скласти алгоритм, який обчислює першу цифру дробової частини дійсного числа х.
Скласти алгоритм, який обчислює першу цифру числа an (a – дійсне число, n – натуральне число).
Скласти алгоритм, який розв’язує систему лінійних рівнянь методом Крамера:

Вважати, що її визначник не дорівнює нулю.
Скласти алгоритм, який обчислює координати точки А(X,Y) при повороті системи координат на кут Alfa і паралельному переносі на вектор a = (u, v).
Скласти алгоритм, який обчислює корінь степени n і n-ний степінь додатнього дійсного числа a.