Skip to content

Конспект урока выполнение алгоритмов компьютером 9 класс: Конспект урока информатики в 9 классе на тему «Выполнение алгоритмов компьютером»

Содержание

Конспект урока по информатике на тему «Выполнение алгоритмов компьютером» (9 класс)

Тема: Выполнение алгоритмов компьютером. Практическая
работа № 20 «Знакомство с системами объектно-ориентированного и
алгоритмического программирования»

Класс: 9

Цели урока:

— иметь
представление о различных языках программирования и их назначении;

— знать интерфейс программной
среды Visual Basic, понятия: проект, этапы разработки проекта, классы объектов,
свойства объекта, методы объекта, событийные процедуры;

— уметь запускать систему
программирования Visual Basic, создавать и сохранять простейший проект.

Ход урока

1.  Организационный момент.

2.  Устная работа.

Проверка домашнего задания.

3.  Объяснение нового материала.

Учащиеся должны знать о
существовании различных языков программирования, которых на сегодняшний день
существуют тысячи.

Языки (системы) программирования —
это инструмент для программиста. Они позволяют разрабатывать, вводить в
компьютер, отлаживать и исполнять программы, используя машинные языки (языки
программирования). Системы программирования обеспечивают создание новых программ для
компьютера.

В 1952 году американец А. Э. Гленн
для облегчения работы с ЭВМ «Марк-1» впервые разработал машинный язык под
названием «Автокод». Автокод позволял пользоваться в программах математическими
формулами. Первые программисты исполняли роль посредников между человеком и
ЭВМ. Они контролировали доступ к новым, популярным и немного загадочным
машинам.

Работа программистов сложная и
ответственная. Цена
их ошибок может быть весьма высокой. (Это может подтвердить случай с космическим аппаратом
«Фобос-1», с которым была неожиданно потеряна связь, и тем самым перечёркнут
весь комплекс намеченных исследований. Это произошло вследствие одной
пропущенной буквы в программе. Ошибка привела к потере верной ориентации
аппарата в пространстве. Солнечные батареи стали получать меньше энергии,
необходимой в первую очередь для работы передатчика. Все попытки устранить
последствия ошибки положительных результатов не дали. В 1962 году в США из-за
пропуска дефиса в программе пришлось подорвать космическую ракету, стартовавшую
с мыса Кеннеди к Венере. Такая, казалось бы, «мелочь» обошлась стране в 17,5
млн долларов).

Языки программирования – это
специально разработанные искусственные языки, которые предназначены для записи
алгоритмов, исполнение которых поручается ЭВМ. Языков программирования, как и
естественных языков человеческого общения, насчитывается несколько сотен. С
помощью языков программирования происходит общение человека с компьютером.
Каждый язык программирования имеет свой алфавит, действуют чёткие правила
образования слов и фраз на этом языке. Для каждого языка разработана система
записи определённых команд, имеется свой набор служебных слов, свои правила
написания на алгоритмических языках. Если машинный язык предназначен, например,
экономистам, то в его словаре много терминов, которыми пользуются бухгалтеры,
но нет слов, в которых нуждаются биологи или архитекторы.

Поколения
языков программирования

Языки
программирования принято делить на пять поколений. В первое поколение входят
языки, созданные в начале 50-х годов, когда первые компьютеры только появились на
свет. Это был первый язык ассемблера, созданный по принципу «одна инструкция —
одна строка».

Расцвет
второго поколения языков программирования пришелся на конец 50-х — начало 60-х
годов. Тогда был разработан символический ассемблер, в котором появилось
понятие переменной. Он стал первым полноценным языком программирования. Благодаря его
возникновению заметно возросли скорость разработки и надежность программ.

Появление
третьего поколения языков программирования принято относить к 60-м годам. В это
время родились универсальные языки высокого уровня, с помощью которых удается
решать задачи из любых областей. Такие качества новых языков, как относительная
простота, независимость от конкретного компьютера и возможность использования
мощных синтаксических конструкций, позволили резко повысить производительность труда программистов.
Понятная большинству пользователей структура
этих языков привлекла к написанию небольших программ (как правило, инженерного или экономического характера)
значительное число специалистов из
некомпьютерных областей. Подавляющее большинство языков этого поколения успешно применяется и сегодня.

С
начала 70-х годов по настоящее время продолжается период языков четвертого поколения.
Эти языки предназначены для реализации крупных проектов, повышения их
надежности и скорости создания. Они обычно ориентированы на специализированные
области применения, где хороших результатов можно добиться, используя не
универсальные, а проблемно-ориентированные языки, оперирующие конкретными
понятиями узкой предметной области. Как правило, в эти языки встраиваются
мощные операторы, позволяющие одной строкой описать такую функциональность,
для реализации которой на языках младших поколений потребовались бы тысячи
строк исходного кода.

Рождение
языков пятого поколения произошло в середине 90-х годов. К ним относятся также
системы автоматического создания прикладных программ с помощью визуальных
средств разработки, без знания программирования. Главная идея, которая
закладывается в эти языки, — возможность автоматического формирования результирующего
текста на универсальных языках программирования (который потом требуется откомпилировать).
Инструкции же вводятся в компьютер в максимально наглядном виде
с помощью методов, наиболее удобных для человека, не знакомого с
программированием.

