Алгоритм, событие, или…. Алгоритмы в нашей жизни – моё утро 7-00 встать, умыться, принять душ; 7-10 включить микроволновку с завтраком, поставить чайник,

Презентация:



Advertisements
Похожие презентации
Понятие алгоритма Слово «алгоритм» происходит от латинского написания имени величайшего ученого Средней Азии и средневекового Востока Мухамада ибн Мусы.
Advertisements

Проверка качества усвоения учебного материала по теме «Человек и информация» Урок 24 Классная работа Тест Вариант I Вариант I Вариант II Вариант.
1 Компьютерная модель и исполнители. 2 Модели задач С моделями задач вы имеете дело ежедневно, ежечасно и даже ежеминутно. Но до сих пор вы, возможно,
Основы алгоритмизации
Слово алгоритм произошло от algorithm – латинского написания слова аль – Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма.
Алгоритм это совокупность правил выполнения определенных действий, обеспечивающих решение задачи. А Л Г О Р И Т М В жизни мы постоянно выполняем разные.
Цель урока: Учиться составлять и записывать алгоритмы различными способами.
Что такое алгоритм. Решение даже самой простой задачи обычно осуществляется за несколько последовательных шагов.
Жизненные задачи Последовательность действий Алгоритм ЧТО ТАКОЕ АЛГОРИТМ.
Автор: Ибрагимова Татьяна Николаевна. Давайте обсудим 1.Что такое алгоритм? 2.Кого или что называют исполнителем алгоритма? 3.Что такое система команд.
Л.Л. Босова, УМК по информатике для 5-7 классов Москва, 2007 Алгоритмы и исполнители.
Л.Л. Босова, УМК по информатике для 5-7 классов Москва, 2007 Алгоритмы и их исполнители.
1 вопрос 2 вопрос 3 вопрос 4 вопрос 5 вопрос 6 вопрос 7 вопрос 8 вопрос 9 вопрос 10 вопрос Вопросы для повторения.
Алгоритмы Введение в программирование. Алгоритм Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города.
В зависимости от того, каков порядок использования команд, можно выделить три типа алгоритмов.
Урок информатики в 10 классе Подготовил: Учитель информатики Малков А.К.
Л.Л. Босова, УМК по информатике для 5-7 классов Москва, 2007 Алгоритмы и исполнители Скачать конспект к данной презентации Qo.do.aM - >>>мир предметника.
1. Взять деньги (и сумку). 2. Пойти в продуктовый магазин. 3. Выбрать необходимые продукты. 4. Заплатить за них в кассу. 5. Принести продукты домой.
Л.Л. Босова, УМК по информатике для 5-7 классов Москва, 2007 Алгоритмы и исполнители.
Чтобы избежать неприятностей Урок окружающего мира 2 класс Захарова И. В. учитель начальных классов.
Транксрипт:

Алгоритм, событие, или…

Алгоритмы в нашей жизни – моё утро 7-00 встать, умыться, принять душ; 7-10 включить микроволновку с завтраком, поставить чайник, выполнять зарядку; 7-30 приступить к завтраку; 7-50 начать одеваться; 8-10 выйти в школу. Рано уходя на работу, мама оставляла Вите чёткую инструкцию…

Линейная программа – набор инструкций, последовательно выполняемый компьютером До 90 годов прошлого века линейная программа была единственным способом общения человека и компьютера. Но можно ли в ней предусмотреть все возникающие ситуации?

Утро не задалось… Горячей воды не было, и Витя пять лишних минут решался принять душ. Чайник никак не хотел закипать. В 7-50 раздался звонок в дверь…

Конечно Витя знал, что делать, если в дверь звонит незнакомец. Это мрачное утро существенно улучшилось приездом его любимого дяди. Не так хорошо обстоят дела у компьютера. При возникновении ситуации, не предусмотренной в алгоритме он прерывает программу сообщением об ошибке, или, что гораздо хуже, обижается и «зависает».

