Конспект урока "Алгоритмы и исполнители. Понятие алгоритма"

Глава 8 Алгоритмы и исполнители
Тема 8.1. Понятие алгоритма
Курс: 1
Вид занятия: Занятие теоретического обучения
Тип занятия: Лекция
Форма проведения занятия: Индивидуальная и групповая
Место проведения занятия: Кабинет информатики и ИКТ
Цель занятия: Изучить понятие алгоритма и основы программирования
Задачи занятия:
Учебная формироввание мотивации и опыта учебно познавательной и практической деятельности. Создать
условия для обобщения и систематизации знаний, проверка ЗУН.
Воспитательная - развить логическое мышление и умение выражать речью результаты собственной
мыслительной деятельности. Способствовать развитию умению анализировать, выдвигать гипотезы,
предложения.
Развивающая - способствовать формированию памяти, находчивости, научного мировоззрения
Методическая - методика использования оптимальных способов повторения изученного материала
Оборудование: Интерактивная доска, канцелярские принадлежности, карточки с заданием.
План занятия:
1.Организационный момент
2. Актуализация знаний
3. Изучение нового материала
4 Система основных понятий
5. Закрепление
6. Итог и задание для самостоятельной работы
4-5 минут
10-15 минут
40-45 минут
25-30 минут
22-25 минут
8-10 минут
Ход занятия:
1.Организационный момент
Преподаватель и студенты, здороваются, проводится инструктаж по безопасной работе за компьютерами,
студент расписывается за рабочее место за которое он несет ответственность в течении всей пары.
2. Актуализация знаний
1. Что обозначает термин «ресурсы»? Какие бывают ресурсы?
2. Что такое информационные ресурсы?
3. Каким особым свойством обладают информационные ресурсы по сравнению с любыми другими?
4. Почему информационные ресурсы можно назвать товарами?
5. Почему информационные ресурсы относят к числу стратегических?
6. Что представляет собой рынок информационных ресурсов?
7. Кто на рынке информационных ресурсов выступает в роли продавца, а кто покупателя?
8. Могли бы вы предложить на рынок информационных ресурсов какой-нибудь свой товар? Как бы вы его
оценили?
9. Что относится к числу информационных услуг?
10. Придумайте новый вид информационных услуг.
11. Что является основой мирового рынка информационных ресурсов и услуг?
12. Какие виды информационных услуг вы знаете? Пользовались ли вы ими лично?
13. Охарактеризуйте виды информационных ресурсов России.
14. С какими видами информационных ресурсов России вы лично сталкивались?
15. Какие события и процессы определили четыре информационные революции?
16. Что такое информационное общество?
17. Сформулируйте критерий, определяющий стадии информационного общества.
18. К каким изменениям в экономике государства и на рынке труда приводит формирование информационного
общества?
19. Каково настоящее состояние и перспективы информационных и коммуникационных технологий?
20. В чем заключается информационный кризис общества? Каковы пути его преодоления?
21. Определите связь между понятиями «информационное общество» и «свобода доступа к информации».
22. Что такое информационная культура?
23. Как соотносится информационная культура с общечеловеческой культурой?
24. Какие проблемы образования будут решены в информационном обществе?
25. Определите изменения, которые произойдут в укладе жизни членов информационного общества: в работе, в
учебе, в быту.
26. Какие наиболее существенные проблемы и опасности существуют на пути к информационному обществу?
27. Почему задача движения к информационному обществу для России относится к числу приоритетных?
28. Приведите известные вам примеры, отражающие наличие процесса движения России к информационному
обществу.Правовое регулирование в информационной сфере
29. Какую информацию вы считаете конфиденциальной для государства, для вашей школы, для себя лично?
30. Что относится к объектам информационной безопасности России?
31. Что относится к национальным интересам России в информационной области?
32. Как проявляется информационное неравенство в системе образования?
2 Глава 12
33. Сталкивались ли вы в своей жизни с проявлениями информационного неравенства?
3. Изучение материала
1.Теперь вам предстоит ближе познакомиться еще с одним разделом информатики, который называется
«программирование».
Назначение программирования разработка программ управления компьютером с целью решения различных
информационных задач. Для составления программ существуют разнообразные языки программирования.
Язык программирования это фиксированная система обозначений для описания алгоритмов
и структур данных.
Популярными языками программирования сегодня являются Паскаль, Бейсик, Си, Фортран и др.
Для создания и исполнения на компьютере программы, написанной на языке программирования, используются
системы программирования.
Система программирования это программное обеспечение компьютера, предназначенное для разработки,
отладки и исполнения программ, записанных на определенном языке программирования.
Существуют системы программирования на Паскале, Бэйсике и других языках.
Разработка любой программы начинается с построения алгоритма решения задачи. Обсудим особенности
алгоритмов решения задач обработки информации на компьютере. Такие алгоритмы называют алгоритмами
работы с величинами.
присваивание;
ввод;
вывод;
обращение к вспомогательному алгоритму;
цикл;
ветвление.
Команда присваивания одна из основных команд в алгоритмах работы с величинами. Записывать ее мы
будем так: <переменная> := < выражением
Значок «:=» читается «присвоить». Например:
Z := X + Y.
Компьютер сначала вычисляет выражение, затем результат присваивает переменной, стоящей слева от знака
«:=».
Если до выполнения этой команды содержимое ячеек, соответствующих переменным X, Y, Z, было таким:
Прочерк в ячейке Z обозначает, что начальное число в ней может быть любым. Оно не имеет значения для
результата данной команды.
Если слева от знака присваивания стоит числовая переменная, а справа — математическое выражение, то
такую команду называют арифметической командой присваивания, а выражение — арифметическим.
В частном случае арифметическое выражение может быть представлено одной переменной или одной
константой. Например:
Х:= 5 Y:=X.
Значения переменных, являющихся исходными данными решаемой задачи, как правило,
задаются вводом.
Команда ввода в описаниях алгоритмов будет выглядеть так:
ввод <список переменных>. Например: ввод А, В, С.
12.1. Алгоритмы работы с величинами
Вам уже известно, что всякий алгоритм составляется для конкретного исполнителя. Теперь в качестве
исполнителя мы будем рассматривать компьютер, оснащенный системой программирования на определенном
языке.
Компьютер-исполнитель работает с определенными данными по определенной системе команд.
Данные. Компьютер работает с информацией, хранящейся в его памяти. Отдельный информационный объект
(число, символ, строка, таблица и пр.) называется величиной.
Всякая обрабатываемая программой величина занимает свое место (поле) в памяти ЭВМ. Значение величины
это информация, хранимая в этом поле памяти.
Существуют три основных типа величин, с которыми работает компьютер: числовой, символьный и логический.
Изучая базы данных и электронные таблицы, вы уже встречались с этими типами. В данной главе мы будем
строить алгоритмы, работающие с числовыми величинами.
Числовые величины в программировании, так же как и математические величины, делятся на переменные и
константы (постоянные). Например, в формуле (a
2
-2ab+b
2
) а,Ъ переменные, 2 константа.
Константы записываются в алгоритмах своими десятичными значениями, например: 23, 3.5, 34. Значение
константы хранится в выделенной под нее ячейке памяти и остается неизменным в течение работы программы.
Переменные в программировании, как и в математике, обозначаются символическими именами. Эти имена
называют идентификаторами (от глагола «идентифицировать», что значит обозначать, символизировать).
Идентификатор может быть одной буквой, множеством букв, сочетанием букв и цифр. Как правило,
употребляются буквы только латинского алфавита и первый символ в идентификаторе буква. Примеры
идентификаторов: А, X, ВЗ, prim, г25 и т.п.
Система команд. Вам известно, что всякий алгоритм строится исходя из системы команд исполнителя, для
которого он предназначен. Независимо от того, на каком языке программирования будет написана программа,
алгоритм работы с величинами составляется из следующих команд:
На современных компьютерах ввод чаще всего выполняется в режиме диалога с пользователем. По команде
ввода компьютер прерывает выполнение программы и ждет действий пользователя. Пользователь должен набрать
на клавиатуре вводимые значения переменных и нажать клавишу <ВВОД>. Введенные значения присвоятся
соответствующим переменным из списка ввода, и выполнение программы продолжится.
Вот схема выполнения приведенной выше команды.
1. Память до выполнения команды:
2. Процессор ЭВМ получил команду ввод А, В, С, прервал свою работу и ждет действий пользователя.
3. Пользователь набирает на клавиатуре:
13 5
и нажимает клавишу <ВВОД> или <Enter>.
4. Память после выполнения команды:
5. Процессор переходит к выполнению следующей команды программы. При выполнении пункта 3 вводимые
числа должны быть отделены друг от друга какими-нибудь разделителями. Обычно это пробелы.
Из сказанного выше можно сделать вывод:
Переменные величины получают конкретные значения в результате выполнения команды присваивания или
команды ввода.
Если переменной величине не присвоено никакого значения (или не введено), то она является неопределенной.
Иначе говоря, ничего нельзя сказать, какое значение имеет эта переменная.
Результаты решения задачи сообщаются компьютером пользователю путем выполнения команды вывода.
Команда вывода в алгоритмах будет записываться так:
вывод <список вывода>. Например: вывод XI, Х2.
По этой команде значения переменных XI и Х2 будут вынесены на устройство вывода (чаще всего это экран).
О других командах, применяемых в вычислительных алгоритмах, вы узнаете позже.
.2. Линейные вычислительные алгоритмы
Поскольку присваивание является важнейшей операцией в алгоритмах, работающих с величинами, то
поговорим о ней более подробно.
Переменная величина получает значение в результате присваивания.
Присваивание производится компьютером при выполнении двух команд из представленной выше системы:
команды присваивания и команды ввода.
Рассмотрим последовательность выполнения четырех команд присваивания, в которых участвуют две
переменные величины а и Ъ. В приведенной ниже таблице напротив каждой команды указываются значения
переменных, которые устанавливаются после ее выполнения. Такая таблица называется трассировочной
таблицей, а процесс ее заполнения называется трассировкой алгоритма. Компьютер выполняет команды в
порядке их записи в алгоритме.
Прочерк в таблице обозначает неопределенное значение переменной. Конечные значения, которые получают
переменные а и Ъ, соответственно равны 2 и 4.
Этот пример иллюстрирует три основных свойства присваивания. Вот эти свойства:
1) пока переменной не присвоено значения, она остается неопределенной;
2) значение, присвоенное переменной, сохраняется в ней вплоть до выполнения следующего присваивания
этой переменной нового значения;
3) новое значение, присвоенное переменной, заменяет ее предыдущее значение.
Рассмотрим еще один очень полезный алгоритм, с которым при программировании часто приходится
встречаться. Даны две переменные величины X и Y. Требуется произвести между ними обмен значениями.
Например, если первоначально было X 1; У = 2, то после обмена должно стать: X = 2, У - 1.
Хорошим аналогом для решения такой задачи является следующая: даны два стакана, в первом молоко, во
втором вода; требуется произвести обмен их содержимым. Всякому ясно, что в этом случае нужен
дополнительный третий пустой стакан. Последовательность действий будет следующей:
1) перелить из 1-го в 3-й;
2) перелить из 2-го в 1-й;
3) перелить из 3-го во 2-й.
Цель достигнута!
с
1
в
3
с
5
Команда
а
Ь
а:= 1
1
Ъ:= 2 х а
1
2
а:= Ь
2
2
Ь:= а + Ь
2
4
4 Глава 12
По аналогии для обмена значениями двух переменных нужна третья дополнительная переменная. Назовем ее
Z. Тогда задача решается последовательным выполнением трех операторов присваивания (пусть начальные
значения 1 и 2 для переменных X и У задаются вводом):
Действительно, в итоге переменные X и У поменялись значениями. На экран будут выведены значения X и Y в
таком порядке: 2, 1. В трассировочной таблице выводимые значения выделены жирным шрифтом.
Аналогия со стаканами не совсем точна в том смысле, что при переливании из одного стакана в другой первый
становится пустым. В результате же присваивания (Х:=У) переменная, стоящая справа (У), сохраняет свое
значение.
И наконец, рассмотрим пример составления алгоритма для решения следующей математической задачи: даны
две простые дроби; получить дробь, являющуюся результатом их деления.
В школьном учебнике математики правила деления обыкновенных дробей описаны так:
1. Числитель первой дроби умножить на знаменатель второй.
2. Знаменатель первой дроби умножить на числитель второй.
3. 3. Записать дробь, числителем которой является результат выполнения пункта 1, а знаменателем
результат выполнения пункта 2. В алгебраической форме это выглядит следующим образом:
a\d : c\d = ad\bc=m\n
Теперь построим алгоритм деления дробей для компьютера. В этом алгоритме сохраним те же обозначения для
переменных, которые использованы в записанной выше формуле. Исходными данными являются целочисленные
переменные а, Ъ, с, d. Результатом — также целые величины т и п .
Ниже алгоритм представлен в двух формах: в виде блок-схемы и на алгоритмическом языке (АЯ).
Раньше прямоугольник в схемах алгоритмов управления мы называли блоком простой команды. Для
вычислительных алгоритмов такой простой командой является команда присваивания. Прямоугольник будем
называть блоком присваивания или вычислительным блоком. В форме параллелограмма рисуется блок ввода-
вывода. Полученный алгоритм имеет линейную структуру (рис. 12.1).
Алг деление дробей
Цел а, Ь, с, d, m, n
Нач ввод a, b, с, d
m:=axd
n:=bxc
вывод m, n
Кон
Рис. 12.1. Алгоритм деления дробей
В алгоритме на АЯ строка, стоящая после заголовка алгоритма, называется описанием переменных. Служебное
слово цел означает целый тип. Величины этого типа могут иметь значения только целых
чисел.
Описание переменных имее: <тип переменных> : Список переменных включа<
данного типа, входящие в алг В блок-схемах типы перемен разумеваются. Запись алгорнт:
языкам программирования, че
4. Система понятий
Программирование — это раздел информатики, занимающийся вопросами разработки
программ управления компьютером.
Алгоритм решения любой задачи на ЭВМ составляется из следующих команд:
присваивания; ввода; вывода; обращения к вспомогательному алгоритму; цикла; ветвления.
Программа для ЭВМ — это алгоритм, записанный на языке программирования.
Язык программирования это фиксированная система обозначений для описания
алгоритмов и структур данных.
Всякая обрабатываемая программой величина занимает определенное поле в памяти
ЭВМ. Значение величины — это информация, хранимая в этом поле.
Переменная величина получает значение в результате выполнения команды присваивания и команды ввода.
Формат арифметической команды присваивания: <пере- менная> := <арифметическое выражением-. Сначала
вычисляется арифметическое выражение, затем полученное значение присваивается переменной.
Ввод это занесение данных с внешних устройств в оперативную память компьютера. Исходные данные для
решения задачи обычно задаются вводом.
Результаты решения задачи выносятся на устройства вывода (дисплей, принтер) по команде вывода.
Команда
X
У
Z
ввод X
1
2
-
Z:=X
1
2
1
X:=Y
2
2
1
Y:=Z
2
1
1
вывод
X,Y
2
1
1
/ выводы m, n /
(^конец^)
Основные свойства присЕал;
значение переменной не о п но никакого значения;
новое значение, присваив ее старое значение;
присвоенное переменной вплоть до нового присваив
Обмен значениями двух перх третью дополнительную перем;
Трассировочная таблица исп полнения алгоритма с целью е В алгоритмах на АЯ указыва Такое указание
называется ош
Числовые величины, принт ные значения, описываются
5. За к реп л ен и е
Вопросы и задания
2. Что такое программирование?
3. Что такое величина? Чем отличаются переменные и постоянные величины?
4. Чем определяется значение величины?
5. Какие существуют основные типы величин в программировании?
6. Как записывается арифметическая команда присваивания?
7. Что такое ввод? Как записывается команда ввода?
8. Что такое вывод? Как записывается команда вывода?
9. В схематическом виде (как это сделано в параграфе) отразите изменения значений в ячейках,
соответствующих переменным А и В в ходе последовательного выполнения команд присваивания:
1) А:=1 2) А:=1 3) А:=1 В:=2 В:=2 В:=2
А:=А+В С:=А А:=А+В
В:= 2хА А:=В В:=А-В
В:=С А:=А-В
9. Вместо многоточия впишите в алгоритм несколько команд присваивания, в результате чего получится
алгоритм возведения в 4-ю степень введенного числа (дополнительные переменные, кроме А, не использовать):
ввод А ... вывод А.
10. Из каких команд составляется горитм?
11. Что такое трассировка? Как он^
12.В каком случае значение пере: ным?
13. Что происходит с предыдущие присваивания ей нового значен
14. Как вы думаете, можно ли испо ражении оператора присваива ную? К каким последствиям эт<
15. Написать на АЯ алгоритм слоя сокращения дроби).
6. Итог и задание для самостоятельной работы
Выполнит самостоятельную работу №26
1. Запишите исполнителей для приведённых ниже видов работ:
Уборка мусора во дворе - Перевозка пассажиров в поезде - Выдача заработной платы - Приём экзаменов в школе -
Сдача экзамена в университете - Набор текста на компьютере - Приготовление еды в ресторане -
2. Определите полный набор данных для решения следующих задач обработки информации:
а) вычисление стоимости покупок в магазине
б) вычисление суммы сдачи от данных Вами продавцу денег
в) определение времени показа по телевизору интересующего Вас фильма
г) вычисление площади треугольника
д) определение времени падения кирпича с крыши дома
е) определение месячной платы за расход электроэнергии
ж) перевод русского текста на итальянский язык
з) перевод итальянского текста на русский язык
3. Есть исполнитель «Перевозчик», который перевозит через реку волка, козу и капусту. Напишите алгоритм
перевоза через реку волка, козы и капусты, если СКИ «Перевозчика» содержит 5 команд: ВЗЯТЬ КОЗУ, ВЗЯТЬ
ВОЛКА, ВЗЯТЬ КАПУСТУ, ВЫСАДИТЬ, ПЕРЕПЛЫТЬ. В лодку может поместиться только один предмет или
животное. Нельзя оставлять на берегу одних волка с козой и козу с капустой.
4. Напишите алгоритм приготовления какого-либо блюда (алгоритм должен иметь линейную структуру).
5. Есть исполнитель «Арифмометр», который понимает следующие команды:
- взять число N (занести в память число N),
- умножить (перемножаются занесённые в память последние два числа),
- сложить (складываются занесённые в память последние два числа),
- вычесть (вычисляется разность занесенных в память последних двух чисел),
- результат (вывести результат) Например, в результате выполнения алгоритма:
- взять число 5,
- взять число 10,
- взять число 2,
- вычесть,
- умножить,
- результат
получим ответ 40, так как 5*(10-2)=40.
Какой результат будет получен при выполнении приведённого ниже алгоритма?
- взять число 4,
- взять число 8,
6 Глава 12
- взять число 2,
- вычесть.
- взять число 10,
- умножить,
- взять число 56.
- вычесть,
- вычесть.
- результат.
Дайте объяснение своему ответу (приведите формулу для вычисления).
6. Почему приведённые ниже алгоритмы для исполнителя «Арифмометр» не могут быть выполнены (какие
свойства алгоритма нарушены)?
А) - взять число 4,
Б) - взять число 6,
В) - взять число,
- взять число 5,
- взять число 3.
- взять число,
- умножить.
- разделить.
- сложить,
- вычесть,
- результат
- результат
- результат.
А)
Б)
В)