Самые
распространенные языки программирования: Fortran (Форт-ран), Cobol (Кобол), Algol (Алгол), Pascal (Паскаль), Basic (Бейсик), С
(Си), С ++ (Си ++), Java (Джава, Ява), Delphi (Делфи), Visual Basic (Вижуал
Бейсик).

Чаще всего используются несколько
десятков наиболее удачных и удобных языков программирования.

· Бейсик – был разработан профессорами
Дартмутского колледжа Дж. Кемени и Т. Курцом. В 1964 году (BASIC – универсальный символьный код для
начинающих). Это самый популярный язык программирования и общения с ЭВМ среди
начинающих пользователей.

· Фортран — является первым и одним из
распространённых языков программирования в 50 – 60 годах прошлого века. Он
сложнее, чем Бейсик. Создан был группой программистов фирмы IBM в 1956 году. Название Фортран
происходит от сокращённых слов: ФОРмулярный и ТРАНслятор, т. е. переводчик формул.
Он специально предназначался для работы с формулами, используемыми в математике
и других научно-технических дисциплинах.

· Алгол создан в 1958 году (ALGOL означает «алгоритмический язык»).
Этот язык предназначен для записи алгоритмов, которые строятся в виде
последовательности процедур, применяемых для решения поставленной задачи. 
Используют его в исследовательских и научно-технических расчётах, при
программировании вычислительных задач в математике, физике и т. д.

·
Паскаль (Pascal) получил своё название в честь французского
математика Блеза Паскаля. Он также является популярным языком и, как и Бейсик,
изучается в школах, различных учебных заведениях. Создан был в 1969 году
швейцарским учёным Никлаусом Виртом в Цюрихе. Он прост и доступен для обучения
приёмам программирования.

· Ада. Был создан в 1979 году, его
назвали  в честь Агаты Ады Лавлейс, математика и писателя XIX в., дочери великого английского
поэта лорда Байрона.  Её заслуженно называют первым программистом, составившим
алгоритм и программу вычисления чисел Бернулли. Она внесла большой вклад в
описание Аналитической машины Чарльза Бэббиджа.

·
Кобол  (Cobol, сокращённое английское слово, означает
«язык, ориентированный на обработку коммерческой информации»). Это
универсальный язык, предназначенный для бизнеса. Был разработан специалистами
фирмы IBM в 1960 году.

·
Лисп (LISP – обработка списков) – более ограниченный
язык для логического программирования. Разработан был математиком Дж. Маккарти
(США) в 60-х годах. Язык Лиспа оказался полезен в опытах искусственного
интеллекта (ИИ).

·
Пролог (PROLOG – программирование в логике) был создан в
1972 году во Франции для логического программирования. Этот язык принят в
качестве рабочего языка для ЭВМ пятого и шестого поколений. Пролог –  язык
доказательств, который хорошо подходит для задач, связанных с манипулированием
знаниями.

· Лого. В 60-х годах под руководством
профессора математики Сеймура Пейперта был разработан язык Лого (в переводе с
греческого означает «слово»). Учёный был убеждён, что для учеников начальных
классов сложно овладеть языком Бейсик. И он создал на основе языка Лиспа язык
Лого. По инициативе Пейперта, в язык было добавлено понятие черепашки. Сначала
использовалась механическая черепашка, ползущая по полу, а затем её условное
изображение было представлено на экране дисплея, что для детей придавало языку
притягательность. Лого является языком обучения детей понятиям математики,
геометрии, программирования.

(Языки программирования помогают
учёным проводить исследования и открытия. В 1985 году программисты, используя
три языка: Си, Форт и язык ассемблера, предоставили возможности всему миру
впервые увидеть океанский лайнер «Титаник», который затонул около 100 лет назад
в водах Атлантического океана. Изображения затонувшего корабля передавалось в
цифровом виде по глубоководному кабелю с подводного аппарата «Арго»,
находящегося на глубине 4 км, на исследовательское судно «Кнорр», которое
находилось на поверхности океана. Прожекторы, видеокамеры и другая техника,
установленная на борту «Арго», управлялась несколькими компьютерами, каждый из
которых был запрограммирован на своём машинном языке. Компьютер на борту судна
«Кнорр» был запрограммирован на языке «Си». Связь между ними осуществлялась с
помощью программ обработки изображений и управления видеокамерами, написанных
на трёх машинных языках).

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

Многообразие систем
программирования связано с бесконечно большим количеством возможных
вычислительных задач. Для одних задач лучше подходят одни языки
программирования, для других – другие. Даже для задач одного класса, в
зависимости от размера алгоритма, какие-то языки могут быть эффективны более
или менее, а какие–то – неприменимы вообще. Для языков программирования
существует своя классификация. До недавнего времени использовалось, в основном,
структурное программирование (языки Basic, Pascal), которое основано на модульной
структуре программного продукта и типовых управляющих структурах алгоритмов
обработки данных различных программных модулей. Такие языки еще называют алгоритмическими,
или процедурными. В настоящее время лидерство переходит к
объектно–ориентированным технологиям в области программирования. Программный
продукт, созданный с помощью инструментальных средств объектно–ориентированного
программи-рования (например, Visual Basic), содержит объекты с характерными свойствами,
для которых разработан графический интерфейс пользователя.

