Практическое занятие №9
Разработка алгоритмов основных алгоритмических структур: линейного, разветвляющегося, циклического
Тема занятия: Разработка алгоритмов основных алгоритмических структур: линейного, разветвляющегося, циклического
Цель занятия: Научиться разрабатывать и строить алгоритмы линейной, разветвлённой и циклической структуры
1. Порядок выполнения работы:
Задание: Разработать и построить алгоритмы линейной, разветвляющейся. Задание: выполнить описание линейных, разветвляющихся алгоритмов следующих задач способом блок-схем и алгоритмическим языком.
Задача 1. Построить блок схему и записать словесно вычисление площади круга S при заданном значении радиуса R.
Словесное описание алгоритма:
- Начало алгоритма.
- Ввести значение радиуса R.
- Вычислить площадь круга S по формуле: \(S = \pi \cdot R^2\).
- Вывести значение площади S.
- Конец алгоритма.
Блок-схема (текстовое описание):
(Овал) Начало
↓
(Параллелограмм) Ввод R
↓
(Прямоугольник) S = \( \pi \cdot R^2 \)
↓
(Параллелограмм) Вывод S
↓
(Овал) Конец
Задача 2. Вычислить значение B по формуле: \[B = \frac{2m^2 + mp + p^2}{m^2 - p^2}\]
Словесное описание алгоритма:
- Начало алгоритма.
- Ввести значения переменных m и p.
- Проверить условие: \(m^2 - p^2 \neq 0\).
- Если условие истинно (знаменатель не равен нулю):
- Вычислить значение B по формуле: \(B = \frac{2m^2 + mp + p^2}{m^2 - p^2}\).
- Вывести значение B.
- Если условие ложно (знаменатель равен нулю):
- Вывести сообщение об ошибке: "Деление на ноль невозможно".
- Конец алгоритма.
Блок-схема (текстовое описание):
(Овал) Начало
↓
(Параллелограмм) Ввод m, p
↓
(Ромб) \(m^2 - p^2 = 0\)?
↓ (Да)
(Параллелограмм) Вывод "Деление на ноль невозможно"
↓
(Овал) Конец
↑ (Нет)
(Прямоугольник) \(B = \frac{2m^2 + mp + p^2}{m^2 - p^2}\)
↓
(Параллелограмм) Вывод B
↓
(Овал) Конец
Задача 3. Вычислить значение S по формуле: \[S = (\cos x + \ln x) \frac{y}{x+y}, \text{ где } x = \frac{a+b}{2}\]
Словесное описание алгоритма:
- Начало алгоритма.
- Ввести значения переменных a, b и y.
- Проверить условие: \(x > 0\) (для \(\ln x\)) и \(x+y \neq 0\) (для знаменателя).
- Если условие истинно:
- Вычислить значение x по формуле: \(x = \frac{a+b}{2}\).
- Вычислить значение S по формуле: \(S = (\cos x + \ln x) \frac{y}{x+y}\).
- Вывести значение S.
- Если условие ложно:
- Вывести сообщение об ошибке: "Некорректные входные данные (x <= 0 или x+y = 0)".
- Конец алгоритма.
Блок-схема (текстовое описание):
(Овал) Начало
↓
(Параллелограмм) Ввод a, b, y
↓
(Прямоугольник) \(x = \frac{a+b}{2}\)
↓
(Ромб) \(x > 0\) И \(x+y \neq 0\)?
↓ (Нет)
(Параллелограмм) Вывод "Некорректные входные данные"
↓
(Овал) Конец
↑ (Да)
(Прямоугольник) \(S = (\cos x + \ln x) \frac{y}{x+y}\)
↓
(Параллелограмм) Вывод S
↓
(Овал) Конец
Задача 4. Построить блок схему и записать словесно вычисление периметра прямоугольника P при заданном значении сторон a и b. Учесть, что стороны могут быть равны.
Словесное описание алгоритма:
- Начало алгоритма.
- Ввести значения сторон a и b.
- Проверить условие: \(a > 0\) и \(b > 0\).
- Если условие истинно (стороны положительны):
- Вычислить периметр P по формуле: \(P = 2 \cdot (a + b)\).
- Вывести значение P.
- Если условие ложно (стороны неположительны):
- Вывести сообщение об ошибке: "Стороны прямоугольника должны быть положительными".
- Конец алгоритма.
Блок-схема (текстовое описание):
(Овал) Начало
↓
(Параллелограмм) Ввод a, b
↓
(Ромб) \(a > 0\) И \(b > 0\)?
↓ (Нет)
(Параллелограмм) Вывод "Стороны должны быть положительными"
↓
(Овал) Конец
↑ (Да)
(Прямоугольник) \(P = 2 \cdot (a + b)\)
↓
(Параллелограмм) Вывод P
↓
(Овал) Конец
Задача 5. Составить алгоритм, вычисляющий значение функции y(x) для заданного x.
\[y(x) = \begin{cases} -5, & \text{при } x \le 10 \\ x^2, & \text{при } x > 10 \end{cases}\]
Словесное описание алгоритма:
- Начало алгоритма.
- Ввести значение переменной x.
- Проверить условие: \(x \le 10\).
- Если условие истинно (\(x \le 10\)):
- Присвоить y значение -5.
- Если условие ложно (\(x > 10\)):
- Вычислить y по формуле: \(y = x^2\).
- Вывести значение y.
- Конец алгоритма.
Блок-схема (текстовое описание):
(Овал) Начало
↓
(Параллелограмм) Ввод x
↓
(Ромб) \(x \le 10\)?
↓ (Да)
(Прямоугольник) y = -5
↓
(Соединитель)
↑ (Нет)
(Прямоугольник) \(y = x^2\)
↓
(Соединитель)
↓
(Параллелограмм) Вывод y
↓
(Овал) Конец
