8 класс,21 урок
Учитель:Брух Т.В.
Дата:____________
Тема:«Выполнение алгоритмов вручную и на компьютере»
Целиурока:
правила записи ивыполнения алгоритмов;
рассмотретьвлияние последовательности команд алгоритма на результат его выполнения;
научиться составлять и выполнять алгоритмы;
Ход урока:
1.Организационный момент
2.Изучение нового материала – теория
поколения
Формальноевыполнение алгоритмов человеком. Исполнитель- человек может выполнять алгоритмы формально, не вникая в содержание поставленнойзадачи, а только строго выполняя последовательность действий, содержащихся валгоритме.
Предположим, чтопользователю необходимо в текстовом редакторе провести редактирование текста.Создадим алгоритм редактирования, в котором объектом является текст, аисполнителем — человек.
Сначала необходимозадать начальный текст и конечный текст, который должен быть получен послевыполнения алгоритма редактирования. Пусть начальным является текстинформационная модель и курсор находится перед первым символом, арезультатом является текст модель информационная и курсор находитсяпосле последнего символа
Для того чтобыизменить состояние текста, необходимо в текстовом редакторе выполнить над нимопределенную последовательность операций редактирования. Каждая командаалгоритма должна однозначно определять действие исполнителя, для этогонеобходимо записать алгоритм с использованием формальной модели текста.
Формальная модельтекста разбивает его на страницы, которые включают определенное количествострок, содержащих определенное количество символов (наш текст содержит однустроку). Алгоритм Редактирование запишем на естественномязыке, который понятен пользователю компьютера:
1. Выделитьсимволы с 1 по 15.
2. Вырезать этотфрагмент и поместить его в буфер обмена.
3. Установитькурсор на позицию после 7-го символа.
4. Вставитьвырезанный фрагмент текста.
Теперьпользователь может провести редактирование текста, формально выполнив алгоритмРедактирование.
Выполнениеалгоритмов компьютером. Компьютерможет выполнить алгоритм, если он записан на языке, понятном компьютеру.Информацию в компьютере обрабатывает процессор, следовательно, алгоритм долженбыть записан на языке, понятном процессору, т. е. на машинномязыке, представляющем собой логические последовательности нулей и единиц.
Однако составлениеи отладка таких программ является чрезвычайно трудоемким делом, поэтомуразработаны языки программирования высокого уровня, кодирующие алгоритмы впривычном для человека виде (в виде предложений).
Алгоритм,записанный на понятном компьютеру языке программирования,называется программой.
Итак, мы создалипрограмму на языке программирования высокого уровня (некоторый текст) изагрузили ее в оперативную память компьютера. Теперь мы хотим, чтобы процессорее выполнил, однако процессор понимает команды на машинном языке, анаша программа написана на языке программирования. Как быть?
Необходимо, чтобыв оперативной памяти компьютера находилась программа-переводчик (транслятор),автоматически переводящая программу с языка программирования высокого уровня намашинный язык. Компьютер может выполнять программы, написанные только на томязыке программирования, транслятор которого размещен в оперативной памятикомпьютера.
Алгоритмизация и программирование
Школьнаяинформатика в России начиналась с алгоритмизации и программирования,как с основной темы. С развитием школьной информатики как самостоятельногопредмета круг тем, рассматриваемых этим предметом, существенно расширился иалгоритмизация стала лишь одной из них, а относительно программирования вСтандарт основной школы включена фраза “Представление о программировании”.Полностью тема программирования включена лишь в Стандарт профильной школы.
Действительно, дляуспешного решения задачи, требующей составления алгоритма и написанияпрограммы:
1) четко понятьзадачу, провести ее детализацию и формализацию;
2)проанализировать, к какому классу задач она относится, какими способами(алгоритмами) ее можно решить;
3) составитьалгоритм решения задачи;
4) составитьпрограмму, реализующую этот алгоритм;
5) проверить,правильно ли программа работает, ту ли задачу она решает;
6) в случаеобнаружения ошибки необходимо проделать все (или некоторые) вышеперечисленныедействия заново с целью исправления ошибки.
Когнитивный анализвыполнения учебных задач показывает, что аналогичным способом решаются задачипо математике и физике, пишутся рефераты и доклады по любому школьномупредмету. Кроме того, все эти действия мы выполняем каждый раз, когда решаемсложные бытовые проблемы (например, ремонт в квартире), организационныепроблемы (школьный поход) и т.д.
Изучение даннойтемы, бесспорно, начинается с понятия алгоритма. Этопонятие рассматривается, начиная с пропедевтического курса информатики вначальной школе и заканчивая формальным определением алгоритма, формулируемым впрофильных классах старшей школы при изучении основ теорииалгоритмов. Кроме данного определения, в Стандарте упомянуты такиетемы теории алгоритмов, как вычислимая функция, сложностьалгоритмов, алгоритмически неразрешимые проблемы иряд других достаточно сложных тем и понятий, ранее в школьной информатике нерассматривавшихся. Понятие алгоритма рассматривается совместно с понятием исполнителя иего системы команд.
Способызаписи алгоритмов неотделимыот такого понятия, как алгоритмические конструкции. Приизучении алгоритмических конструкций необходимо сделать акцент на то, чтопредставление любого алгоритма возможно с помощью композиции трех базовыхструктур (следование, ветвление, цикл). Понимание этого факта позволяетосмысленно использовать метод структурного программирования.
Использованиетаких алгоритмических конструкций, как ветвление и цикл, подразумеваетиспользование логических выражений, построение которыхневозможно без понятия высказывания, логическогозначения, логических операций и кванторов.
Алгоритм,представленный в форме, пригодной для восприятия и выполнения компьютером,называется программой. Для записи алгоритмов в такой форме существуютразличные языки программирования. Алгоритмическиеконструкции в языке программирования записываются с помощьюсоответствующих операторов. Информация, подаваемая навход программе, называется данными. Одной из задач информатикиявляется нахождение форм представления информации, удобных для компьютернойобработки. Информатика, как точная наука, работает с формальными (описаннымиматематически строго) структурами данных. Примерамиструктур данных являются числа, логические значения, последовательности,таблицы, строки, списки, деревья, графы и т.п. Перечисленные структуры данныхсуществуют независимо от их реализации в программировании. С этими структурамиработали математики и в XVIII, и в XIX веках, когда еще не придумаливычислительные машины и никто не знал, что наступит эра информатизации. Удачныйвыбор структуры данных для представления информации может существенно повыситьэффективность решения задачи. Реализация этих структур в языке программированияпроизводится через соответствующие типы данных.
В школьном курсеинформатики изучаются различные алгоритмы, связанные с обработкой наиболеераспространенных структур данных, и если речь идет об изучении языкапрограммирования, то в первую очередь изучаются операции смассивами. Это и поиск максимального или минимального элемента, исортировка элементов массива в определенном порядке, и ряд других алгоритмов. ВСтандарте для профильных классов средней школы упоминается и такая тема,как игры и выигрышные стратегии.
Система статейраздела “Алгоритмизация и программирования”
Разработкапрограмм в настоящеевремя — это достаточно сложный процесс, она требует и знания системпрограммирования, и владения технологией программирования, и сознательногоиспользования одной из парадигм программирования, вчастности, объектно-ориентированного программирования.
Слово алгоритм —европеизированное произношение слов аль-Хорезми.
В своем нынешнемсмысле слово алгоритм часто ассоциировалось с алгоритмомЕвклида, который представляет собой процесс нахождения наибольшего общегоделителя (НОД) двух чисел.
Приведем современноеописание алгоритма Евклида с использованием блок-схемы.
Стрелка “ ”,используемая при описании данного алгоритма, обозначает операцию замещенияили присваивания. Разумеется, в книге Евклида “Начала”этот алгоритм сформулирован не совсем так (а записан совсем не так). В данномслучае мы продемонстрировали современную формулировку этого алгоритма и одну израспространенных наглядных форм записи алгоритмов.
Любой алгоритмсуществует не сам по себе, а предназначен для определенного исполнителя.Алгоритм описывается в командах исполнителя, который этоталгоритм будет выполнять. Объекты, над которыми исполнитель может совершатьдействия, образуют так называемую среду исполнителя, амножество команд, которые исполнитель может выполнять, — системукоманд исполнителя (СКИ).
Такимобразом, алгоритм можно рассматривать какпоследовательность команд управления работой исполнителя (предписаниеисполнителю на выполнение последовательности действий).
Ошибкивремени выполнения, (исключения – exception) обычно проявляются уже при первых запусках программы и вовремя тестирования. При возникновении ошибки в программе, запущенной из Delphi,среда разработки прерывает работу программы, и на экране появляется диалоговоеокно, которое содержит сообщение об ошибке и информацию о типе (классе) ошибки.После возникновения ошибки программист может – либо прервать выполнениепрограммы, ( Run — Program Reset), – либо продолжить ее выполнение, например,по шагам (Run — Step), наблюдая результат выполнения каждой инструкции.
Вот таквыглядит ошибка такого вида:
3. Домашнее задание
теория
