ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Одной из трех основных целей изучения информатики в школе является развитие мышления школьников.
Развитие интеллекта рассматривается как составная часть развития личности в целом. При этом выделение проблемы развития интеллекта из всех остальных проблем и задач образования не говорит об их игнорировании. Интеллект не сводится к умственным способностям человека, а характеризует некую совокупность его возможностей, в том числе в творческой деятельности, рассматривается как способность человека к восприятию информации. Именно интеллект определяет культурный уровень человека.
В информатике базовым инструментом развития интеллектуальных способностей ребенка является программирование.
Данный курс предусматривает программирование в среде Delphi по следующим соображениям:
Delphi можно изучать и использовать на нескольких уровнях:
1) Работа с визуальными объектами практически без программирования.
2) Работа в консольном приложении с программой (без создания визуальной формы).
Эти две возможности работы в среде Delphi позволяют “развести” овладение алгоритмом написания программ и алгоритмом создания визуальных форм (что отсутствует в среде Visual Basic).
Здесь представлен годовой курс (по 1 часу в неделю) по изучению программирования на языке ObjectPascal фактически с “нуля” в 7 – 8 математических классах.
В начале рассматривается программирование на языке ObjectPascal (в консольном приложении среды Delphi), и лишь после изучения основных приемов программирования (циклы, массивы, сортировка, многомерные массивы, процедуры и функции) рассматривается работа с визуальными объектами.
За основу был принят полугодовой курс, предложенный на сайте www.olympiads.ruдля 8 математического класса. Была частично изменена структура курса (убрана тема “графы” и добавлено визуальное программирование в среде Delphi). Задачи использовались как с данного сайта, так и из других источников – книг и семинарских занятиях по информатике в МГОУ. (Огромное спасибо Грамакову Дмитрию Анатольевичу).
Курс завершается разработкой игры.
Программное обеспечение: свободно распространяемая версия объектно-ориентированной среды программирования Delphi.
Методы обучения: метод проектов, лекции, проблемный метод, частично-поисковый метод.
Контроль знаний и умений: текущий контроль уровня усвоения мат6риала осуществляется по результатам выполнения учащимися практических заданий. Итоговый контроль реализуется в форме защиты проекта (разработка игры).
Программа элективного курса
Классы: 7-8.
Количество учебных часов: 34.
Образовательная область: информатика.
Профиль: естественно-математический.
Цели курса:
- развитие интеллектуального, образного и алгоритмического мышления школьников;
- формирование практических навыков работы с интегрированной средой программирования Delphi;
- формирование умения планировать свою деятельность, критически оценивать результаты своей работы, готовности исправлять свои ошибки, настойчивости и целенаправленности в действиях;
- подготовка учащихся к олимпиаде по информатике.
Тематическое планирование курса
Теория | Форма занятий |
1. Введение в объектно-ориентированное программирование. | Лекция |
2. Общий синтаксис программы на языке Object Pascal. Константы и переменные. | Лекция |
3. Типы данных и операторы в Object Pascal. | Семинар |
4. Условный оператор If.. Датчик случайных чисел. | Семинар |
5. Вложенный оператор If-Then-Else. Задача о Гарри отере. | Практика |
6. Оператор case. Программа “меню”. | Семинар |
7. Циклы. Цикл for. | Лекция |
8. Цикл while. | Практика |
9. НОД и НОК чисел. Алгоритм Евклида. | Практика |
10. Цикл repeat. Вложенные циклы. | Практика |
11. Массивы. | Лекция |
12. Поиск в массиве. | Практика |
13. Подсчет элементов в массиве. | Практика |
14. Слияние и разбивка массивов. | Семинар |
15. Решение олимпиадных задач. Задача Иосифа Флавия. | Практика |
16. Игра “Программист” | Практика Итоговая работа за полугодие |
17. Сортировка массивов. | Семинар |
18. Определение сложности алгоритма сортировки. | Практика |
19. Многомерные массивы. | Лекция |
20. Формирование элементов матриц. | Практика |
21. Задачи с двумерными массивами. | Практика |
22.Подпрограммы. Процедуры. | Лекция |
23.Функции. Рекурсия. | Семинар |
24. “Тур коня”. | Практика |
25. “Тур коня” | Практика |
26. Объектно-ориентированное программирование. | Лекция |
27. Система объектно-ориентированного программирования Delphi. | Семинар |
28. Классы Delphi | Лекция |
29. Компоненты Delphi | Лекция |
30. Проект “Калькулятор”. | Практика |
31. Игра Баше. | Практика |
32. Игра Баше. | Практика |
33. “Честная” игра Баше | Практика Итоговая работа за год |
34. Решение олимпиадных задач | Практика |
Методические материалы
Урок 1.
Данный курс посвящен изучению программирования на языке Object Pascal в среде Delphi.
Напомню, что назначение программирования – разработка программ управления компьютером с целью решения различных информационных задач. Все программы составляются на каком-либо языке программирования.
Язык программирования – это фиксированная система обозначений для описания алгоритмов и структур данных.
Вы уже сталкивались с программированием – писали программы на языке Qbasic. В рамках этого курса мы будем использовать язык Object Pascal и среду Delphi. Чем же отличаются друг от друга языки программирования?
Существуют различные парадигмы (методологии) программирования:
- “Спагетти”. Выполнение шагов программы один за другим. Основное использование получает оператор go to.
- Структурное программирование. Языки программирования имеют определенные структурные единицы, позволяющие организовывать процесс программирования таким образом, что программа имеет ясную и понятную структуру (используются условные операторы и циклы).
- Модульное программирование. Программа разбивается на отдельные части – модули, которые могут программироваться независимо. Конечная программа – объединение разработанных модулей (используются процедуры и функции).
- Объектно-ориентированное программирование. Это целая философия, совершенно особый подход к проектированию приложений. В основе ООП лежит такое понятие, как класс. Любой класс имеет поля, методы и свойства.
Сейчас мы не будем останавливаться на этом. Мы поговорим об этом позднее, когда перейдем к программированию в среде Delphi.
Сначала мы будем работать с вами на языке OPAscal в консольном приложении среды Delphi. Позже мы перейдем к ООП с использованием интерфейса программы.
Знакомство с языком OPascal мы начнем с написания первой программы. Вы должны ощутить уверенность в себе, понять, что раз вы смогли написать одну программу, сможете написать и другие.
Итак. Нашей первой программой будет программа – приветствие. Она выведет на экран текст и завершит свою работу.
Открываем: Delphi – File – New – Other – Consol Application.
У вас открылось окошко, в котором уже написаны ключевые слова. Ваша задача – написать действия, которые должна выполнить эта программа. Назовем ее First.
Program First;
Uses SysUtils;
Begin
Write (‘Hello, ’);
Writeln (‘friends!’)
End.
Запуск программы – F9.
Успели что прочитать? Но программа была выполнена! Чтобы была возможность прочитать надпись на экране, надо в программу добавить одну строчку:
Begin
Write (‘Hello, ’);
Writeln (‘friends!’);
Readln
End.
На этом наш первый урок закончен. Надеюсь, вам понравилось!
Урок 2.
Программа работает с величинами. При использовании в программе много раз величины одного и того же значения (числа или строки), лучше употреблять константы.
Константы – имена для фиксированных значений, ссылка на которые используется в программах.
Константы позволяют обращаться к значениям по имени, а не использовать числа.
Пример описания констант:
Const Pi = 3.14;
Значение константы – число или результат вычислений с использованием других констант.
Имя константы может состоять из латинских букв, цифр и знаков подчеркиваний, но не может начинаться с цифры. Регистр значения не имеет, то есть имена X_time и x_TimE считаются одинаковыми.
Переменные – именованный объект данных заранее определенного типа.
Переменная имеет три важные характеристики:
- Имя – дает способ ссылаться на уникальное место в памяти, которое занимает переменная.
- Тип – определяет, сколько памяти отводится для переменной, какие значении она может принимать и какие операции можно с ней производить.
- Значение – любая информация, которая в настоящий момент хранится в занимаемой переменной области памяти.
Объявление переменных:
Var a, b, c: Тип1;
Sum1: Тип2;
Переменная величина получает значение в результате присваивания. Например: a := 1.
Основные свойства присваивания:
- Значение переменной неопределенно, если ей не присвоено никакого значения.
- Новое значение, присеваемое переменной, заменяет ее старое значение.
Общий синтаксис программы на языке Opascal выглядит следующим образом:
Program <Имя_программы>;
Uses <Модули>;
Type <список констант>;
Const <типы данных, определяемых пользователем>;
Var <список всех используемых переменных>;
<список функций и процедур>;
begin
<операторы>
end.
Важно: точку с запятой (;) можно не ставить только перед словом end, в остальных случаях отсутствие этого знака считается ошибкой.
Теперь попробуем написать программу, которая меняет местами значения переменных.
Алгоритм:
a | b | |
Было | 1 | 2 |
стало | 2 | 1 |
1) Нужно взять дополнительную переменную, поместить туда временно одно из значений:
оператор | a | b | c | |
a ® c | c := a | 1 | 2 | 1 |
b ® a | a := b | 2 | 2 | 1 |
c ® b | b := c | 2 | 1 | 1 |
2) Без использования дополнительной переменной:
a | b | |
1 | 2 | |
a := a + b | 3 | 2 |
b := a – b | 3 | 1 |
a := a – b | 2 | 1 |
Program Obmen;
Uses SysUtils;
Var a, b: Integer;
Begin
Write (‘a = ’);
Readln (a);
Write (‘b = ’);
Readln (b);
a := a + b;
b := a – b;
a := a – b;
Writeln (‘a = ’, a, ‘; b = ‘, b);
Readln
End.
Домашнее задание: Написать программу обмена значений трех переменных (А —> В—> С—> А).