Visual
Basic
— это последняя версия одного из популярных
языков программирования. В настоящее время с помощью Visual Basic можно быстро
создавать приложения, работающие в среде Windows для любой области компьютерных
технологий: бизнес-приложения, мультимедиа, приложения типа клиент — сервер и
приложения управления базами данных. Кроме того, Visual Basic является
встроенным языком для приложений Microsoft Office. Многие разработчики
приложений также используют Visual Basic в качестве внутреннего языка своих
приложений.

Visual
Basic представляет собой интегрированную среду разработки, которая содержит набор
инструментов, облегчающих и ускоряющих процесс разработки приложений. Причем
процесс разработки заключается не в написании программы (программного кода), а
в проектировании приложения. Приложение формируется средствами графического
редактирования (компоновки), что позволяет свести процесс создания программного
кода к минимуму.

Как и
во всех современных системах визуального проектирования, в Visual Basic
применяется объектно-ориентированный подход к программированию. Любое
приложение, написанное на Visual Basic, представляет собой совокупность
объектов.

Объект
— некая сущность, которая четко проявляет свое
поведение и является представителем некоторого класса подобных себе объектов.
Почти все, с чем производится работа в VB, является объектами. Например: Форма,
Командная кнопка, Текстовое поле и т. д.

Каждый
объект характеризуется:

·
свойствами;

·
методами;

·
событиями.

Свойство — это имеющий имя атрибут
объекта. Свойства определяют характеристики объекта (цвет, положение на экране,
состояние объекта).

Методы — это действия или задачи,
которые выполняет объект (то, что можно делать с объектами).

Классом объектов в объектно-ориентированных
языках программирования называется общее описание таких объектов, для которых
характерно наличие множества общих свойств и общих действий, способных
выполнять эти объекты (например, класс Командная кнопка — общее описание кнопок
в окнах приложений). Они должны иметь множество общих свойств и других
характеристик (например, событий, одинаковых для всех этих объектов: щелчок
мышью).

При
объяснении материала можно использовать следующие таблицы:

Элемент управления

Стандартные префиксы

Обычная форма
(Form)

frm

Кнопка (Command
button)

сmd

Надпись (Label)

lbl

Текстовое поле
(Text box)

txt

Флажок (Check box)

chk

Переключатель
(Option button)

opt

Окно с рисунком
(Picture bох)

pic

Рамка (Frame)

fra

Фигура (Shape)

shp

Изображение (Image)

img

Список (List
box) 

lst

Поле со списком
(Combo box)

cbo

Основные
свойства элементов управления

Имя

Для обращения к объекту в приложении предназначено свойство Имя
(Name).

Надпись

Свойство Caption определяет текст надписи на объекте.

Позиция

Позицию элемента управления определяют четыре свойства: Left, Top,
Height и Width. Эти значения по умолчанию используют в качестве единицы
измерения твип (twip). Твип — это экранно-независимая единица измерения,
равная 1/20 точки принтера и гарантирующая независимость отображения
элементов приложения от разрешения дисплея. Отсчет в системе координат
ведется сверху вниз (Y) и слева направо (X).

Цвет

Управление цветовым
оформлением элементов осуществляется с помощью свойств BackColor (цвет фона),
FillColor и ForeColor, которым по умолчанию назначаются стандартные цвета
Windows.

Параметры шрифта

Вид шрифта в элементах управления выбирается путем установки значений
свойства Font.

Доступность и видимость элемента управления

Часто при работе приложения требуется сделать недоступными для
пользователя некоторые элементы управления. Для этого используют два свойства
— Enabled и Visible.

Приложение,
создаваемое в среде Visual Basic, называется проектом. Программный проект
— это совокупность частей, составляющих будущее WINDOWS-приложение. Любой
проект должен обязательно состоять из экранных форм (хотя бы одной) и
программных модулей (хотя бы одного). Visual Basic хранит каждый проект в
отдельном файле с расширением vbp.

Экранная форма — это графическое представление
WINDOWS-приложения вместе с содержанием этого окна. Содержание включает в себя:

·    
совокупность свойств этого
окна с их значениями;

·    
совокупность, объектов,
находящихся в этом окне;

·    
совокупность свойств этих
объектов с их значениями.

В
Visual Basic экранная форма хранится в отдельном файле с расширением frm.

Программный
модуль — это хранящийся в отдельном файле программный код (текст некоторой
программы). Он может использоваться при решении чаще всего одной, а иногда и
нескольких задач. Имя этого файла имеет расширение bas.

Программный
код проекта существует не сам по себе, он привязан к отдельным объектам
экранной формы. Часть кода, которая относится только к одному объекту, в свою
очередь может состоять из нескольких фрагментов-процедур.

В
Visual Basic программный код почти всегда привязывается к какому-либо событию,
которое является сигналом к началу работы программы. Например, щелчок мыши по
какому-либо объекту экранной формы; загрузка новой экранной формы; перемещение
указателя мыши вдоль полосы прокрутки; нажатие какой-либо клавиши на
клавиатуре.

Сначала
проектируется экранная форма, затем устанавливаются события, которые будут
происходить в работающем приложении, и только затем программируются действия,
связанные с этими событиями.

Событие — характеристика класса
объекта, описывающая внешнее воздействие, на которое реагирует объект этого
класса во время работы приложения.

Большинство
процедур, из которых состоит программный код VB, привязаны к событиям и
называются процедурами-событиями.

