Тема
: Программирование
линейных алгоритмов
Цели
:
·
Обучающие:
ü
познакомить
обучающихся с общими характеристиками языков программирования, с программной
средой Pascal ABC, со структурой
программы на языке Паскаль;
ü
сформировать
у обучающихся первичные знания по применению изученного
материала.
·
Развивающие:
ü
учить
анализировать, обобщать и систематизировать;
ü
обогащать
словарный запас обучающихся.
·
Воспитательные:
ü
развивать
информационную культуру обучающихся, способность к самостоятельной и
коллективной деятельности, рефлексию.
Тип
занятия: урок
изучения и первичного закрепления новых знаний.
Технологии
обучения: информационно-коммуникационная
технология, технология развивающего обучения, здоровьесберегающая технология,
технология сотрудничества, личностно-ориентированное
обучение.
Оборудование: мультимедийный
проектор, компьютеры с установленной средой программирования Pascal,
настроенная локальная сеть, конспект для обучающегося, раздаточные
карточки-задания.
План
урока:
1.
Организационный
момент. Актуализация знаний.
2.
Объяснение
материала.
2.1.
Языки
программирования, их назначение, особенности.
2.2. Знакомство с программной средой Pascal
2.3.
Знакомство
со структурой программы на языке Паскаль.
2.4.
Разбор
простейшей программы «вывода».
3.
Закрепление
полученных умений и навыков.
4.
Подведение
итогов урока.
ХОД
УРОКА
1.
Оргмомент. Подготовка к изучению нового материала2.
Коротко,
фронтально повторяем ранее изученный материал по теме «Алгоритмизация». Вопросы
для актуализации знаний:
·
Алгоритм.
Свойства алгоритмов.
·
Способы
записи алгоритмов.
·
Базовые
структуры алгоритмов.
Ожидаемые
результаты: (демонстрируются при положительных результатах на экране слайды 1 и
2 Приложения
1)3
2. Объяснение нового материала
2.1
Языки программирования, их назначение, особенности
Языки
программирования предназначены для создания программ, которые могут быть
исполнены ЭВМ или другими автоматическими устройствами, например, станками с
числовым программным управлением. (Приложение
1,
слайд 5)
Исходя
из этого, можно сказать, что эти языки формальны, то есть они используют
специальную систему команд, имеют свой алфавит и свои правила написания
(синтаксис).
Существует
достаточно большое количество различных языков программирования. Все они созданы
так, что их команды понимает то устройство (в данном случае — ЭВМ), на которое
они рассчитаны.
Языки программирования можно разделить на две группы – языки
высокого уровня и языки низкого уровня (машинные).
К
языкам низкого уровня относится язык Ассемблер, в котором программа пишется в
основном на уровне машинных кодов.
Языки
высокого уровня позволяют писать программу с помощью условных обозначений,
близких к языку человека.
Все
языки высокого уровня условно можно разделить на две группы – алгоритмические
языки (процедурные) и логические (непроцедурные,
объектно-ориентированные).
Алгоритмические
– предполагают реализацию алгоритма в виде последовательности операций с
данными. При этом программы имеют жесткую структуру, определенную форму записи.
(Приложение
1,
слайд 6)
К
первой группе языков относятся такие языки, как БЕЙСИК, ПАСКАЛЬ, ФОРТРАН, АЛГОЛ,
СИ и другие.
Вторые
– описывают отношения между объектами и величинами, но при этом явно не
указывают, какие именно операции нужно провести и в какой последовательности. К
этим языкам относится, в частности, язык ПРОЛОГ. (Приложение
1,
слайд 7)
Кроме
того, языки можно разделить еще и по их назначению.
Так, например, языки,
перечисленные выше, можно назвать языками общего пользования, универсальными.
Эти языки могут быть использованы как профессиональными программистами, так и
начинающими (учениками, студентами и т.д.). Посредством этих языков можно решать
как задачи вычислительного характера, так и работать с графикой, звуком,
работать с текстом.
Мы
и будем изучать такие языки, в частности язык ПАСКАЛЬ.
Алгоритмические
языки общего назначения различаются своими возможностями, то есть тем кругом
задач, которые с помощью них можно решить, и по типу преобразования алгоритма в
команды, понятные ЭВМ.
Все
дело в том, что программа, написанная на языке программирования, это в
большинстве случаев текст.
А
ЭВМ, как вы уже знаете (используем то, что учащиеся уже знают принцип работы
ЭВМ), работает на двоичных кодах. Следовательно, алгоритм, введенный в ЭВМ на
каком-либо языке программирования, должен быть преобразован в специальные коды.
Для этого в состав языка программирования входит специальная программа –
транслятор, которая и выполняет эту задачу.
Трансляторы можно
разделить на две группы по их работе – компиляторы и интерпретаторы.
(Приложение
1,
слайд 8)
Языки
программирования, имеющие в своем составе интерпретатор, чаще всего
являются строчно-ориентированными языками, то есть команды записываются в
строке, каждая из которых имеет свой номер. Выполнение программы происходит в
последовательности номеров строк. Таким языком является, в частности, БЕЙСИК
(Стандартный)
Интерпретатор
читает строку программы, транслирует ее в коды ЭВМ и немедленно выполняет, затем
переходит к следующей. При обнаружении ошибок специальный отладчик сообщает об
ошибке, исполнение программы останавливается.
Компилятор действует
иначе. Он сначала просматривает всю программу, отмечает все ошибки и только
после того, как все ошибки исправлены, – компилирует программу, то есть в памяти
создает программу в машинных кодах и после этого ее
исполняет.
Большинство языков имеют в своем составе компилятор, так как они работают быстрее. К языкам такого уровня относятся ПАСКАЛЬ, СИ, Q-BASIC и многие другие.
2.2 Знакомство с программной средой Pascal
Интерфейс
программы очень удобен и прост. Программа открывается в своем окне аналогичном
стандартным окнам ОС Windows с такими же элементами окна6.
Для
запуска команды выполнения файлов используем инструмент.
Файлы имеют расширение .pas7
2.3 Знакомство со структурой программы на языке Паскаль
Основные
понятия8
(Приложение
2,
слайд 1)
Как
и любой алгоритм, являющийся последовательностью инструкций, программа на языке
Паскаль состоит из команд (операторов), записанных в определенном порядке и
формате.
Команды позволяют получать, сохранять и обрабатывать
данные различных типов (например, целые числа, символы, строки символов,
т.д.).
Кроме
команд в записи программы участвуют еще так называемые "служебные слова",
организующие структуру программы.
Вам
уже известно, что основное назначение компьютера – облегчить человеку работу с
большими объемами информации, поэтому подавляющее большинство программ построено
по одному, довольно простому принципу: (Приложение
2,
слайд 2)
Все
эти действия реализуются через имеющиеся в языках программирования команды,
алгоритмические структуры и структуры данных.
Основная
структура программы
Правила
языка Паскаль предусматривают единую для всех программ форму основной структуры
(Приложение
2,
слайд 3):
Program <Имя
программы>;
<Раздел
описаний>;
Begin
<Тело
программы>;
End.
Здесь
слова Program, Begin и End являются служебными. Правильное и
уместное употребление этих слов является обязательным.
Угловые
скобки в формате указывают на то, что вместо них при реальном программировании
должно быть подставлено конкретное значение. Сама запись программы в принципе
может производиться вообще в одну стоку. Однако, такая запись неудобна для
чтения, недостаточно наглядна, поэтому я рекомендую придерживаться приведенной
структуры, а в «теле» программы – по одному оператору в
строке.
Имя
программы выбирается самостоятельно разработчиком в соответствии с правилами
построения идентификаторов.
Все
объекты (переменные, константы метки, функции, процедуры и т.д.), не являющиеся
зарезервированными в Паскале, которые вы используете в программе, должны быть
описаны. Это производится для того, чтобы компьютер перед выполнением программы
зарезервировал память под соответствующие объекты и поставил в соответствие им
идентификаторы. Раздел описаний может состоять из пяти
подразделов:
·
Описание
меток (Label)
·
Описание
типов (Type).
·
Описание
констант (Const).
·
Описание
переменных (Var).
·
Описание
процедур и функций (Procedure, Function).
При
отсутствии таких объектов, соответствующий подраздел может быть
опущен.
Алфавит
языка
Основу
любого языка составляет алфавит, то есть конечный, фиксированный набор символов,
используемых для составления текстов на данном языке (в нашем случае –
программ). (Приложение
2,
слайд 4)
Итак,
алфавит языка Паскаль составляют:
·
буквы
латинского алфавита; (Вопрос: Сколько букв? Ответ:
26)
·
арабские
цифры; (Вопрос: Сколько цифр? Ответ: 10)
·
специальные
знаки. (Вопрос: Кто подскажет? Ответ: .,;:<> и
т.д.)
Использование
символов первой группы чаще всего вопросов не вызывает, но свои тонкости здесь
имеются.
– Во-первых, это употребление заглавных и строчных букв.
Большинство существующих трансляторов не различают буквы разных регистров. Таким
образом, записи "progRaM" и "PROGram" будем считать
идентичными.
– Во-вторых, некоторые символы латиницы и кириллицы
совпадают по начертанию. Нельзя ли вместо буквы "К" латинской написать "K"
русскую?
(Ожидаемый
ответ: в программе на ЭВМ – ни в коем случае. На вид они может быть и похожи, но
уж коды-то у них совершенно разные, а компьютер, как вам известно, оперирует
внутри себя не буквами, а их числовыми кодами). (Приложение
2,
слайд 5)
По
поводу привычных арабских цифр сказать можно только то, что с их помощью
записываются не только числа. Цифры могут использоваться в качестве обыкновенных
символов.
Сложнее
всего обстоит дело со специальными знаками, поэтому их придется разобрать
подробно:
.
конец программы, разделение целой и дробной частей вещественного числа
(десятичная точка), разделение полей в переменной типа Record;
,
разделение элементов списков;
..
указание диапазона;
:
используется в составе оператора присваивания :=, а также для указания формата
вывода в операторе Writeln;
;
отделяет один раздел программы от другого, разделяет
операторы;
'
используется для ограничения строковых констант;
- + * / (
) арифметические знаки;
<
> знаки отношений;
=
используется в составе оператора присваивания, в разделах описаний констант и
типов, используется как знак отношения (равно);
^
используется для именования динамических переменных;
{}
ограничение комментариев в программе;
[
] заключают в себе индексы элементов
массивов;
_
символ подчеркивания используется также как любая буква, например, в
идентификаторах – вместо пробела.
В
процессе изучения языка мы познакомимся с этими знаками.
Возникает
вопрос, а как же быть с русскими буквами и другими знаками, имеющимися на
клавиатуре? Некоторые версии Паскаля допускают их использование в программе, но
стандарт языка этого не подразумевает. Поэтому включать эти символы в программу
можно только в качестве строковых констант или внутри комментария, то есть там,
где транслятор при компиляции их игнорирует.
Идентификаторы
Имена
операторов, переменных, констант, типов величин, имя самой программы назначаются
разработчиком и называются в Паскале идентификаторами. Существуют правила,
которым должны отвечать все идентификаторы:
·
идентификатор
должен быть уникальным, то есть одним и тем же именем разные объекты не могут
быть названы;
·
идентификатор
имеет ограничение по длине (зависит от конкретной реализации языка на
компьютере);
·
идентификатор
может состоять только из символов латинского алфавита, цифр и знака
подчеркивания ("_");
·
идентификатор
не может начинаться с цифры.
Например,
можно записать имя программы (Приложение
2,
слайд 6): Iwanow_Petr_10a, но нельзя: 10а-Иванов Петр (допущены три ошибки: имя
начинается цифрой, использовано тире и слова разделены
пробелом).
Нельзя
использовать как идентификаторы слова, предназначенные для обозначения
операторов программы, но можно программу оставить без
заголовка.
Понятие
переменной и типы данных рассмотрим на следующих
уроках.
Раздел
операторов
Это
основной раздел программы – выполнение программы сводится к выполнению раздела
операторов, т.е. к выполнению последовательности операторов, заключенных
в
операторные скобки begin….. end.
Оператор
вывода (Приложение
2,
слайд 7)
Для
вывода информации в Паскале используется оператор:
Write
(b1, b2, b3,…, bn);
выводится
на экран значения переменных b1, b2, b3,…, bn
Writeln
(b1, b2, b3,…, bn);
выводится
на экран значения переменных b1, b2, b3,…, bn и после этого осуществляется
переход на новую строку
Writeln
;
переход
на новую строку
Write
(‘значения переменных’, b1, b2, b3,…, bn);
выводится
на экран сообщение «значения переменных», затем соответствующие значения
переменных b1, b2, b3,…, bn и после этого осуществляется переход на новую
строку
2.4
и 3 пункты – «Проба пера»
Посмотрим
первую программу вывода на экран строковой графики.
Задача. Вывести
на экран текст в заданном формате (Приложение
2,
слайд 8):
Вася пошел погулять |
Ранее
заготовленная программа показывается на демонстрационном экране и экране
мониторов учащихся. Учащиеся самостоятельно открывают Pascal ABC, открывают
файл
Затем предлагаем учащимся выполнить упражнение на основе готовой программы (
Напишите
программу, которая печатает ваше имя в рамочке из звездочек.
Пример:
Итак,
в ходе сегодняшнего занятия мы с вами узнали, что
·
Языки
программирования делятся на две группы… – это..? (Ответ: низкого и высокого
уровней).
·
Pascal
– язык ...? (ответ: высокого уровня).
·
Он
является алгоритмическим или логическим языком? (Ответ:
алгоритмическим).
·
Чем
характеризуются алгоритмические языки? (Ответ: алгоритмы имеют жесткую
структуру, определенная форма записи в виде последовательности операций с
данными).
·
Pascal
в своем составе имеет интерпретатор или компилятор? Напоминаю: интерпретатор –
выполнение программы построчное; компилятор – просматривает сразу всю
программу. (Ответ: компилятор).
·
С
какой средой программирования мы работаем? (Ответ: Pascal
).
·
Алфавит
языка Паскаль составляют..? (Ответ: буквы латинского алфавита, арабские
цифры, специальные знаки).
Домашнее
задание:
–
выучить конспект для учащегося;
– составить программу для задачи
Задача:
1.
Вывести на экран символьный рисунок
4.
Подведение итогов урока
Приложения
·
Приложение_1
– сопроводительная презентация 11 (тема, вопросы урока,
пункт плана 2.1).
·
Приложение_2
– презентация для остальных пунктов плана.
·
Приложение_3
– конспект для учащихся «Языки программирования. Pascal – введение» (Приложение
3 и Приложение
4)
·
Приложение_4
– карточка с домашним заданием (Приложение
2,
слайд 10).