Алгоритмом называется точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи. В роли исполнителей алгоритмов могут выступать люди, роботы, компьютеры.
Понятие алгоритма в программировании является фундаментальным. Для алгоритма важен не только набор определенных действий, но и то, как они организованы, т.е. в каком порядке они выполняются.
— понятность – все действия должны входить в систему команд исполнителя, т.е. быть понятны ему;
— дискретность — алгоритм делится на отдельные элементарные шаги;
— определенность — каждая команда однозначно определяет действие исполнителя;
— конечность(результативность) — алгоритм должен завершаться за конечное число шагов.
— массовость – алгоритм позволяет решать целый класс похожих задач.
Способы записи алгоритма:
Пример.
Алгоритм деления обыкновенных дробей
1. Числитель первой дроби умножить на знаменатель второй;
5 кл: «Алгоритмы с ветвлением»
2. Знаменатель второй дроби умножить на числитель второй;
3. Записать дробь, числитель которой есть результат
выполнения пункта 1, а знаменатель — результат
выполнения пункта 2.
2. Графический способ (в виде блок-схемы )
Блок схема – это графическое представление алгоритма при помощи стандартных обозначений. Блок схемы составляются в соответствии с ГОСТами. ГОСТы алгоритмов: ГОСТ 19.002-80, ГОСТ 19.003-80. На схемах алгоритмов выполняемые действия изображаются в виде отдельных блоков, которые соединяются между собой линиями связи в порядке выполнения действий.
На линиях связи могут ставиться стрелки, причем, если направление связи слева направо или сверху вниз, то стрелки не ставятся. Блоки нумеруются. Внутри блока дается информация о выполняемых действиях.
Таблица 1 – Основные блоки, используемые при составлении алгоритмов
Название | Обозначение | Назначение |
Пуск, Останов | Начало-конец алгоритма | |
Процесс | Любое вычислительное действие | |
Решение | Проверка условия | |
Модификатор | Цикл | |
Ввод-вывод | Ввод-вывод данных | |
Документ | Вывод на печатающее устройство | |
Соединитель | Используется на линиях разрыва | |
Комментарий | Комментарий |
3. Запись алгоритма в виде последовательности команд для ЭВМ
Алгоритм, записанный на одном из языков программирования называется программой.
Типы вычислительных процессов
Вычислительные процессы могут быть: линейные, разветвляющиеся и циклические.
Линейные алгоритмы
Линейный алгоритм – алгоритм, в котором все команды выполняются последовательно друг за другом.
Пример 1: составить алгоритм обмена значений переменных a и b.
Алгоритмы с ветвлением
Команды | a | b | c |
a=5, b=12 | — | ||
c=a | |||
a=b | |||
b=c |
Пример 2: Составить алгоритм обмена значений переменных a и b без использования дополнительной переменной.
Команды | a | b |
a=3, b=7 | ||
a=a+b | ||
b=a-b | ||
a=a-b |
Пример 2: составить алгоритм вычисления a 8 , используя не более 3х действий умножения (возведение в степень не использовать)
Команды | a |
a=2 | |
a=a*a | |
a=a*a | |
a=a*a |
Пример 3: Составить алгоритм вычисления a 6 , используя не более трех команд умножения.
Команды | a | b |
a=2 | — | |
a=a*a | 2 2 | — |
b=a | 2 2 | 2 2 |
a=a*a | 2 4 | 2 2 |
a=b*a | 2 6 | 2 2 |
Алгоритмы с ветвлением
Часто при выполнении алгоритма должны предлагаться различные действия в зависимости от выполнения или невыполнения некоторого условия. Такие алгоритмические структуры называют ветвлением.
Пример 4. Вычислить выражение для введенного x.
Исходные данные: x.
Результат: y, или ‘функция не определена’
проверяемый случай | x>=0 | y | результат |
x=9 | 9>=0 да | y= | y= |
x=-9 | -9>=0 нет | — | функция не определена |
Пример 5. Вычислить выражение для введенного x.
проверяемый случай | x>=0 | y | результат |
x=9 | 9>=0 да | y= | y= |
x=-9 | -9>=0 нет | — | функция не определена |
Пример 6. Выбрать максимальное из 2х чисел a и b.
1 вариант 2 вариант
проверяемый случай | x | y | результат |
a=9 b=15 | 9>15 нет | 15>9 да | |
a=18 b=3 | 18>3 да | — | |
a=7 b=7 | 7>7 нет | 7>7 нет | числа равны |
Пример 7. Выбрать максимальное из 3х чисел a, b, c.
проверяемый случай | x | max | y | результат |
a=9 b=15 c=2 | 9>15 нет | 2>15 нет | ||
a=8 b=3 с=22 | 8>3 да | 22>8 да | ||
a=12 b=9 c=1 | 17>9 нет | 1>17 нет |
Алгоритмы с циклами
Цикл – многократное повторение одних и тех же действий.
Цикл с предусловием
Такой цикл называют «пока». Механизм его работы: пока условие истинно, повторять…
Пример 8. Вывести все «-» члены арифметической прогрессии -11; -7…
Пусть a – очередной член прогрессии.
a=a1+4 – следующий член прогрессии.
Пока a1+4.
Цикл с предусловием может не выполниться ни разу, если условие сразу оказалось ложным.
Пример 9. Найти сумму первых десяти натуральных чисел.
а – очередное слагаемое.
S:=S+a a:=a+1 | Выполнять, пока a |
Цикл с постусловием.
Механизм работы: повторять, пока условие не станет истинным.
Этот цикл всегда выполняется хотя бы 1 раз.
Пример 10. Найти сумму положительных членов арифметической прогрессии: 17; 11 …
S=a+S a:=a-6 | тело цикла повторять до тех пор, пока не выполнится условие a |
Пример 11. Вычислить n!
F=F*k k=k+1 | тело цикла повторять до тех пор, пока не выполнится условие k>N |
Задания для самостоятельной работы
1. Составить блок-схему алгоритма решения задачи (по вариантам):
· По длине ребра куба найти площадь грани, площадь полной поверхности и объем куба.
· Вычисление суммы цифр введенного натурального двухзначного числа.
· Найти площадь кольца с радиусами r1 и r2.
· Из чисел A, B, C, D выбрать максимальное.
· Вычислить площадь треугольника по трем сторонам (по формуле Герона).
· Вводятся Х и Y. Если Х больше Y, то произвести их обмен.
· По координатам трёх вершин некоторого треугольника найти его площадь и периметр.
· Вычислить площадь параллелограмма по двум сторонам и углу между ними, заданному в градусах.
2. Выполнить ручную трассировку и определить результат выполнения алгоритма (по вариантам)
Источник: megaobuchalka.ru
Алгоритмические конструкции ветвление и выбор Блок-схемы разветвляющихся алгоритмов
Разветвляющиеся алгоритмы • Вычислительный процесс называется разветвляющимся, если направление его продолжения на некотором этапе в зависимости от исходных данных или результатов промежуточных вычислений осуществляется по одному из возможных вариантов • Варианты вычислений называются ветвями • Разветвляющиеся алгоритмы реализуются через алгоритмические структуры «ветвление» и «выбор»
Алгоритмическая структура «ветвление» • В алгоритмической структуре «ветвление» та или иная серия команд выполняется в зависимости от истинности условия • Условием называется высказывание, которое может быть истинным или ложным. Условие, записанное на формальном языке, называется условным или логическим выражением. • Условия могут быть простыми и сложными. • Ветвление может быть полным или неполным да Серия 1 Условие нет Серия 2 да Серия Условие нет
Алгоритмическая структура «ветвление» да нет Условие Серия 1 да Серия на алгоритмическом языке (псевдокоды) Серия 2 Условие нет если «условие» то «серия 1» иначе «серия 2» кв если «условие» то «серия» кв
Алгоритмическая структура «выбор» • Алгоритмическая структура «выбор» применяется для реализации ветвления со многими вариантами серий команд • В структуру выбора входят несколько условий, проверка которых осуще -ствляется в строгой последовательности их записи в команде выбора. • При истинности одного из условий выполняется соответствующая последовательность команд да Условие 1 да Серия 1 Серия 2 нет Условие 2 нет . . . 2 В алгоритмической структуре «выбор» выполняется одна из нескольких последовательностей команд выполняется в зависимости от истинности соответствующего условия
Виды задач, решаемых с помощью ветвления • Выбор (минимума или максимума) – из 2 величин – из n величин • Упорядочение (по возрастанию или по убыванию) – 2 величин – n величин
Виды задач, решаемых с помощью ветвления Пример 1: найти минимальное из чисел А и В (проверка с A=3, B=7) Решение: на алгоритмическом языке алг поиск минимума вещ А, В, min нач ввод А, В min : = B если A
Виды задач, решаемых с помощью ветвления Пример 2: упорядочить значения X, Y по возрастанию Решение: Алгоритм на алгоритмическом языке (псевдокоды) начало Ввод X, Y да X>Y C: = X X: = Y Y: = C нет алг вещ нач Вывод X, Y конец кон СОРТИРОВКА X, Y, C ввод X, Y если X > Y C : = X X : = Y Y : = С кв вывод X, Y
Виды задач, решаемых с помощью ветвления Пример 3: составить алгоритм поиска минимума из А, В, С начало Решение: Алгоритм на алгоритмическом языке (псевдокоды) Ввод А, В, С да А
Виды задач, решаемых с помощью ветвления Задача: исправьте алгоритм поиска минимума из А, В, С, используя вместо последовательного ветвления вложенное. 1. Напишите текст алгоритма на алгоязыке. 2. Постройте трассировочную таблицу для А=5, В=7, С=2. начало Ввод А, В, С да да min : = A А
Виды задач, решаемых с помощью ветвления Любой алгоритм должен приводить к определенному результату и завершать работу, какими бы ни были исходные и промежуточные данные. Задача 1: исправьте блок-схему алгоритма деления двух дробей, учитывая, что на 0 делить нельзя. Задача 2: постройте блок-схему решения квадратного уравнения ax 2 + bx + c = 0, учитывая случаи возможного ввода исходных a = 0, b = 0, c = 0, и случай d < 0.
Виды задач, решаемых с помощью ветвления Задача 1: составить алгоритм поиска минимума из А, В, С, D Задача 2: постройте блок-схему для проверки существования треугольника с углами α и β, а в случае удачи также проверьте, будет ли он прямоугольным. Задача 3: постройте блок-схему для проверки, какая из точек A(x 1, y 1) или В(x 2, y 2) лежит ближе к началу координат. Задача 4: постройте блок-схему для вычисления значения функции Y = |X|. Задача 5: постройте блок-схему для проверки, попадает ли точка A(x, y) в определенную область на координатной плоскости (например, а) в первый квадрант, б) в окружность определенного радиуса с центром в начале координат)
Домашняя работа на разветвляющиеся алгоритмы Построить блок-схемы разветвляющихся алгоритмов • Задача 1: «Геометрическая задача» — по вариантам (по карточкам). • Задача 2: «Математическая задача» — по вариантам (по карточкам).
Источник: present5.com
Конспект урока по теме «Алгоритмическая конструкция «ветвление»
Цель: создать условия для формирования и первичного закрепления знаний учащихся об алгоритмической конструкции ветвление.
• обобщить знания по алгоритмической структуре «ветвление»;
• сформировать у учащихся представление об алгоритмической структуре «ветвление», рассмотреть полную и неполную формы ветвления;
• закрепить на практике представление алгоритмов с ветвлением в виде блок-схем и на алгоритмическом языке;
• произвести контроль знаний учащихся по пройденной теме.
• воспитать дисциплинированность, взаимоуважение, самостоятельность, умение работать в коллективе.
• развитие способности к анализу и обобщению, самоконтролю и самооценке; развитие познавательного интереса;
• развитие информационной культуры.
Планируемые образовательные результаты:
• предметные — представление об алгоритмической конструкции «ветвление»; умение исполнять алгоритм с ветвлением для формального исполнителя с заданной системой команд; умение составлять простые (короткие) алгоритмы с ветвлением для формального исполнителя с заданной системой команд;
• метапредметные — умение выделять алгоритмы с ветвлением в различных процессах; понимание ограниченности возможностей линейных алгоритмов;
• личностные — алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе.
Основные понятия, рассматриваемые на уроке:
Средства ИКТ, используемые на уроке:
• персональный компьютер (ПК) учителя, мультимедийный проектор, экран; • ПК учащихся.
1. Организационный момент.
2. Актуализация знаний.
3. Постановка цели и задач урока.
4. Первичное усвоение новых знаний.
5. Первичная проверка понимания.
7. Первичное закрепление.
8. Информация о домашнем задании.
9. Подведение итогов.
1. Организационный момент.
Приветствие, проверка готовности к уроку.
2. Актуализация знаний.
—Прежде чем мы перейдем к изучению новой темы, повторим основные понятия, изученные на прошлых уроках:
1. Дай определение алгоритма.
2. Дай определение исполнителя.
3. Какой алгоритм линейным?
4. Перечислите известные вам формы записи алгоритмов.
Проблемные задания
Задание 1. Найти ошибки в блок-схемах. (Задание на интерактивной доске. Форма работы – фронтальная. Сначала учащиеся устно проговаривают ошибки, затем к доске по очереди выходят трое учащихся и исправляют ошибки).
Задание 2. Составить алгоритм и блок-схему к приведенным ниже заданиям (мальчикам взять задание «Посадить дерево», девочкам – «Пришить пуговицу» и для всех – третье задание)
Посадить дерево
Пришить пуговицу
У лукоморья дуб зеленый; Златая цепь на дубе том:
И днем, и ночью кот ученый
Все ходит по цепи кругом;
Идёт направо — песнь заводит,
Налево — сказку говорит.
Проверка выполненного задания (ответы 1-го и 2-го столбца выводятся на экран вместе, все проверяют, 3-е выводится не сразу, только после ответов учащихся и примерных вопрос учителя).
Примерные вопросы учителя:
• Возникли ли трудности, при выполнении задания?
• Чем алгоритм действий на третьей картинке отличается от первого и второго?
• Что нужно добавить к третьему алгоритму? (отвечают – условие)
• В какой геометрической фигуре на блок-схеме изображают условие?
Учитель объясняет, что именно данному типу алгоритмических структур и посвящен наш сегодняшний урок.
3. Постановка цели и задач урока. Учитель просит сформулировать тему урока и дает подсказку в виде ребуса:
Учащиеся сами формулируют тему и ставят цели урока.
4. Первичное усвоение новых знаний.
Каждый день, совершая определенные действия, мы выполняем какой-либо алгоритм.
Приведите, пожалуйста, примеры, из повседневной жизни, относящиеся к линейным алгоритмам. (Ученики приводят примеры линейных алгоритмов: посадки саженца в саду, приготовление кофе и т.д.)
К сожалению, в жизни линейные алгоритмы встречаются довольно редко. Всегда появляются какие-нибудь условия, которые изменяют алгоритм.
Находясь на развилке двух (и более) дорог, русский богатырь выберет только одну в зависимости от своей цели и некоторого условия, написанного на камне.
Таким образом, появляется новый вид алгоритма.
• Как мы его назвали? (Алгоритм с ветвлением).
• Попробуйте дать ему определение. (Алгоритмическая конструкция «ветвление» – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.)
Записывают в тетрадь определение
– Учитель повторяет, как в виде блок-схемы изобразить «ветвление».
Если на улице не идет дождь, тогда пойди гулять, иначе останься дома. Составить блок-схему (учитель вместе с учениками)
Учитель просит привести примеры из жизни на данный вид блок-схемы.
Проблемное задание
Пример 2. Если на улице идет дождь, тогда открыть зонт.
-Чем этот пример отличается от предыдущего? -Как изменится блок-схема?
Учитель просит привести примеры из жизни на данный вид блок-схемы.
– Мы привели примеры двух форм ветвлений. Чем они отличаются? Как бы вы их назвали?
(Полная и неполная форма ветвления). Записывают в тетрадь:
Если , тогда … иначе…
-Учитель рассказывает как кодируются на языке программирования. (если учащиеся изучают
английский язык можно предложить самим попробовать)
5. Первичная проверка понимания.
Задание 1 (фронтальная работа). Приведите примеры разветвляющихся алгоритмов: полную и неполную форму. Составить блок-схемы к следующим выражениям:
1. Если ласточки летают низко, то будет дождь, иначе дождя не будет.
Если погода будет хорошая, то перед тем, как делать уроки, покатаюсь на лыжах.
Задание 3. Составление блок-схемы по условию.
Даны три отрезка с длинами a, b, c. Составьте алгоритм проверки существования треугольника со сторонами a, b, c.
Алгоритм представить в виде блок-схемы.
Задание 4. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»). Особенность: надо проверить, выполняются ли два условия одновременно.
6. Физкультминутка (с использованием алгоритмической структуры «ветвление»)
1. Если ты юноша, то выполняй круговые движения глаз по часовой стрелке, иначе против часовой стрелки.
2. Если у тебя длинные волосы, то выполняй наклоны головы вперед-назад, иначе вправовлево.
3. Если у тебя карие глаза, то вытяни руки вперед и потянись, иначе вытяни руки вверх потянись.
4. Если ты ученик 9 класса, то выпрямись и приготовься к дальнейшей работе, иначе выйди из класса.
7. Первичное закрепление.
1. Дифференцированная самостоятельная работа.
Вариант 1 (для слабых учеников)
Задание. Вычислите алгоритм разветвленной структуры, представленной в виде блок-схемы, при заданном входном потоке исходных данных:
Источник: znanio.ru
>»>