Создание
любого приложения состоит из следующих этапов.

1. 
Постановка задачи.
Описание принципа работы будущего приложения, видов экранных форм (окон) этого
приложения.

2. 
Разработка интерфейса.
Создание экранных форм приложения со всеми находящимися на этих формах
объектами и свойствами этих объектов.

3. 
Программирование. Определение
того, какие события будут происходить в процессе работы приложения, составление
алгоритмов процедур для этих событий и написание программы (программных кодов)
этих процедур.

4. 
Отладка программы.
Устранение логических ошибок в процедурах и достижение того, чтобы приложение
работало удовлетворительно в среде проектирования.

5.  
Сохранение проекта и при
желании — компиляция (превращение проекта в исполняемое приложение, способное
работать самостоятельно за пределами среды проектирования).

Приложение
может работать в режиме компиляции или интерпретации. В режиме интерпретации
все инструкции на языке БЭЙСИК, из которых состоит программа, будут выполняться
системой Visual Basic непосредственно в процессе их чтения компьютером строка
за строкой в среде разработки.

В
режиме компиляции сначала производится отладка программы с помощью
интерпретатора, затем она полностью транслируется (переводится) с языка
высокого уровня (Бейсика) на язык низкого уровня (язык машинных команд
компьютера), т. е. компилирует.

Скомпилированная
программа помещается в файл с расширением ехе. Этот файл может быть запущен на
исполнение самостоятельно, без поддержки среды Visual Basic.

4.  Закрепление нового материала.

Выполнить практическую работу  по учебнику (стр. 233).

5.  Итоги урока.

6.  Домашнее задание.

Прочитать материал
учебника п. 4.1.3 (стр. 109 — 112), ответить на контрольные вопросы (стр. 112).

Контрольные
вопросы:

1. Какие преимущества
имеют машинно-независимые языки про­граммирования перед машинно-зависимыми
языками?

2. В чем состоят достоинства и недостатки интерпретаторов и
ком­пиляторов?

 

3. Приведите
примеры известных вам алгоритмов.

4. Перечислите свойства алгоритмов и проиллюстрируйте их примерами.

5. Как вы понимаете формальное исполнение алгоритма?

6. Перечислите основные элементы блок-схем и их назначение.

 

Ø  Ответить письменно в тетради на 1
и 2 вопросы, сделать конспект темы «Выполнение алгоритмов компьютером» в
тетрадь.

Ø  Ответить устно на 3-6 вопросы

Ø  Знать: определение алгоритма, программы, свойства
алгоритмов, принцип выполнения алгоритма компьютером.

Ø  Уметь: составлять алгоритмы на естественном
языке.

План-конспект урока по теме «Вспомогательные алгоритмы» +презентация | Методическая разработка по информатике и икт (9 класс):

Тема урока: «Вспомогательные алгоритмы»

Дата проведения: 

Цели урока:

Обучающие:

  • Формирование новых понятий: вспомогательный алгоритм, подпрограмма;
  • отработка навыков написание алгоритмов в середе учебного исполнителя Чертежник;
  • формирование практических умений по использованию вспомогательных алгоритмов в среде учебного исполнителя Чертежник.

Развивающие:

  • Способствование развитию алгоритмического мышления, познавательного интереса, внимания, памяти;
  • способствование развитию умений творческого подхода к решению практических задач;
  • создание условий для развития коммуникативных умений;

Воспитательные:

  • воспитание информационной культуры учащихся;
  • воспитание инициативности, уверенности в своих силах;
  • воспитание ответственности, внимательности, усидчивости, дисциплинированности, взаимопонимания, взаимопомощи.

Главная проблема урока: уменьшение размера алгоритма с повторяющимися частями, благодаря использованию подпрограмм.

Основные образовательные объекты: алгоритмы

Оборудование урока: 

  • проектор;
  • компьютер учителя с программой PowerPoint;
  • компьютеры (ОС Windows 10) с установленной учебной средой программирования КуМир.

План урока: 

  1. Организационный момент.
  2. Актуализация знаний.
  3. Постановка проблемной ситуации. Объяснение нового материала.
  4. Физкультминутка.
  5. Закрепление знаний. Практическое задание.
  6. Домашнее задание.
  7. Итог урока. Рефлексия.

Ход урока:

  1. Организационный момент. (2 минуты)

Слайд 1.

Приветствие учеников. Проверка готовности к уроку. Уточнение отсутствующих.

  1. Актуализация знаний. (2 минуты)

Слайд 2.

Учитель: Для начала вспомним то, что проходили ранее. Ответим на следующие вопросы: (ученики отвечают на вопросы со слайда)

  1. Что такое алгоритм?

Алгоритм — понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.

  1. Перечислите свойства алгоритма

Дискретность, понятность, точность, конечность, массовость.

(Если ученики не вспомнили какое-то свойство, повторить его.)

  1. Кто такой исполнитель алгоритма? Кто или что им может быть?

Исполнитель алгоритма – это тот объект, для управления которым составлен алгоритм.  Пример: человек, собака, компьютер и др.

  1. Перечислите систему команд исполнителя Чертежник.
  1. опустить перо
  2. поднять перо
  3. сместиться в точку (X, Y)
  4. сместиться на вектор (dX, dY)
  5. выбрать чернила (цвет)

