ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ
Физико-математический факультет
Курсовая работа по информатике разработка обучающей программы, поддерживающей изучение темы «структуры данных»
Выполнил:
Студент 3 курса
группы м-31
очной формы обучения
Марков Роман
Научный руководитель:
Соболева Е.В.
Киров 2008 г.
Содержание
\t "параграф;3;глава;1;подглава;2" Глава 1. Анализ теоретического материала.......................................................... 4
1.1. «Информатика и ИКТ. Базовый курс» Семакин И.Г. и др
. 4
1.1.1. Алгоритмы работы с величинами. 4
1.1.2. Линейные вычислительные алгоритмы.. 5
1.1.3. Знакомство с языком Pascal. 6
1.1.4. Программирование ветвлений в Pascal. 7
1.1.5. Таблицы и массивы.. 8
1.1.6. Массивы.. 9
1.2. «Информатика» Кузнецов. 10
1.2.1. Язык программирования Pascal. 10
1.2.2. Структура программы на Pascal, ввод и вывод данных. 12
1.2.3. Условный оператор. 14
1.2.5. Алгоритмы обработки таблиц. 17
1.2.6. Обработка строк на языке Pascal 19
1.2.7. Записи. 20
1.2.8. Файлы.. 22
1.3. «Информатика и информационные технологии» Н. Угринович. 23
1.3.1. Тип, имя и значение переменной. 23
1.3.2. арифметические, строковые и логические выражения. Присваивание. 25
1.3.3. Функции в языке Visual Basic. 26
1.3.4. массивы.. 26
1.4. Вывод. 26
Глава 2. описание и принцип работы обучающей программы......................... 29
2.1. Общие сведения о программе. 29
2.2. Принцип работы программы. 32
2.2.1. Модуль регистрации пользователей. 33
2.2.2. Модуль изучения материала. 33
2.2.3. Модуль проверки знаний. 33
Глава 1. Анализ теоретического материала по теме «структуры данных» в школьных учебниках информатики
1.1. «Информатика и ИКТ. Базовый курс» Семакин И.Г. и др.
В этом учебнике изучение программирования начинается после прохождения тем «Базы данных» и «Электронные таблицы». По-этому обучаемые уже знакомы с такими типами данных, как числовой, символьный и логический, известными им, как типы полей в таблицах БД.
1.1.1. Алгоритмы работы с величинами
В этом параграфе дается понятие констант, переменных, показываются основные команды для работы с ними
После вступления о способе хранения данных в программе
«всякая обрабатываемая величина занимает своё место – поле в памяти компьютера» излагается о 3х основных типах величин, изучаемых в учебнике:
числовой, символьный, логический, устанавливаются различия между константами и переменными:
-
«константы записываются своими десятичными записями в памяти, их значение не изменяется во время работы программы»; -
«переменные обозначаются, как в математике, символьными именами - идентификаторами». Далее рассматриваются основные операции над переменными:
-
Присваивание <переменная>:=<выражение>
Пример: Z:=X+Y
До присваивания | X | 2 | Y | 5 | Z | - |
После присваивания | X | 2 | Y | 5 | Z | 7 |
-
Команда ввода Ввод<список переменных>
Пример: ввод A, B, C
Схема выполнения команды 1. память до выполнения команды
2. получение команды, ожидание действий пользователя
3. пользователь набирает на клавиатуре «1 2 3 <ввод>»
4. память после выполнения команды
-
команда вывода вывод<список вывода>
задания по разделу: отразить значения переменных в ходе последовательного выполнения команд присваивания
1.1.2. Линейные вычислительные алгоритмы
В этом параграфе подробно изучается оператор присваивания: его свойства, примеры применения Свойства присваивания иллюстрируются с помощью трассировочной таблицы: Команда | a | b | a:=1 | 1 | - | b:=2 x a | 1 | 2 | a:=b | 2 | 2 | b:=a + b | 2 | 4 | | Свойства: 1. пока переменной не присвоено значение она остается неопределенной 2. значение переменной сохраняется до следующего присваивания 3. новое значение переменной заменяет предыдущее |
Примеры: 1. обмен значениями 2х переменных. Для решения применяется аналогия с двумя стаканами (с молоком и водой) для смены значений которых используется третий, после которой решение становится очевидным.
2. даны 2 правильные дроби, найти дробь – результат деления одной на вторую.
Решение сводится к правилам учебника математики.
Задания по разделу: 1. когда значение переменной считается неопределенным?
2. что происходит с предыдущим значением переменной после присваивания?
3. можно ли в арифметическом выражении использовать неопределенную переменную?
1.1.3. Знакомство с языком Pascal
В этом параграфе изучается структура программы паскаля, в том числе описание переменных, синтаксис операторов ввода, вывода, присваивания, правила записи арифметических выражений Описание переменных Здесь описывается синтаксис описания переменных, основные типы (вещественный – real, целый - integer). Здесь только называются числовые типы: названия вещественный и целый полагается уже знакомыми ученикам, знание о диапазонах типов им пока не нужно.
Пример var a,b:
integer;c:
real;
Синтаксис операторов ввода, вывода, присваивания. -
Ввод - Read[ln](<список переменных>
); -
Вывод - Write[ln](<список переменных>
); -
Присваивание - <числовая переменная
>:=<Арифметическое выражение
>; -
Арифметические операции “+”, “-”, “*
”,
“/
”;
Правила записи арифметических выражений Пример Выражение
записывается так
A*A+B*B-12*C или SQR(A)+SQR(B)-12*C
Задания по разделу: 1. как записывается раздел описания переменных
2. с какими типами числовых величин работает паскаль
3. какая задача решается в <пример программы> программе
4. как записываются арифметические выражения
1.1.4. Программирование ветвлений в Pascal
В этом параграфе не изучаются структуры данных, как таковые, но , в процессе изучения ветвлений изучаются логические операции и сложные логические выражения Логические операции Изучение вопроса начинается с примера программы
…
Var a,b,c,d: real;
Begin readln(a,b,c,d);
If (a>=b) and (a<=c) then d:=a;
If (b>=a) and (b>=c) then d:=b;
Здесь применяется неиспользуемое ранее логическое выражение
and, с которым обучаемые уже познакомились, изучая БД.
Далее ученикам напоминается эта операция и её результат, далее приводится список логических операций, используемых в паскале:
and; or; not. Сложные логические выражения В этом разделе описывается структура сложных логических выражений в паскале:
If (a<0)or(b<0)or(c<0)then …
Задания по разделу: 1. найдите результат работы программы (условный оператор со сложным условием)
1.1.5. Таблицы и массивы
В этом параграфе вводятся основные понятия о массивах: определение, описание, ввод значений на ШАЯ, пример задачи – расчет среднего значения элементов массива. Школьники уже знакомы с принципом табличной организации данных из БД.
Что такое массив Дается определение массива:
М – представление таблиц в языках программирования.
Пример – запись температуры воздуха по месяцам
Месяц | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
температура | 23 | 12 | 1 | 0 | -1 | -12 | -1,2 | 2,2 | 2 | 3 | 0 | -1 |
.
На основе этого примера вводится понятие
линейной таблицы с
индексированными именами, которая
«в программировании называется одномерным массивом. В примере: Запись Т[1]
в данном примере показывает температуру в 1 месяце. Т
- имя массива. Порядковый номер элемента – его индекс. Каждый элемент обозначается так: <имя массива>[<индекс>]
» Так вводится имя массива и его элементов. Далее говорится, что элементы массива должны иметь
одинаковый тип. (в примере - вещественный).
Описание и ввод значений в массив на ШАЯ Здесь приводится два примера программ на ШАЯ, позволяющих понять, как выводятся и вводятся в массив значения. Для реализации используются цикл с параметром и цикл с предусловием.
Расчет среднего значения элементов массива Для изучения приемов обработки массива, а именно, нахождения суммы его элементов и их среднего арифметического значения, формулируется задача: Вычислить среднегодовую температуру.
При решении (алгоритм приводится на ШАЯ) обучаемые знакомятся с циклом, суммирующем элементы массива.
Задания по разделу: 1. что такое массив
2. придумайте примеры данных, которые можно реализовать в виде массива
3. решить задачу на формирование и расчет среднего элемента в массивее
1.1.6. Массивы
В этом параграфе рассматриваются: описание и обработка массивов в Паскале, цикл с параметром в Паскале, форматы вывода и программы с двумя массивами. Описание и обработка массива в паскале Приводится общая форма описания одномерного массива:
var <имя масссива>: array[<нижний_индекс>..<верхний_индекс>] of <тип_массива>;
Для примера – описание массива из таблицы 1:
var t: array[1..12]of real;
далее рассматривается реализация задачи о средней температуре на Паскале, неизученными операторами в которой являются: ограничения на параметр цикла for (целое число, изменяющееся на 1 при прохождении цикла) и
форматы вывода. Пример write(‘T[1]=’,I:4:2);
Далее объясняется значение знаков в подобном примере.
Программа с двумя массивами В этом учебнике
не изучаются двумерные массивы, по этому для решения задач с их применением используется другой подход:
Задача: для каждого месяца определить отклонение его температуры от среднегодовой величины.
В качестве решения сначала строится таблица в excel, в которой решается эта задача, затем показывается, как с помощью второго одномерного массива ее решить.
Задания по разделу: 1. как на паскале описать массив численности населения к концу каждого года 20 века
1.2. «Информатика» Кузнецов В этом учебнике изучение типов данных начинается вместе со знакомством с языком Паскаль, описанием структуры языка и представлением данных в памяти компьютера.
1.2.1. Язык программирования Pascal
В этом параграфе изучается история языка Паскаль, основные определения, перечисляются используемые числовые типы, способы их представления в памяти, основные операторы.
Основные определения.
-
Имя величины – слово из букв и цифр, обозначающее, как в алгебре, величину. Каждое имя соответствует ячейке памяти.
-
Ячейка последовательность разного количества байтов памяти для разных данных
-
Для каждой переменной надо указывать её тип, чтобы транслятор знал, сколько памяти под ее хранение выделить
Числа в Паскале
Числа бывают целые и действительные (с фиксированной или плавающей точкой).
Переполнение ячейки памяти – значение переменной не входит в предоставленную ей ячейку. Для избегания переполнения используют вещественные числа с плавающей точкой.
Пример: 243,7 = 2.437 ∙ 10
2 = 2.4370000000 Е + 02
В примере показано, что 2437 – мантисса, 2 – порядок.
Числовые операции
- «+» - сложение
- «-» - вычитание
- «/» - деление
- «*» - умножение
- Mod – остаток от деления (только для целых чисел)
- Div - деление нацело (только для целых чисел)
- Математические выражения:
Sin(x); cos(x); ln(x); sqr(x); sqrt(x); abs(x);
Пример арифметического выражения в Pascal
Оператор присваивания
<переменная>:=<выражение>
Примеры: x:=3,14; a:=b+c; i:=i+1;
Ограничения на типы при присваивании:
- Если переменная, расположенная слева имеет вещественный тип, то справа – арифметическое выражение: целое или вещественное
- Если переменная слева целого типа – арифметическое выражение – только целое
Задания по разделу
1) Почему паскаль различает целые и вещественные числа
2) Что такое арифметическое выражение, из чего оно может состоять
3) Как работает оператор присваивания
4) Ограничения на типы данных при присваивании
5) Запишите в виде арифметического выражения квадратный трехчлен