48599 (608674)
Текст из файла
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ
Физико-математический факультет
Курсовая работа по информатике
разработка обучающей программы, поддерживающей изучение темы «структуры данных»
Выполнил:
Студент 3 курса
группы м-31
очной формы обучения
Марков Роман
Научный руководитель:
Соболева Е.В.
Киров 2008 г.
Содержание
Глава 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
Схема выполнения команды
-
память до выполнения команды
A
-
B
-
C
-
-
получение команды, ожидание действий пользователя
-
пользователь набирает на клавиатуре «1 2 3 »
-
память после выполнения команды
A | 1 | B | 2 | C | 3 |
-
команда вывода
вывод<список вывода>
задания по разделу:
отразить значения переменных в ходе последовательного выполнения команд присваивания
1.1.2. Линейные вычислительные алгоритмы
В этом параграфе подробно изучается оператор присваивания: его свойства, примеры применения
Свойства присваивания иллюстрируются с помощью трассировочной таблицы:
| Свойства:
|
Примеры:
-
обмен значениями 2х переменных. Для решения применяется аналогия с двумя стаканами (с молоком и водой) для смены значений которых используется третий, после которой решение становится очевидным.
-
даны 2 правильные дроби, найти дробь – результат деления одной на вторую.
Решение сводится к правилам учебника математики.
Задания по разделу:
-
когда значение переменной считается неопределенным?
-
что происходит с предыдущим значением переменной после присваивания?
-
можно ли в арифметическом выражении использовать неопределенную переменную?
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.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.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.1.6. Массивы
В этом параграфе рассматриваются: описание и обработка массивов в Паскале, цикл с параметром в Паскале, форматы вывода и программы с двумя массивами.
Описание и обработка массива в паскале
Приводится общая форма описания одномерного массива:
var : array[..] of ;
Для примера – описание массива из таблицы 1:
var t: array[1..12]of real;
далее рассматривается реализация задачи о средней температуре на Паскале, неизученными операторами в которой являются: ограничения на параметр цикла for (целое число, изменяющееся на 1 при прохождении цикла) и форматы вывода.
Пример write(‘T[1]=’,I:4:2);
Далее объясняется значение знаков в подобном примере.
Программа с двумя массивами
В этом учебнике не изучаются двумерные массивы, по этому для решения задач с их применением используется другой подход:
Задача: для каждого месяца определить отклонение его температуры от среднегодовой величины.
В качестве решения сначала строится таблица в excel, в которой решается эта задача, затем показывается, как с помощью второго одномерного массива ее решить.
Задания по разделу:
-
как на паскале описать массив численности населения к концу каждого года 20 века
1.2. «Информатика» Кузнецов
В этом учебнике изучение типов данных начинается вместе со знакомством с языком Паскаль, описанием структуры языка и представлением данных в памяти компьютера.
1.2.1. Язык программирования Pascal
В этом параграфе изучается история языка Паскаль, основные определения, перечисляются используемые числовые типы, способы их представления в памяти, основные операторы.
Основные определения.
-
Имя величины – слово из букв и цифр, обозначающее, как в алгебре, величину. Каждое имя соответствует ячейке памяти.
-
Ячейка последовательность разного количества байтов памяти для разных данных
-
Для каждой переменной надо указывать её тип, чтобы транслятор знал, сколько памяти под ее хранение выделить
Числа в Паскале
Числа бывают целые и действительные (с фиксированной или плавающей точкой).
Переполнение ячейки памяти – значение переменной не входит в предоставленную ей ячейку. Для избегания переполнения используют вещественные числа с плавающей точкой.
Пример: 243,7 = 2.437 ∙ 102 = 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;
Ограничения на типы при присваивании:
-
Если переменная, расположенная слева имеет вещественный тип, то справа – арифметическое выражение: целое или вещественное
-
Если переменная слева целого типа – арифметическое выражение – только целое
Задания по разделу
-
Почему паскаль различает целые и вещественные числа
-
Что такое арифметическое выражение, из чего оно может состоять
-
Как работает оператор присваивания
-
Ограничения на типы данных при присваивании
-
Запишите в виде арифметического выражения квадратный трехчлен
-
Запишите на паскале tg x , x4
1.2.2. Структура программы на Pascal, ввод и вывод данных
В параграфе описаны основные структуры программы на паскале, в том числе разделы описания переменных и типов, операторы ввода и вывода.
Раздел описания переменных
Основные описатели числовых типов: integer, real
Пример var a,b:integer; c:real;
Объясняется синтаксис раздела (применение знаков « . » ; « , » ; « : » ; « ; ») и порядок работы транслятора: «Когда транслятор встречает описание переменной, он отводит для этой переменной ячейку памяти и ставит в соответствие имени переменной номер первого байта ячейки.»
Операторы ввода и вывода
В разделе объясняется принцип работы с этими операторами:
«Для сообщения данных компьютеру служат операторы ввода и вывода.
Оператор ввода помещает вводимое значение переменной в отведенную ей ячейку: read(); этот оператор останавливает работу программы и ждет, пока пользователь наберет на клавиатуре число и нажмет <Enter>. Если список ввода содержит несколько имен, их значения надо вводить через запятую, пробел, или <Enter>.
Если после ввода числа необходимо перевести курсор на новую строку, используют оператор readln();
Для вывода результатов работы программы на экран дисплея используется оператор write();
список вывода содержит перечисленные через запятую имена переменных или арифметические действия, текст, заключенный в апострофы.
При выводе вещественных чисел с фиксированной запятой необходимо после имени переменной в списке ввода указать через “:” 2 числа (сколько позиций занимает число, количество цифр дробной части).»
Задания по разделу
-
Для чего необходимо описывать данные в программе
-
Какой оператор используется для ввода данных, как он работает
-
Куда попадают введенные с клавиатуры числа при работе оператора ввода
-
Как перевести курсор на новую строку после ввода данных
-
Как вывести на экран результат работы программы
-
Как сделать, чтобы данные выводились с новой строки
-
Как увидеть результаты вывода на экране дисплея, если уже сработал write
-
Можно ли получить результат вычислений без использования оператора Write
1.2.3. Условный оператор
В этом параграфе, применительно к описываемой теме, хотелось бы выделить раздел логические выражения, в котором на примере нескольких задач описываются примеры основных логических операций
Таблицы истинности для операций
|
|
Примеры построения сложных логических выражений
-
определить, принадлежит ли точка с координатой х отрезку [a,b].
Это условие записывается двойным неравенством a На паскале – (x>a) and (x пройдет ли кирпич с ребрами x,y,z в отверстие a,b? (a>x)and(b>y)or (a>y)and(b>x)or (a>x)and(b>z)or (a>z)and(b>x)or (a>y)and(b>z)or (a>z)and(b>y) определить принадлежность точки к треугольнику ABC. A(-1,0); B(0,2); C(1,0). условие существования треугольника со сторонами a,b,c. 1.2.4. Массивы В этом параграфе дается определение массива, поясняется область применения этой структуры, синтаксис паскаля для работы с массивом. Рассмотрены также основные действия над одномерными массивами: вычисление суммы элементов массива, нахождение наибольшего элемента массива, сортировка массива, поиск элемента в массиве. Определение массива При решении задач данные объединяются в различные структуры, наиболее простая из них: массив – именованный набор с фиксированным количеством однотипных данных. В массивы объединяются результаты экспериментов, списки фамилий сотрудников, различные сложные структуры данных. В массиве могут быть одинаковые данные, поэтому элементы массива различаются по своим порядковым номерам. Если каждый элемент массива имеет один порядковый номер, такой массив – одномерный, если два – это таблица из строк и столбцов. Для таблиц первый номер элемента показывает строку, второй – столбец, на пересечении которых находится элемент. Все строки таблицы имеют одинаковую длину. При решении задач с использованием массива необходимо следовать алгоритму: определить, какие числа даны, целые или вещественные назвать весь массив одним именем описать массив в разделе описания переменных, отведя тем самым место в памяти компьютера под массив. ввести данные в память. Описание массивов в Pascal Пример описания массива const n=10; Var a:array[1..n]of real;
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.