Учитель: Вы – молодцы! Теперь можем смело переходить к теме нашего урока.


  1. Постановка проблемной ситуации. Объяснение нового материала.

(25 минут)

Слайд 3.

Учитель: Каждый день мы с вами используем алгоритмы для выполнения какой-то задачи. Вот и наш ученый вынужден каждый день выполнять одну и ту же работу, а именно, проверять и записывать цвет у исследуемой жидкости. Давайте поможем ученому составить алгоритм его действий.

Учащиеся придумывают алгоритм действий для ученого, учитель помогает. В итоге, на слайде появляется целый алгоритм.

Учитель: Заметили ли вы что-то особенное в этом алгоритме? (повторение одних и тех же команд)

Какой недостаток у этого алгоритма? (он очень большой)

Действительно, мы с вами потратили много времени на запись одних и тех же действий.  Как же можно сократить запись этого алгоритма? Ответить на этот вопрос мы сможем, разобрав тему нашего урока.

Слайд 4.

Давайте повторяющиеся действия выделим в отдельный алгоритм и назовем его «исследование».

Вот так будет выглядеть наш алгоритм:

Теперь запишем основной алгоритм, который будет использовать алгоритм «исследование»

В итоге у нас получилось два алгоритма: основной и вспомогательный.

Слайд 5.

Теперь запишем в тетрадь следующие определения:

  • Вспомогательный алгоритм — это алгоритм решения некоторой подзадачи из исходной (основной) задачи.
  • Вспомогательный алгоритм, записанный на языке программирования, называется подпрограммой или процедурой.
  • У вспомогательного алгоритма должен быть уникальный заголовок (имя).
  • Из основной подпрограммы происходит обращение к вспомогательному алгоритму по его имени.

Учащиеся записывают в тетрадь информацию со слайда.

Слайд 6.

Учитель: Теперь вернемся к нашему Чертежнику. Мы с вами на прошлых уроках записывали алгоритм рисования домика. Найдите его у себя в тетрадях и сверьте с алгоритмом на доске.

Напоминаю, что домик мы начинали рисовать с нижнего левого угла и закончили рисовать в нижнем правом углу.

Слайд 7.

А теперь рассмотрим алгоритм рисования двух домиков с использованием подпрограммы. Вот так будет выглядеть основной и вспомогательный алгоритм. (демонстрация на слайде)

  1. Физкультминутка. (1 минута)

Слайд 8.

Встали-сели (з раза), потягивание, повороты шеей, волна руками, таряска ногами, зажмуривание, рукопожатие с соседом.

  1. Закрепление знаний. Практическое задание. (10 минут)

Слайд 9.

Учитель: Запишите в тетрадь ОСНОВНОЙ алгоритм, с помощью которого можно нарисовать такую деревню.

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

Учитель: Записали? А теперь я прошу вас обменяться тетрадями с соседом и сравнить его алгоритм с вашим.

Учащиеся обмениваются тетрадями и совместно сравнивают два алгоритма.

Учитель: У всех получилось одинаково? Молодцы.

(если у кого-то алгоритмы различны, разобрать их различие вместе, объяснить ошибку)

Слайд 10.

Учитель: Теперь я прошу вас разделиться на 4 группы и сесть за компьютеры. На прошлом уроке мы с вами составляли алгоритм домик и сохранили его в ваших папках. Откройте этот файл.

Учащиеся открывают файл, сохраненный на прошлом уроке.

Учитель: Допишите основной алгоритм в программу, используя записи в своих тетрадях.

Учащиеся записывают основной алгоритм, запускают программу на исполнение. Учитель проверяет правильность выполнения.

Учитель: Теперь вам необходимо в нашу «деревню» добавить пару птичек. Обсудите в группе алгоритм рисования птички и куда именно вы должны добавить обращение к нему в основном алгоритме.  Выполните задание на компьютере.

Учитель проверяет правильность выполнения. Помогает тем, у кого возникли проблемы.

  1. Домашнее задание. (1 минута)

Слайд 11.

Учитель:  Как красиво у всех получилось. Но чего-то все равно не хватает. Давайте запишем домашнее задание: Придумайте и запишите алгоритм рисования объекта, который мог бы дополнить нашу картину.

Учащиеся записывают домашнее задание.

  1. Итог урока. Рефлексия. (2 минуты)

Слайд 12.

Вот и подошел к концу наш с вами урок. Мы с вами узнали такое понятие как «вспомогательный алгоритм» и научились его применять для исполнителя Чертежник. А сейчас я попрошу вас подвести итоги нашего урока и в тетрадях записать три хештега, которые описывают ваши эмоции и мысли на данный момент. Лично я запишу следующее: #9Б #вы_большие_молодцы #успехов_вам.

Учитель пишет свои хештэги на доске, учащиеся в тетради.

Список используемой литературы:

  1. Информатика: учебник для 9 класс / И.Г. Семакин, Л.А. Залогова, С.В. Русаков, Л.В. Шестакова. – 3-е изд. – М. : БИНОМ. Лаборатория знаний, 2015. – 200 с. : ил.

Что такое алгоритм? Характеристики, типы и способ записи

