Цель: Закрепление навыков разработки алгоритмов для конкретных задач различными методами.
Вид работы: индивидуальный.
Время выполнения: 4 часа.
Теоретический материал
Операции обработки данных и носители информации изображаются на схеме соответствующими блоками. Виды и назначение основных блоков приведены в таблице №1.
Таблица №1
Условные обозначения блоков схем алгоритмов
Наименование |
0бозначенне |
Функции |
Процесс |
|
Выполнение операции или группы операции, в результате которых изменяется значение, форма представления или расположение данных. |
Ввод-вывод |
|
Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). |
Решение |
|
Выбор направления выполнения алгоритма в зависимости от некоторых переменных условии. |
Предопределенный процесс |
|
Использование ранее созданных и отдельно написанных программ (подпрограмм). |
Документ |
|
Вывод данных на бумажный носитель. |
Магнитный диск |
|
Ввод-вывод данных, носителем которых служит магнитный диск. |
Пуск-останов |
|
Начало, конец, прерывание процесса обработки данных. |
Соединитель |
|
Указание связи между прерванными линиями, соединяющими блоки. |
Межстраничный соединитель |
|
Указание связи между прерванными линиями, соединяющими блоки, расположенные на разных листах. |
Комментарий |
|
Связь между элементом схемы и пояснением. |
Словесно-формульный способ
При словесно-формульном способе алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий.
Пусть, например, необходимо найти
значение следующего выражения:
у=2а-(х+6).
Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде:
1.Ввести значения а и х.
2.Сложить х и 6.
3.Умножить а на 2.
4.Вычесть из 2а сумму (х+6).
5.Вывести у, как результат вычисления выражения.
Алгоритмический язык
Алгоритм < название >
Начало< последовательность действий >
Конец
Структура Следование - одна из самых важных структур. Она означает, что два действия должны быть выполнены друг за другом.
Структура Развилка обеспечивает выбор одной из двух альтернатив:
если < условие > то
< действие 1 >
иначе
< действие 2 >
все
Существует сокращенная форма структуры Развилка, которая позволяет выполнить действие или пропустить его:
если < условие > то
< действие >
все
Обобщением структуры Развилка является Множественный выбор:
если Var = Const1 то < действие 1 >
если Var = Const2 то < действие 2 >
. . .
если Var = Constn то < действие n >
все
В зависимости от значения переменной Var выполняется одно из указанных действий, например, если Var = Const3, то выполняется <действие3>.
Третьей базовой структурой является Цикл, который предусматривает повторное выполнение определенных действий, необходимое для большинства программ. Различают следующие типы структур Цикл :
- цикл "от до"
- цикл "пока"
- цикл "до"
Цикл "от до" управление внутри цикла осуществляется с помощью переменной цикла:
цикл от I := N1 до N2
< действие >
кц {конец цикла}
Здесь I - переменная цикла, N1, N2 - начальное и конечное значения переменной цикла, вычисляются один раз при входе в цикл. Переменная цикла пробегает все следующие друг за другом в порядке возрастания значения от начального до конечного. Изменение значения переменной цикла происходит автоматически после каждого выполнения действия, указанного внутри цикла. В зависимости от соотношения N1 и N2 цикл может не выполниться ни разу (N1 > N2) или выполниться ( N2 - N1 + 1 ) раз.
В цикле "пока" управление внутри цикла осуществляется с помощью логического условия:
цикл пока < условие >
< действие >
кц {конец цикла}
Выполнение действия повторяется до тех пор, пока истинно условие. Проверка условия осуществляется в начале цикла. Это означает, что действие может не выполниться ни разу. Чтобы такой цикл не был бесконечным, внутри цикла необходимо предусмотреть изменение значения условия с истинного на ложное.
Третий тип структуры цикл "до" имеет вид:
цикл < действие > до < условие >
Пример 1
Пусть заданы длины сторон треугольника. Необходимо вычислить высоты этого треугольника. Разработку алгоритма полезно начинать с постановки задачи:
Таблица №2
Постановка задачи
Исходные данные: |
A, B, C - длины сторон треугольника |
Результат: |
Ha, Hb, Hc - высоты треугольника. |
Метод решения: |
|
Запишем алгоритм на псевдокоде, используя дополнительно две служебные переменные P и X, уменьшающие время вычислений.
Алгоритм Линейная структура (высоты треугольника)
Начало
ввод (A, B, C)
вывод (Ha, Hb, Hc)
Конец
Пример 2
Вычислить значение функции:
Здесь
Таблица №3
Постановка задачи
Исходные данные: |
H |
Результат: |
F - значение функции |
Метод решения: |
проверка условия и вычисление соответствующего значения |
Алгоритм Структура_с_ветвлением - вычисление функции
Начало
Ввод (H)
A := sin(2H)
B := cos(2H)
если(A > B) и (B > 0) то
F := A / B
иначе
если (A < B) и (B <= 0) то
F := A · B
иначе
F := abs(A - B) {абсолютная величина}
все
все
вывод (F)
Конец
Ход работы:
1. Для первой задачи составить алгоритм словесно-формульным способом.
2. Для второй задачи составить алгоритм с помощью блок-схемы.
3. Для третьей задачи составить алгоритм с помощью алгоритмического языка.
Задания:
Вариант №1.
1. Определить, поместится ли круг данного радиуса в квадрат с данной стороной?
2. Вычислить значение y, использовать форматный вывод:
X вводится с клавиатуры.
3. Организовать вывод на экран всех симметричных двузначных чисел и подсчитать их сумму.
Вариант №2.
1. Определить, чётно ли вводимое число?
2. Вычислить значение y, использовать форматный вывод:
X вводится с клавиатуры.
3. Организовать вывод на экран всех симметричных двухзначных чисел и подсчитать их произведение.
Вариант №3.
1. Даны три стороны. Определить, является ли треугольник равнобедренным?
2. Вычислить значение y, применить форматный вывод:
X вводится с клавиатуры.
3. Организовать вывод на экран чисел вида 5*3*, где вместо символа * ставятся все возможные цифры. Подсчитайте количество этих чисел.
Вариант №4.
1. Определить, поместится ли квадрат с данной стороной в круг данного радиуса?
2. Вычислить значение y, для вывода примените формат:
X вводится с клавиатуры.
3. Организовать вывод на экран чисел вида 1**1, где вместо символа * ставятся все возможные цифры. Подсчитать сумму этих чисел.
Вариант №5.
1. Найти наибольшее из трёх чисел a, b, c.
2. Вычислить значение y, использовать форматный вывод:
X вводится с клавиатуры.
3. Найти сумму двузначных чисел, сумма цифр которых чётна (например, 11, 13, …, 99).
Вариант №6.
1. Найти сумму чисел 1, 2, …, n
2. Вычислить значение y, использовать форматный вывод:
X вводится с клавиатуры.
3. Найти количество двузначных чисел, в которых хотя бы одна из цифр была кратна трём (например, 13, 16, …, 99).
Вариант №7.
1. Билет в кино стоит M рублей. Определить, хватит ли денег? Какая будет сдача?
2. Вычислить значение y, использовать форматный вывод:
X вводится с клавиатуры.
3. Подсчитать количество чисел, сумма цифр которых равна 5, и вывести их на экран.
Вариант №8.
1. Найти наименьшее из трёх чисел а, b, с.
2. Вычислить значение y, использовать форматный вывод:
X вводится с клавиатуры.
3. Подсчитать сумму чисел, сумма цифр которых кратна трём, и вывести их на экран.
Вариант №9.
1. Заданы площади круга и квадрата. Определить, поместится ли круг в квадрат?
2. Вычислить значение y, использовать форматный вывод:
X вводится с клавиатуры.
3. Дан товар в ящиках по 18 и 15 кг. Определить, какое количество ящиков различного веса необходимо взять, чтобы получить 185 кг товара (ящики не вскрываются)?
Вариант №10.
1. Определить модуль числа x без использования стандартных функций.
2. Вычислить значение y, использовать форматный вывод:
X вводится с клавиатуры.
3. Осуществить вывод на экран только тех двузначных чисел, обе цифры которых либо чётны, либо нечётны.
Контрольные вопросы:
1) Перечислите способы составления алгоритмов.
2) Перечислите основные алгоритмические структуры.
3) Какую структуру имеет алгоритм, составленный с помощью словесного способа?
4) Какую структуру имеет линейный алгоритм, составленный с помощью блок-схемы?
5) Какую структуру имеет алгоритм ветвления, составленный с помощью блок-схемы?
6) Какую структуру имеет циклический алгоритм, составленный с помощью алгоритмического языка?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.