Презентация на тему: » Линейные, разветвляющиеся и циклические алгоритмы в блок- схемах Выполнил: А. С. Теслюк, учитель информатики МБОУ Казачемысской СОШ 15.03.2013 г. 9 класс.» — Транскрипт:
1 Линейные, разветвляющиеся и циклические алгоритмы в блок- схемах Выполнил: А. С. Теслюк, учитель информатики МБОУ Казачемысской СОШ г. 9 класс
2 начало ШАГ 1 ШАГ 2 ШАГ N конец Блок-схема линейного алгоритма
3 Блок-схемы алгоритмов ветвления начало ШАГ 1ШАГ 2 конец условие Вариант 1 +- Полный вид алгоритма ветвления начало ШАГ 1 конец условие Вариант 2 +- Неполный вид алгоритма ветвления
4 начало Невесту найдёшь Коня потеряешь конец Идти направо Вариант 1 +- Полный вид алгоритма ветвления начало Невесту найдёшь конец Идти направо Вариант 2 +- Неполный вид алгоритма ветвления Пример алгоритмов ветвления
5 Нам нужно найти местоимения, в зависимости от их лица. Мы знаем, что: местоимения 1-го лица: я, мы; местоимения 2-го лица: ты, вы; местоимения 3-го лица: он, она, оно, они В данной задаче нам нужно проверить следующие условия: Местоимения 1-го лица? Если да, то это местоимения я, мы. Если нет, то… Местоимения 2-го лица? Если да, то это местоимения ты, вы.
Scratch. Линейный алгоритм. Создание блок-схемы в LibreOffice DRAW
Если нет, то это местоимения он, она, оно, они Подумай!
6 Блок-схема множественного выбора Если значение = 1, то переходим к шагу 1, если 2, то к шагу 2, …, если N, то к шагу N. начало ШАГ 1ШАГ 2 конец 1 ШАГ 3ШАГ N… 2 3 … N значение
7 Пример множественного выбора начало Я, МЫТЫ, ВЫ конец 1 ОН, ОНА, ОНО, ОНИ 2 3 лицо Ввод лица Вывод местоимений
8 Алгоритм с повторением (циклический) – это алгоритм, который содержит команду повторения (команду, которая исполняется до тех пор, пока не выполнится условие). ЗАДАЧА: составить блок-схему наполнения ведра водой из бочки Имеется пустое ведро. Ученик имеет бочку с водой и кружку. Блок-схема циклического алгоритма Алгоритм Наполнение Начало 1. Пока ведро неполное, повторять: 2. Налить в ведро кружку воды. Конец Команда повторения Тело цикла начало конец Ведро не полное? нет Доливаем кружку да
9 На столе у школьника стоит банка с карандашами разной длины. В руке он держит карандаш, у которого сломался грифель. Он хочет вытянуть из банки карандаш, который был бы длиннее того, что он держит в руках. Его действия?» Тренинг — задача
10 Блок-схема алгоритма «карандаш» начало конец Новый карандаш больше? нет Тянем карандаш да Банка с карандашами Искомый карандаш
11 Блок-схема двух циклических алгоритмов начало конец Условие выполняется? нет Тело цикла да Цикл с предусловиемЦикл с постусловием начало конец Условие выполняется? нет Тело цикла да
12 Они имеют одно очень важное сходство: В том и другом цикле неизвестно количество повторений (в первом случае нам было неизвестно, сколько кружек воды нужно долить в ведро; а во втором, было неизвестно, сколько карандашей нам понадобится вытянуть, чтобы попался самый длинный). Различия: Цикл с предусловием сначала проверяет условие, потом выполняет какие- то действия, а с постусловием, сначала выполняет какие-то действия, потом проверяет условие. Из утверждения выше следует, что цикл с предусловием может не выполниться ни разу, а с постусловием всегда выполнится хотя бы один раз. Обычно, цикл с предусловием выполняется, когда условие истинно (правдиво), а цикл с постусловием выполняется, когда условие ложно.
Алгоритм в виде блок схемы
13 Физминутка (коррекция зрения) Физминутка (коррекция зрения)
15 начало конец В ведре белые шарики? нет Берём шарик да Ведро с чёрными шариками и ведро с белыми шариками Складываем его в другое место Запоминаем количество этих шариков Ведро пустое? Количество шариков нет да Есть вёдра? Берём ведро да нет Ответ на задание 1
16 Блок-схема задачи «день недели» начало пн.вт. конец ср.пт.чт. 12 да 7 вс.сб. Воскресенье? нет выходнойбудний Вывод результата Ввод номера дня Номер дня Ответ на задание 1 Ответ на задание 2
17 Данная блок-схема подсчитывает количество белых шариков и убирает их из соответствующего ведра. Ответ на задание 2
18 Домашние задания: перенести все записи и построения из «Памятки ученика» в рабочую тетрадь; прочитать п (полностью) с ; и выполнить два задания на этом же бланке: 1.Определите по блок-схеме результат исполнения алгоритма. 2.Составьте блок-схему работы алгоритма следующей задачи. Даны два ведёрка с разноцветными шариками. В одном ведёрке находятся красные и жёлтые шарики, а в другом синие и зелёные. Подсчитать количество жёлтых шариков и количество синих шариков»
19 Используемые источники: «Алгоритмы и исполнители» Блог С. С. Савельева, методиста ОРТП Татарского «И-МЦ» гг. Авторские физминутки Масько Л.Г. МОУ СОШ 14город Мончегорск. Здоровье сберегающие технологии в начальной школе (коррекция зрения). Материал по алгоритмам. В. А. Коднянко.
Алгоритмы и алгоритмизация, 2011 г. Линейный и разветвляющийся алгоритм. Набор рефератов, лабораторных, контрольных и курсовых работ. Подготовка к экзамену по информатике 9 класс. Основы алгоритмизации htm Информатика. Алгоритмизация. 6.htm Справочное руководство по составлении алгоритмов.
Алгебра логики/Алгоритмика. Piter Fediaev г.
Источник: www.myshared.ru
Линейные алгоритмы
В данном видеоуроке учащиеся знакомятся с понятием «линейный алгоритм». Подобраны простые и понятные примеры, рассмотрены решения задач. Так же в практической части урока описываются способы вставки рисунков и редактирование их, рисование с помощью готовых фигур в редакторе Microsoft PowerPoint.
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет.
Получите невероятные возможности
1. Откройте доступ ко всем видеоурокам комплекта.
2. Раздавайте видеоуроки в личные кабинеты ученикам.
3. Смотрите статистику просмотра видеоуроков учениками.
Получить доступ
Конспект урока «Линейные алгоритмы»
На прошлых занятиях мы с вами узнали, что современная жизнь не возможна без технических помощников. Например, светофор, стиральная машина, принтер или кофеварка, все они выполняют алгоритмы, составленные человеком, и справляются с поставленной для них задачей.
Напомним, что эти технические устройства являются исполнителями алгоритмов. Согласитесь, каждый современный человек не представляет свою жизнь, например, без светофора. А задумывались ли вы, как он работает? Давайте разберёмся. Как видим, смена цветов светофора происходит последовательно друг за другом: красный – жёлтый – зелёный – жёлтый – красный – жёлтый – зелёный и т. д. Светофор управляет дорожным движением, не обращая внимания на обстановку на перекрёстке т.е. действует по определённому алгоритму.
Алгоритм, в котором команды выполняются в порядке их записи, т.е. последовательно друг за другом называется линейным.
Давайте рассмотрим ещё один пример линейного алгоритма:
Шестиклассницу Таню мама попросила посадить лук. Таня с радостью согласилась помочь. Опишем последовательность действий Тани:
1. Выкопать на грядке ямку;
2. Положить в ямку лук;
3. Засыпать ямку с луком землёй;
4. Полить лук водой.
Представим данный алгоритм с помощью блок-схемы:
Начало алгоритма изображается с помощью овала (Таня пришла на грядку)
Выполняемое действие изображается с помощью прямоугольника (Выкопать на грядке ямку; Положить в ямку лук; Засыпать ямку с луком землёй; Полить лук водой.)
Конец алгоритма также изображается овалом (Таня отправилась к маме сказать, что её просьба выполнена)
Итак, Вы заметили, что линейный алгоритм — это последовательное выполнение определённых команд в строгом порядке их записи. А сейчас, давайте самостоятельно составим линейный алгоритм для решения одной из задач:
Система команд исполнителя Вычислитель состоит из двух команд:
Давайте придумаем для Вычислителя алгоритм, с помощью которого он получит из 0 число 50.
Алгоритм решения этой задачи может быть, например, таким:
0 – прибавить 1 – прибавить 1 – прибавить 1 – умножить на 2 — умножить на 2 — умножить на 2 — прибавить 1 – умножить на 2.
Для того что бы понять, чем же для нас может быть полезен линейный алгоритм, давайте проведём компьютерный практикум. Создадим презентацию «Часы», с помощью редактора презентаций Power Point. Давайте в нашей презентации сделаем так, чтобы время на циферблате изменялось каждые 10 минут, т.е. зададим линейный алгоритм изменения времени.
1. Напомним, что открыть программу Power Point можно нажав в меню Пуск – Все программы.
2. Выберем вкладку Главная затем в группе Слайды нажмём на кнопке Макет здесь нам нужен Пустой слайд.
3. Для того чтобы у нас получился симметричный циферблат, нарисуем сначала в центре слайда пересекающиеся прямые по горизонтали и вертикали.
Теперь мы можем изображать часы. Начнём с циферблата. Выбираем вкладку Вставка, нажимаем на Фигуры и с помощью готовых фигур изображаем циферблат и две стрелки.
Копируйте повторяющиеся изображения. Не забывайте, их можно редактировать, поворачивать.
4. Далее на вкладке Слайды левой панели нажимаем на слайд с часами, переходим на вкладку Главная и щёлкаем на Копировать. Вставим в презентацию 4 копии нашего слайда (всего у нас будет 5 слайдов), для этого на вкладке Главная нажмём 4 раза Вставить.
5. Наши часы должны показывать время, поэтому изменим положение стрелок на слайдах, например, на 12.00, 12.10, 12.20, 12.30 и 12.40.
6. Для того, чтобы слайды менялись перейдём на вкладку Переходы и в группе Время показа слайдов установим минимальную длительность перехода (00,01) затем, нажмём кнопку Применить ко всем.
7. Запустим презентацию. Выбираем вкладку Показ слайдов, нажимаем С начала.
8. Сохраним презентацию в папке с вашей фамилией под названием Мои часы.
Итак, в нашей презентации «Часы» линейный алгоритм – это последовательное изменение времени каждые 10 минут.
Таким образом, сегодня на уроке мы узнали, что
Линейным алгоритмом называется алгоритм, в котором команды выполняются последовательно друг за другом, т.е. в порядке их записи.
Так же научились применять линейные алгоритмы для создания интересных презентаций в PowerPoint.
Источник: videouroki.net
Составить блок схему для линейный алгоритма
Итак, опустив долгие и нудные восхваления Паскаля, которые так любят публиковать в своих статьях редакторы многих сайтов, приступим непосредственно к самому основному – к программированию.
В школах, как правило, изучение Паскаля начинают с решения простейших задач путем составления различных алгоритмов или блок-схем, которое многие так часто игнорируют, считая никому не нужной ерундой. А зря. Я, как и любой другой человек, хоть немного соображающий в программировании (не важно где – в Паскале, Си, Дельфи), могу уверить Вас – умение правильно и быстро составлять схемы является фундаментом, основой программирования.
Блок-схема — графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).
Существует несколько основных видов блоков, которые нетрудно запомнить:
Сегодняшний урок я решила посвятить не только изучению блок-схем, но также и изучению линейных алгоритмов. Как Вы помните, линейный алгоритм — наипростейший вид алгоритма. Его главная особенность в том, что он не содержит никаких особенностей. Как раз это и делает работу с ним простой и приятной.
Задача №1: «Рассчитать площадь и периметр прямоугольника по двум известным сторонам».
Данная задача не должна представлять особой трудности, так как построена она на хорошо известных всем нам формулах расчета площади и периметра прямоугольника, поэтому зацикливаться на выведении этих формул мы не будем.
Составим алгоритм решения подобных задач:
1) Прочитать задачу.
2) Выписать известные и неизвестные нам переменные в «дано». (В задаче №1 к известным переменным относятся стороны: a, b ;к неизвестным — площадь S и периметр P)
3) Вспомнить либо составить необходимые формулы. (У нас: S=a*b; P=2*(a+b))
4) Составить блок-схему.
5) Записать решение на языке программирования Pascal.
Запишем условие в более кратком виде.
Структура программы, решающей данную задачу, тоже проста:
- 1) Описание переменных;
- 2) Ввод значений сторон прямоугольника;
- 3) Расчет площади прямоугольника;
- 4) Расчет периметра прямоугольника;
- 5) Вывод значений площади и периметра;
- 6) Конец.
Задача №2: Скорость первого автомобиля — V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Какое расстояние будет между ними через T часов, если автомобили движутся в разные стороны? Значения V1, V2, T и S задаются с клавиатуры.
Решение осуществляем, опять же, следуя алгоритму. Прочитав текст, мы переходим к следующему пункту. Как и во всех физических или математических задачах, это запись условий задачи:
Далее идет самая главная и в то же время самая интересная часть нашего решения – составление нужных нам формул. Как правило, на начальных стадиях обучения все необходимые формулы хорошо нам известны и взяты из других технических дисциплин (например, на нахождение площади различных фигур, на нахождение скорости, расстояния и т.п.).
Формула, используемая для решения нашей задачи, выглядит следующим образом:
Следующий пункт алгоритма – блок-схема:
Решение задачи №2.
А также решение, записанное в Pascal :
Вам может показаться, что две эти программы правильны, но это не так. Ведь сторона треугольника может быть 4.5, а не 4, а скорость машины не обязательно круглое число! А Integer — это только целые числа. Поэтому при попытке написать во второй программе другие числа выскакивает ошибка:
Обратите внимание в Паскале, как и в любом другом языке программирования десятичная дробь вводится с точкой, а не с запятой!
Чтобы решить эту проблему вам надо вспомнить какой тип в Pascal отвечает за нецелые числа. В этом уроке мы рассматривали основные типы. Итак, это вещественный тип — Real. Вот, как выглядит исправленная программа:
Как видите, эта статья полезна для прочтения как новичкам, так и уже более опытными пользователям Pascal, так как составление блок-схем не только очень простое и быстрое, но и весьма увлекательное занятие.
Здесь понятней чем в школе.
мля… прикиньте, я узнал про этот сайт только ПОСЛЕ того как сделал программу с условием, узнавая все в инструкции
Ребята , вопрос на засыпку, как заставить «,» (введенную пользователем в числе) заменить на «.» внутри программы, что бы не вылетало юхни с ошибкой.
Взять строку введенную пользователем, заменить «,» на «.».
Если совсем гуглить не умеете, то вам сюда — http://www.cyberforum.ru/pascal/thread190664.html
>> скорость машины не обязательно круглое число!
Нет такого понятия, как «круглое число».
Обе ваши блок-схемы не соответствуют ГОСТу (сдать такие на курсовой проект не получится). ГОСТ определяет блоки начала и конца, как «прямоугольник со скругленными краями», а не «скругленными углами».
>> умение правильно и быстро составлять схемы является фундаментом, основой программирования.
Большинство программистов так не считает. Кроме того, попробуйте поспрашивать у программистов «когда они последний раз составляли блок-схему?» — окажется что в ВУЗе (когда с них зачем-то сдирали знание ГОСТа).
>> так как составление блок-схем не только очень простое и быстрое, но и весьма увлекательное занятие.
Очень сложное, долгое и бесполезное занятие. Для хоть сколько-нибудь большой программы (в тысячу строк хотя бы, как курсак) блок-схемы будут огромные и их будут десятки. А что делать если они перестают соответствовать коду? — вот даже в вашей первой задаче надо будет добавить проверку, что юзер не ввел отрицательные значения сторон, что делать? — исправления кода займут 1 минуту, а исправление блок-схем 10 минут, и зачем тогда этим заниматься?
Программист не должен писать блок-схемы (он их должен читать и понимать и при необходимости исправлять). Блок-схемы это графический язык общения, который понимает как программист, так и не программист. Чтобы пользователь не общался с программистом своими «хотелками», типа я хочу, чтобы вот это правильно считалось, и это число складывалось с этим, а потом выводилось сюда (или вообще говорил — хочу что бы работало), а рисовал все в виде блок-схем с четким алгоритмом. Тогда по идее у программиста будет понимание того, что от него хотят (и он через пять минут не забудет все что ему сказали). Либо, когда общаются два программиста пишущих на разных языках программирования (LISP и Java) и одному нужно объяснить как работает его код, что бы другой переписал его на другом языке.
Как объяснить преподавателю как работает программа, если преподаватель не знает языка программирования на котором написана ваша программа? Или как преподавателю объяснить алгоритм задачи студентам пишущим и реализующим этот алгоритм или программу на разных языках программирования? Нужен какой-то универсальный язык общения и обычно это просто текст «что нужно сделать» на русском языке, а не намного облегчающая жизнь программиста блок-схема.
Вам могут сказать — сделай модуль авторизации (ты же знаешь как, ну как всегда и как везде), а могут нарисовать блок-схему модуля авторизации с учетом всех пожеланий, типа того, что пароль должен содержать не менее 6 символов и что нужно делать в противном случае т.д. То есть блок схему должен уметь рисовать тот кто ставит задачу, а не программист. Либо программист (архитектор либо менеджер проекта), который ставит задачу другим программистам.
Вы слишком придирчивы, серьезно (я говорю про последние два пункта). Понятно, что статья (как почти и весь сайт) написана почти только для школьников, которым об этом твердят в школе. Здесь же им просто объясняют те вещи, которые они на учебе недопоняли
Блок схемы всей программы могут не понадобиться. Это же тонны бумаги и много времени. И да, они устаревают и актуализировать их трудоёмко.
Но при обсуждении новых вариантов решения задачи с другими программистами удобно оперировать блоками с криво-косо нарисованными краями и линиями. Начертил на бумаге или доске и все понятно.
На практике я встречал фотографии доски с блок-схемами, прикреплённые к задачам в Jira.
Не по ГОСТу
Спасибо, теперь я напишу программу, которая делает код по блок схеме и наоборот
program Logarifm;
Var
X,y,z:real;
function Lgrfm(A,B:Real):Real;
var
Osn:Real;
begin
Osn:=ln(A)/ln(B);
Lgrfm:=Osn;
end;
begin
Write(‘Введите X = ‘);
ReadLn(X);
Write(‘Введите Y = ‘);
ReadLn(Y);
Z:=Lgrfm(X,2)+Lgrfm(Y,3);
WriteLn(‘Z = ‘,Z:10:3);
ReadLn;
end.
Отличный сайт, мне все нравится все понятно и четко, нашел нужные программы.
В блок-схемах начало и конец алгоритма обозначаются не прямоугольником со скруглёнными краями, а овалом!
Ребята, что сделали сайт молодцы)) Оч полезная инфа, что нужно поправить, чтобы сайт стал еще лучше:
1) мне не хватает структуры уроков порядковой (или хотябы под уроками чтобы была ссылка на следующий), поэтому приходится на другие уроки искать ссылки по сайту и в контексте уроков;
2)нет описания функций используемых в примерах (по крайней мере, возможно по причине отсутствия структуры, я их не нашел), поэтому беру на сторонних ресурсах описания таких функций как dec() inc() sqr() odd().
А вообще как я понял сайт составлялся школьниками «на коленках», поэтому я не придираюсь, а просто говорю им спасибо за их труд. Желаю успехов.
Линейные алгоритмы — схема, структура и вычисление
Повседневная жизнь каждого человека состоит из решения огромного количества задач разной сложности на работе или во время учебы. Некоторые задачи настолько просты, что, выполняя их, мы выполняем определенные действия автоматически, даже не задумываясь об этом. Решение любой задачи, даже самой простой, обычно осуществляется последовательно в несколько этапов. Этот тип последовательности при поиске и устранении неисправностей называется алгоритмом. Сегодня мы увидим, что такое линейные алгоритмы, как представлена их структура, как они решаются и программируются.
Алгоритмический язык
Это понятие является точным предписанием исполнителю выполнить определенную последовательность действий, которая направлена на решение проблемы.
Этот язык является средством описания алгоритмов, которые обычно ориентированы на пользователя.
Если говорить на компьютерном языке, это точный рецепт, определяющий вычислительный процесс. Это, в свою очередь, ведет от исходных данных, которые меняются, к исходному результату.
Разработка алгоритма — довольно сложный и трудоемкий процесс. Это методика составления (разработки) последовательности действий, предназначенных для решения проблем с помощью компьютера.
Свойства алгоритма
- определенность (однозначность) — представляет собой уникальность трактовки правил выполнения действий, а также порядка их выполнения;
- массовость — алгоритмы должны уметь решать целый класс конкретных задач с общей постановкой задачи.
- конечность — заключается в выполнении работы всего алгоритма за определенное конечное число фаз (шагов);
- понятность — инструкции должны быть понятны исполнителю;
- оперативность: получение требуемого результата за конечное количество шагов;