Алгоритм — это пошаговая процедура, определяющая набор инструкций, которые необходимо выполнять в определенном порядке для получения желаемого результата. Алгоритмы обычно разрабатываются независимо от базовых языков, что означает, что алгоритм может быть реализован более чем на одном языке программирования. Однозначность, точность, эффективность и независимость от языка — вот некоторые из характеристик алгоритма. Масштабируемость и производительность алгоритма являются основными факторами, влияющими на его важность.

Что такое алгоритм?

  • Алгоритм — это набор команд, которые должны выполняться компьютером для выполнения вычислений или других операций по решению задач.
  • Согласно формальному определению, алгоритм — это конечный набор инструкций, выполняемых в определенном порядке для выполнения конкретной задачи.
  • Это не вся программа или код; это простая логика проблемы, представленная в виде неформального описания в виде блок-схемы или псевдокода.
  • Проблема: Проблема может быть определена как реальная проблема или реальная проблема, для которой вам необходимо разработать программу или набор инструкций. Алгоритм — это набор инструкций.
  • Алгоритм: Алгоритм определяется как пошаговый процесс, который будет разработан для решения проблемы.
  • Входные данные: после разработки алгоритма алгоритм получает необходимые и желаемые входные данные.
  • Блок обработки: входные данные будут переданы блоку обработки, производя желаемый результат.
  • Выход: Результат или результат программы называется выходом.

После определения того, что такое алгоритм, вы теперь посмотрите на характеристики алгоритма.

Характеристики алгоритма

Алгоритм имеет следующие характеристики:

  • Входные данные: Алгоритму требуются некоторые входные значения. В качестве входных данных алгоритму может быть задано значение, отличное от 0.
  • Вывод: В конце алгоритма у вас будет один или несколько результатов.
  • Однозначность: Совершенный алгоритм определяется как недвусмысленный, что означает, что его инструкции должны быть ясными и прямыми.
  • Конечность: Алгоритм должен быть конечным. Конечность в данном контексте означает, что алгоритм должен иметь ограниченное число инструкций, т. е. инструкции должны быть счетными.
  • Эффективность: Поскольку каждая инструкция в алгоритме влияет на весь процесс, она должна быть адекватной.
  • Независимость от языка: Алгоритм должен быть независимым от языка, что означает, что его инструкции могут быть реализованы на любом языке и давать одинаковые результаты.

Продолжая изучение этого учебника «Что такое алгоритм», вы узнаете, зачем вам нужен алгоритм.

Зачем нужен алгоритм?

Вам нужны алгоритмы по следующим причинам:

Масштабируемость

Помогает понять масштабируемость. Когда у вас есть крупная реальная проблема, вы должны разбить ее на небольшие шаги, чтобы быстро проанализировать.

Производительность

Реальный мир сложно разбить на более мелкие шаги. Если проблему можно легко разделить на более мелкие шаги, это означает, что проблема разрешима.

Поняв, что такое алгоритм и зачем он нужен, вы увидите, как его написать на примере.

Как написать алгоритм?

  • Не существует четко определенных стандартов для написания алгоритмов. Однако это проблема, зависящая от ресурсов. Алгоритмы никогда не пишутся с расчетом на конкретный язык программирования.
  • Как вы все знаете, базовые конструкции кода, такие как циклы do, for, while, во всех языках программирования совместно используют управление потоком, такое как if-else и так далее. Алгоритм может быть написан с использованием этих общих конструкций.
  • Алгоритмы обычно пишутся поэтапно, но это не всегда так. Написание алгоритма — это процесс, который происходит после четкого определения проблемной области. То есть вы должны знать проблемную область, для которой разрабатываете решение.

Пример 

Теперь используйте пример, чтобы научиться писать алгоритмы.

Задача: Создайте алгоритм, который умножает два числа и отображает результат.

Шаг 1 — Запуск

Шаг 2 — объявить три целых числа x, y и z

Шаг 3 — определение значений x и y

Шаг 4 — умножить значения x и y

Шаг 5 — сохранить результат шага 4 до z

Шаг 6 — напечатайте z

Шаг 7 — Стоп

Алгоритмы учат программистов писать код. Кроме того, алгоритм можно записать так:

Шаг 1 — Запуск мульти

Шаг 2 — получить значения x и y

Шаг 3 — z ← x * y

Шаг 4 — отображение z

Шаг 5 — Стоп

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

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

По мере прохождения этого руководства «что такое алгоритм» вы узнаете о некоторых компонентах алгоритма.

Факторы алгоритма

При разработке алгоритма необходимо учитывать следующие факторы:

  • Модульность: эта функция была идеально разработана для алгоритма, если вам дают задачу и разбивают ее на маленькие-маленькие модули или маленькие-маленькие шаги, что является основным определением алгоритма.
  • Корректность: Корректность алгоритма определяется, когда заданные входные данные дают желаемый результат, что указывает на то, что алгоритм был разработан правильно. Алгоритм анализа выполнен правильно.
  • Ремонтопригодность: это означает, что алгоритм должен быть разработан простым и структурированным образом, чтобы при переопределении алгоритма в него не вносились существенные изменения.
  • Функциональность: Он учитывает различные логические шаги для решения реальной проблемы.
  • Надежность: Надежность относится к способности алгоритма четко определить вашу проблему.
  • Удобный для пользователя: если алгоритм сложен для понимания, разработчик не будет объяснять его программисту.
  • Простота: если алгоритм прост, его легко понять.
  • Расширяемость: Ваш алгоритм должен быть расширяемым, если другой разработчик алгоритма или программист захочет его использовать.