Знаменитый «синий экран смерти» – ваша программа не в порядке! Run time error at ff 55:6a c8 Process stop at ff 45:ca hh Press any key to reboot…

Если бы Витя был компьютером. В этом случае дядя не попал бы к нему в гости, либо маме в её инструкции пришлось писать в каждой строке: Если звонок в дверь То Спросить «Кто там?» А как предусмотреть все события?

События Правила, определяющие поведение человека представляют собой, в основном, не строгие инструкции, а описания реакций на какие – либо события. При звонке в дверь посмотри в глазок, спроси «кто там?».

Например… СитуацияСобытиеРеакция Директор – секретарю: Если позвонят из министерства, я уже выехал. Звонок из министерства. Сообщение о выезде. Сотрудник – сотруднику: Когда освободитесь, загляните ко мне, пообщаемся. Завершение текущей работы. Загляните ко мне. Инструкция в автобусе: При аварии разбить стекло молотком. Авария.Разбить стекло молотком. Жена – мужу: Пойдёшь домой, не забудь хлеба купить! Возвращение домой. Покупка хлеба.

В чём разница? Событийно – ориентированный подход к написанию инструкций позволяет делать их более гибкими. Исполнитель таких инструкций не связан необходимостью делать в данный момент строго определённое действие, а выполняет то, что требуется в сложившейся ситуации. Попробуй написать «утренние инструкции» с помощью событий.

В компьютере. В последние годы компьютеры стали многопользовательскими и многозадачными. Количество и сложность устройств, управляемых компьютером увеличилась на порядок. Со всеми событиями, происходящими при работе за таким компьютером линейное программирование не справится. Поэтому появились событийно - ориентированные ОС (Windows) и системы разработки ПО (MS Visual Studio, Delphi).

Сравните - Линейная программаСобытийно – ориентированная программа Вид Инструкция1 Инструкция2 Инструкция3 … Событие1 Описание реакции Событие2 Описание реакции …. Порядок выполнения Строго сверху вниз от первой инструкции к последней Неизвестен, зависит от наступления событий. Исключительн ая ситуация Завершение работы или «зависание» Обработка, если это предусмотрено разработчиком, или игнорирование. Запуск другой программы Невозможен, пока идёт выполнение алгоритма А почему бы и нет?

Алгоритм умер? А вот это – самое распространённое заблуждение, возникающее при знакомстве с событийно - ориентированным программированием. Да, порядок исполнения программы не известен, а порядок описания событий не существен. Нельзя нарисовать и блок – схему такой программы. Но внутри реакции на событие – наш старый добрый знакомый – алгоритм!

А можно ли по другому? Алгоритм спрятался в событие, и подобный подход позволяет давать более гибкие инструкции исполнителю – компьютеру или человеку. Но являются ли этот подход единственным? Ответ на этот вопрос Витя нашел в магазине!

В магазине. «Пожалуйста, мне нужен батон за Для этого подойдите к полкам, возьмите батон, принесите его к прилавку, примите оплату, выдайте мне сдачу и батон.» - сказал Витя продавцу. Видели бы вы глаза продавца! Конечно, Витя произнёс только первую фразу и задумался – а надо ли описывать исполнителю, что делать или достаточно описать только требуемый результат.

Запросы. Программист указывает системе программирования, какой результат ему нужен, а она сама выполняет необходимые действия. Такой подход к написанию программы реализован в системах управления базами данных – программист описывает необходимые данные с помощью специального языка, а система сама выполняет действия по поставке этих данных программисту. Такие команды называются запросами.

А почему это работает? Механизмы (или алгоритмы) сортировки и поиска данных разработаны и реализованы ещё в середине прошлого века. В современных СУБД эти алгоритмы спрятаны так далеко, что работа с ними происходит с помощью неалгоритмического языка запросов (SQL)!

Итак… Мы убедились, что инструкции исполнителю можно формулировать по разному. Линейное, событийно – ориентированное программирование или язык запросов. В каком объёме надо программисту знать эти разделы? Ответ мы найдём на следующем шаге нашего исследования – социальном.