Теперь вы поймете, почему алгоритм так важен, после понимания некоторых его компонентов.

Важность алгоритма

Есть два фактора, в которых алгоритм является фундаментальным:

Теоретическая значимость

Когда вам дают реальную проблему, вы должны разбить ее на более мелкие модули. Чтобы разобрать проблему, вы должны сначала понять все ее теоретические аспекты.

Практическая значимость

Как вы все знаете, теория не может быть завершена без практического применения. В результате значимость алгоритмов можно рассматривать как теоретически, так и практически.

По мере изучения этого учебника «что такое алгоритм» вы увидите алгоритмические подходы.

Подходы алгоритма

После рассмотрения как теоретической, так и практической важности разработки алгоритма были использованы следующие подходы:

Этот алгоритм использует общую логическую структуру для разработки алгоритма. Его также называют алгоритмом исчерпывающего поиска, потому что он исчерпывает все возможности для предоставления требуемого решения. Существует два вида таких алгоритмов:

  1. Оптимизация: поиск всех возможных решений проблемы и последующий выбор наилучшего прекращается, если известно наилучшее решение.
  2. Жертвоприношение: Оно прекратится, как только будет найдено лучшее решение.
  • Разделяй и властвуй

Это простая реализация алгоритма. Это позволяет вам создавать алгоритм поэтапно. Он деконструирует алгоритм для решения проблемы различными способами. Это позволяет вам разделить проблему на разные методы, генерируя действительный вывод для действительного ввода. Этот точный вывод передается другой функции.

  • Жадный алгоритм

Это парадигма алгоритма, которая делает наилучший возможный выбор на каждой итерации в надежде найти наилучшее решение. Он прост в настройке и имеет более короткое время выполнения. Однако очень мало случаев, когда это лучшее решение.

  • Динамическое программирование

Повышает эффективность алгоритма за счет сохранения промежуточных результатов. Он проходит пять шагов, чтобы найти наилучшее решение проблемы:

  1.  Делит проблему на подзадачи, чтобы найти наилучшее решение.
  2. После разбивки задачи на подзадачи, она находит лучшее решение из этих подзадач.
  3. Запоминание — это процесс запоминания результатов подзадач.
  4. Повторно используйте результат, чтобы предотвратить его повторное вычисление для тех же подзадач.
  5. Наконец, он вычисляет выходные данные сложной программы.

С помощью алгоритма ветвей и границ можно решить только задачи целочисленного программирования. Этот метод делит все допустимые наборы решений на меньшие подмножества. Эти подмножества затем оцениваются далее, чтобы найти наилучшее решение.

Как и в случае со стандартным алгоритмом, у вас есть предопределенные входные и выходные данные. Детерминированные алгоритмы имеют определенный набор информации и требуемых результатов и выполняют некоторые описанные шаги. Они более эффективны, чем недетерминированные алгоритмы.

  • Возврат

Это алгоритмическая процедура, которая рекурсивно отбрасывает решение, если оно не удовлетворяет ограничениям задачи.

После того, как вы поняли, что такое алгоритм и его подходы, вы теперь посмотрите на анализ алгоритма.

Анализ алгоритма

Алгоритм можно исследовать на двух уровнях: до и после его создания. Два алгоритма анализа следующие:

  • Априорный анализ

В этом контексте априорный анализ относится к теоретическому анализу алгоритма, выполненному до реализации алгоритма. Перед реализацией алгоритма можно учитывать различные факторы, такие как скорость процессора, которая не влияет на реализацию.

  • Апостериорный анализ

В этом контексте апостериорный анализ относится к практическому анализу алгоритма. Алгоритм реализуется на любом языке программирования для проведения экспериментальных исследований. Этот анализ определяет, сколько времени и места требуется для работы.

Переходя к этому учебнику «что такое алгоритм», вы теперь рассмотрите сложность алгоритма.

Сложность алгоритма

Производительность алгоритма можно измерить двумя способами:

Сложность времени

Количество времени, необходимое для завершения выполнения алгоритма, называется временной сложностью. Обозначение «большой O» используется для обозначения временной сложности алгоритма. Асимптотическая нотация для описания временной сложности в этом случае — это нотация большого O. Временная сложность рассчитывается в первую очередь путем подсчета количества шагов, необходимых для завершения выполнения. Давайте рассмотрим пример временной сложности.

мул = 1;

// Предположим, вам нужно вычислить умножение n чисел.

для i=1 до n

мул = мул *1;

// когда цикл заканчивается, тогда mul содержит умножение n чисел  

возврат мул;

Временная сложность оператора цикла в предыдущем коде не меньше n, и чем больше значение n, тем больше временная сложность. При этом сложность кода, т.е. возвращает mul, будет постоянной, поскольку его значение не зависит от важности n и даст результат за один шаг. Обычно рассматривается сложность наихудшего времени, потому что это максимальное время, необходимое для любого заданного размера входных данных.

Космическая сложность

Объем памяти, который требуется алгоритму для решения задачи и получения результата, называется его пространственной сложностью. Пространственная сложность, как и временная сложность, выражается в большой нотации O.

Пространство требуется для алгоритма по следующим причинам:

  1. Для хранения программных инструкций.
  2. Для хранения трека постоянных значений.
  3. Для хранения отслеживания значений переменных.
  4. Для хранения отслеживания вызовов функций, операторов перехода и т. д.

Сложность пространства = вспомогательное пространство + размер ввода

Наконец, поняв, что такое алгоритм, его анализ и подходы, вы рассмотрите различные типы алгоритмов.

Типы алгоритмов

Существует два типа алгоритмов:

  • Поиск Алгори
  • Алгоритм сортировки

Алгоритм поиска

Каждый день вы ищете что-то в своей повседневной жизни. Точно так же в случае компьютера в компьютере хранится большой объем данных, и всякий раз, когда пользователь запрашивает данные, компьютер ищет эти данные в памяти и возвращает их пользователю. В основном существует два метода поиска данных в массиве:

Алгоритм поиска бывает двух типов:

  • Линейный поиск

Линейный поиск — это простой алгоритм, который начинает поиск элемента или значения в начале массива и продолжает до тех пор, пока нужный элемент не будет найден. Он сравнивает искомый элемент со всеми элементами массива; если совпадение найдено, возвращается индекс элемента; в противном случае возвращается -1. Этот алгоритм можно применить к несортированному списку.

  • Бинарный поиск

Двоичный алгоритм — это самый простой алгоритм, и он очень быстро ищет элементы. Он используется для поиска элемента в отсортированном списке. Для реализации бинарного алгоритма элементы должны храниться в последовательном порядке или отсортированы. Если элементы хранятся случайным образом, бинарный поиск не может быть реализован.

Алгоритм сортировки

Алгоритмы сортировки переставляют элементы в массиве или заданной структуре данных в порядке возрастания или убывания. Оператор сравнения определяет новый порядок элементов.

Теперь, когда вы завершили руководство по теме «что такое алгоритм», вы подведете итог тому, что уже узнали.

Получите прочную основу для Java, наиболее часто используемого языка программирования в разработке программного обеспечения, с помощью учебного курса сертификации Java.

Следующие шаги

В этом руководстве вы узнали, что такое алгоритм и каковы его характеристики. После этого вы рассмотрели, зачем вам нужны алгоритмы, как их писать и насколько они важны. После того, как вы узнали о подходах и факторах алгоритма, вы узнали о сложности и типах алгоритмов.

Предположим, вы ищете более обширное исследование, которое выходит за рамки разработки программного обеспечения и охватывает наиболее востребованные сегодня языки программирования и возможности. В этом случае вам подойдет магистерская программа Full Stack Java Developer от Simplilearn. Изучите эту всемирно известную программу учебных курсов и будьте уверены, что ее завершение станет самым разумным шагом, который вы можете сделать, чтобы войти в профессию разработчика программного обеспечения и расти в ней.

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

Урок 2 — Основы алгоритмов — ЦЕЛЬ ИЗУЧЕНИЯ После изучения этого урока вы, будучи студентом

Урок 2 — Основы алгоритмов | Страница 1 из 6

ОБУЧЕНИЕ

ЦЕЛИ

После изучения этого урока вы как студент должны

уметь:

a. Используйте руководящие принципы алгоритмов

b. Продемонстрировать важность алгоритмов

при создании программ

c. Применение блок-схем и псевдокодов

до фактического создания программ

ОПИСАНИЕ ТЕМЫ

1. Характеристики алгоритмов

2. Рекомендации по хорошо структурированной программе

3. Аспекты алгоритма

4. Анализ алгоритмов

Псевдокоды и блок-схемы

6. Как создавать программы на основе эффективных

алгоритмов

ОБЗОР

Алгоритм представляет собой пошаговую процедуру, которая определяет

набор инструкций, которые должны выполняться в определенном порядке

, чтобы получить желаемый результат. Алгоритмы обычно

создаются независимо от базовых языков, т. е. алгоритм

может быть реализован более чем на одном

языке программирования.

Кроме того, алгоритм для конкретной задачи может быть

определен как конечная последовательность инструкций, каждая из которых

имеет четкое значение и может быть выполнена

с конечным количеством усилий в конечной длине

время». Таким образом, алгоритм должен быть достаточно точным

для понимания людьми. Тем не менее, в

для того, чтобы быть выполненным компьютером, нам

вообще нужна программа, написанная на строгом

формальном языке; и поскольку компьютеры довольно

негибки по сравнению с человеческим разумом, программы

обычно должны содержать больше деталей, чем алгоритмы. Здесь мы проигнорируем большую часть этих

деталей программирования и сосредоточимся на разработке

алгоритмов, а не программ.

Задача реализации обсуждаемых алгоритмов

в виде компьютерных программ, конечно, важна, но

эти заметки будут сосредоточены на теоретических

аспектах и ​​оставят практические аспекты программирования

для изучения в другом месте. Сказав это,

мы часто будем находить полезным записывать сегменты

реальных программ, чтобы прояснить и проверить некоторые

теоретические аспекты алгоритмов и их данных

структуры. Также стоит помнить о

различии между различными парадигмами программирования:

императивное программирование описывает

вычисления в терминах инструкций, которые изменяют

состояние программы/данных, тогда как декларативное

программирование определяет, что программа должна

выполнять, не описывая, как это сделать. Эти заметки

в первую очередь будут касаться разработки алгоритмов

, которые легко отображаются на императив

подход к программированию.