ВЯТСКИЙГОСУДАРСТВЕННЫЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ
Физико-математическийфакультет
Курсовая работа поинформатике
разработка обучающей программы, поддерживающейизучение темы «структуры данных»
Выполнил:
Студент 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
Схемавыполнения команды
1. памятьдо выполнения командыA - B - C -
2. получениекоманды, ожидание действий пользователя
3. пользовательнабирает на клавиатуре «1 2 3 »
4. памятьпосле выполнения командыA 1 B 2 C 3
- командавывода
вывод
задания поразделу:
отразитьзначения переменных в ходе последовательного выполнения команд присваивания
1.1.2. Линейные вычислительныеалгоритмы
В этомпараграфе подробно изучается оператор присваивания: его свойства, примерыприменения
Свойстваприсваивания иллюстрируются с помощью трассировочной таблицы:
Команда
a
b
a:=1
1
-
b:=2 xa
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
В этомпараграфе не изучаются структуры данных, как таковые, но, в процессе изученияветвлений изучаются логические операции и сложные логические выражения
Логическиеоперации
Изучениевопроса начинается с примера программы
…
Vara,b,c,d: real;
Beginreadln(a,b,c,d);
If(a>=b) and (a
If(b>=a) and (b>=c) then d:=b;
Здесьприменяется неиспользуемое ранее логическое выражение and, с которым обучаемые ужепознакомились, изучая БД.
Далееученикам напоминается эта операция и её результат, далее приводится списоклогических операций, используемых в паскале: and; or; not.
Сложныелогические выражения
В этомразделе описывается структура сложных логических выражений в паскале:
If(a
Задания поразделу:
1. найдитерезультат работы программы (условный оператор со сложным условием)
1.1.5. Таблицы и массивы
В этомпараграфе вводятся основные понятия о массивах: определение, описание, вводзначений на ШАЯ, пример задачи – расчет среднего значения элементов массива.
Школьники ужезнакомы с принципом табличной организации данных из БД.
Что такое массив
Даетсяопределение массива: М – представление таблиц в языкахпрограммирования.
Пример – запись температурывоздуха по месяцам
Месяц
1
2
3
4
5
6
7
8
9
10
11
12
температура 23 12 1 -1 -12 -1,2 2,2 2 3 -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 ∙ 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;
Ограничения на типы при присваивании:
- Если переменная, расположенная слева имеетвещественный тип, то справа – арифметическое выражение: целое или вещественное
- Если переменная слева целого типа –арифметическое выражение – только целое
Задания по разделу
1) Почему паскаль различает целые и вещественныечисла
2) Что такое арифметическое выражение, из чегооно может состоять
3) Как работает оператор присваивания
4) Ограничения на типы данных при присваивании
5) Запишите в виде арифметического выраженияквадратный трехчлен
6) Запишите на паскале tg x , x4
1.2.2. Структура программы на Pascal, ввод и выводданных
В параграфе описаны основные структуры программы на паскале, в том числеразделы описания переменных и типов, операторы ввода и вывода.
Раздел описания переменных
Основные описатели числовых типов: integer, real
Пример var a,b:integer;c:real;
Объясняется синтаксис раздела (применение знаков «. »; «, »; «: »;«; ») и порядок работы транслятора: «Когда транслятор встречает описаниепеременной, он отводит для этой переменной ячейку памяти и ставит в соответствиеимени переменной номер первого байта ячейки.»
Операторы ввода и вывода
В разделе объясняется принцип работы с этимиоператорами:
«Для сообщения данных компьютеру служат операторы ввода ивывода.
Оператор ввода помещает вводимое значение переменной вотведенную ей ячейку: read();этот оператор останавливаетработу программы и ждет, пока пользователь наберет на клавиатуре число и нажметEnter>. Если список ввода содержит несколько имен, ихзначения надо вводить через запятую, пробел, или Enter>.
Если после ввода числа необходимо перевести курсор на новуюстроку, используют оператор readln();
Для вывода результатов работы программы на экран дисплеяиспользуется оператор write();
список вывода содержит перечисленные через запятую именапеременных или арифметические действия, текст, заключенный в апострофы.
При выводе вещественных чисел с фиксированной запятойнеобходимо после имени переменной в списке ввода указать через “:” 2 числа(сколько позиций занимает число, количество цифр дробной части).»
Задания по разделу
1) Для чего необходимо описывать данные впрограмме
2) Какой оператор используется для вводаданных, как он работает
3) Куда попадают введенные с клавиатурычисла при работе оператора ввода
4) Как перевести курсор на новую строкупосле ввода данных
5) Как вывести на экран результат работыпрограммы
6) Как сделать, чтобы данные выводились сновой строки
7) Как увидеть результаты вывода на экранедисплея, если уже сработал write
8) Можно ли получить результат вычисленийбез использования оператора Write
1.2.3. Условный оператор
В этом параграфе, применительно к описываемой теме, хотелось бы выделитьраздел логические выражения, в котором на примере нескольких задачописываются примеры основных логических операций
Таблицы истинности для операций X Y X AND Y X Y X OR Y 1 1 1 1 1 1 1 1 1 1 1 1
X
NOT X
1
1
Примеры построения сложных логических выражений
1. определить, принадлежит ли точка скоординатой х отрезку [a,b].
Это условие записывается двойным неравенством a
На паскале – (x>a) and(x
2. пройдет ли кирпич с ребрами 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)
3. определить принадлежность точки ктреугольнику ABC.
A(-1,0); B(0,2); C(1,0).
4. условие существования треугольника состоронами a,b,c.
1.2.4. Массивы
В этом параграфе дается определение массива, поясняется область примененияэтой структуры, синтаксис паскаля для работы с массивом.
Рассмотрены также основные действия над одномерными массивами: вычислениесуммы элементов массива, нахождение наибольшего элемента массива, сортировкамассива, поиск элемента в массиве.
Определение массива
При решении задач данные объединяются в различные структуры, наиболеепростая из них: массив – именованный набор с фиксированным количествомоднотипных данных. В массивы объединяются результаты экспериментов, спискифамилий сотрудников, различные сложные структуры данных. В массиве могут бытьодинаковые данные, поэтому элементы массива различаются по своим порядковымномерам. Если каждый элемент массива имеет один порядковый номер, такоймассив – одномерный, если два – это таблица из строк истолбцов. Для таблиц первый номер элемента показывает строку, второй –столбец, на пересечении которых находится элемент. Все строки таблицы имеютодинаковую длину.
При решении задач с использованием массива необходимо следовать алгоритму:
1. определить, какие числа даны, целые иливещественные
2. назвать весь массив одним именем
3. описать массив в разделе описанияпеременных, отведя тем самым место в памяти компьютера под массив.
4. ввести данные в память.
Описание массивов в Pascal
Пример описания массива
const n=10;
Vara:array[1..n]of real;
При этом комментируется каждое слово в этой записи. При встрече описаниямассива, транслятор отводит для него столько последовательных ячеек, сколькоуказано в квадратных скобках, и такого формата, каков тип массива.
Описание из примера означает, что для массива а отведено 10 ячеек по 6байт каждая. Имена ячеек: /> вПаскале будут записаны: a[1],a[2],…,a[10].
Ввод и вывод данных массива осуществляется через цикл, например:
For i:=1to n do read(a[i]);
Базовые задачи на массивы
1. вычисление суммы элементов массива
Вычисление ничем не отличается от суммирования значений простых переменных.
Этапы решения:
- ввод данных;
- вычисление суммы;
- печать результатов;
…
{1} For i:=1to n do read(a[i]);
{2} S:=0; Fori:=1 to n do s:=s+a[i];
{3} Writeln(s);
Пример решения представлен в таблице:Исходные данные: 3, -2, 9, 7, -1, 6, 1 i 1 2 3 4 5 6 7 a[i] 3 -2 9 7 -1 6 1 S 1 10 17 16 22 23
2. нахождение наибольшего элемента массива
Чтобы лучше представить себе, как последовательно рассматривать и сравниватьмежду собой числа, записанные в памяти, в учебнике предлагается вообразить,что каждое число написано на отдельной карточке и карточки сложены стопкой:
- первое число запомним, перевернемкарточку
- сравниваем числа: первое видим, второепомним
- запомним большее, перевернем карточку
ТО на каждом этапе мы будем помнить большее из рассмотренных чисел ирешим задачу.
Пример программы:
…
Max:=a[1];
Fori:=2 to n do
ifmax
…
3. упорядочивание массива по возрастанию
При решении задачи используется сортировка методом пузырька.
4. поиск элемента в массиве
пример поиска методом сплошного перебора, используется оператор goto.
Задания по разделу
1) чем отличается массив от файла
2) для чего необходимо описание массива
3) может ли массив содержать разнородныеданные
4) в заданном массиве
§ замените нулем наибольший элемент
§ найдите полупроизведение всехположительных элементов
§ замените все отрицательные числа ихмодулями и т. п.
1.2.5. Алгоритмы обработки таблиц
В этом параграфе рассматривается двумерный массив(таблица), его описание,основные задачи:
- вычисление суммы элементов главнойдиагонали квадратной таблицы
- нахождение наибольших элементов каждойстроки таблицы
- нахождение сумм элементов столбцовтаблицы
- перестановка строк таблицы
Описание двумерного массива
Для лучшего наглядного представления двумерный массив представляется вучебнике, как таблица, в которой номер строки обозначается первым индексомдвумерного массива, столбцы – вторым. Объясняется так же, как хранится массивв памяти компьютера (построчно, строка за строкой).
Если число строк таблицы = числу столбцов, то таблица – квадратная.
Основные задачи
1. вычисление суммы элементов главнойдиагонали квадратной таблицы
алгоритм:
(1) ввести таблицу в память
(2) найти сумму элементов главной диагонали
(3) напечатать результат
при решении диагональ рассматривается, как одномерный массив
2. нахождение наибольших элементов каждойстроки таблицы.
Идея: рассматривать каждую строку, как одномерный массив
3. нахождение сумм элементов столбцовтаблицы
идея та же + операции можно совершать как над строками, так и над столбцамитаблицы
4. перестановка строк в таблице
воспользоваться алгоритмом обмена значений 2х переменных + цикл постолбцам
Задания по разделу
1) в квадратной неотрицательной таблиценайдите квадратный корень произведения диагональных элементов
2) найдите наибольший элемент квадратнойтаблицы
3) в прямоугольной таблице замените всеэлементы их квадратами
4) в квадратной таблице найдите наибольшийэлемент диагонали
5) поменяйте местами первую и последнююстроки прямоугольной таблицы
1.2.6. Обработка строкна языке Pascal
В этом параграфе рассказывается о 2х новых для школьников типах данных –символах и строках, а также об основных операциях над ними
Символы
Для записи символа используется 1 байт памяти. Для данного, описывающего1 символ используется описатель char.Символы объединяются в массивы. Значение символьного данного – любой символклавиатуры в апострофах.
Символьные массивы обрабатываются теми же алгоритмами, что и числовые.
Строки
Строка – ограниченная апострофами последовательность любых символов.
Длина строки в паскале не должна превышать 255 символов.
Операции над строками (объединение, сравнение, присваивание)
1. объединение
операция позволяет объединить 2 строки в одну, приписав к концу первойначало второй.
Пример
X:=’тепло’;
Y:=’ход’;
Z:=x+y;{получим — теплоход}
2. сравнение
‘=’ – означаетпосимвольное совпадение строк
‘’ – относятся кдлинам строк
3. присваивание – строковой переменнойприсваивается строковое выражение
4. основные процедуры и функции
a:=length(s) – длинастроки
s:=copy(строковоевыражение, начальный символ, количество символов) – копирование части строки
a:=pos(подстрока,исх. строка) – поиск подстроки в строке(а-номер первого символа подстроки висходной строке)
insert(вставляемая строка,исходная строка, целое число) – вставка подстроки в строку после данногосимвола
delete(строка, номерначала, количество символов) – удаление из строки данное количество символовпосле данного элемента.
Пример программы
В качестве примера использования строковых процедур и функций используетсяпрограмма пословного перевода с английского языка.
Задания по разделу
1. чем отличается символьный тип данных отстроковых
2. используя символьный массив,определите, сколько слов в данном тексте, сколько букв «а» в данном слове
3. дана строка с несколькими запятыми,получите слово между первой и второй запятыми
1.2.7. Записи
В этом параграфе дается определение записи, описание её структуры наПаскале и простейшие примеры применения.
Определение записи
С одной стороны запись – последовательность байтов на носителе, ограниченнаяс двух сторон специальными признаками, с другой стороны, в связи со сложной еёвнутренней структурой, запись – совокупность разнородных данных, описываемых иобрабатываемых, как единое целое.
Данные из которых состоит запись – поля.
Описание записи
Type
A =record
N:integer;
K:string;
F:array[1..5,5..10]ofreal;
End;
Var rec:a;
Примеры записей
1. объект – физическое тело с измерениями a,b,c – длина,ширина, высота
2. объект – товар, характеризующийсяназванием и ценой
3. объект – дата рождения: день, месяц,год
Записи могут объединяться в массивы, например:
Type
A =record
N:integer;
K:string;
F:array[1..5,5..10]ofreal;
End;
Mas =array[1..n] of A;
Var masrec:mas;
Для обращения к полю записи используются сложные имена из имени записииз раздела var и имени поля, разделенных точкой: rec.n; rec.f[1,5]; masrec[1].f[2,8];
4. Массив сведений о работникахпредприятия(имя, должность, дата рождения, зарплата).
Операции над записями
В программе ввод и вывод записи производится по полям, но можно присвоитьодной записи значение другой, при этом происходит копирование области памяти.
Оператор присоединения – используется для краткости. Он позволяет при обработкезаписи указать её имя только 1 раз: with список имен do оператор.
1.2.8. Файлы
В параграфе описаны основные этапы операций обработки файлов – чтения изаписи
Операция записи
Запись в файл – помещение в него новых данных. Данное для занесения вфайл формируется в оперативной памяти как значение некоторой переменной.Операцией записи это значение копируется из оперативной памяти во внешнюю.Следовательно, форма представления данного, его тип и структура должны бытьодинаковы и для записей файла и для переменной, из которой это данноекопируется.
Этапы записи в файл
1. описание файла – в разделе описаниятипов или переменных. Пример: var f:fileof integer; a:integer;
2. Установление соответствия междуфизическим и логическим именем файла. Оператор установления соответствия: assign(логическоеимя, ‘физическое имя’); например assign(f,’file.dat’);
3. открытие файла для операции запись – rewrite(f); еслиоткрыть для записи файл с имеющимися данными – они все пропадут.
4. запись данных в файл – write(f,a);
5. закрытие файла – close(f);
Операция чтения. Этапы:
Описание файла и установление соответствия между его именами также, какдля записи.
3. открытие файла для чтения – reset(f);
4. читать данные из файла – read(f,a); количествозаписей в файле может быть неизвестно. По этому при чтении удобно использоватьфункцию признака конца файла – eof(f);
5. закрыть файл
На каждую из операций показан простой пример чтения или записи в файлчисел.
Также показан прием дозаписи файла, использующий вспомогательный файл.
Задания по разделу
1. какие операции можно производить сданными файла
2. почему второй параметр операторов write и read долженбыть того же типа, что и данные файла
3. чем отличается физическое имя файла отлогического
4. как открыть файл для записи
5. что будет, если ранее созданный файл сданными открыть для записи
6. чем отличается файл от массива
7. как прочесть данные из файла, не знаяих количества
8. как добавить данные в имеющийся файл
1.3. «Информатика и информационные технологии» Н. Угринович
В этом учебнике, в отличие от вышеописанных, изучение темы ведется не попутнос другими темами, а отдельно, для этого выделено несколько параграфов.Поскольку в этом учебнике изучается другая среда программирования, остановимсятолько на структуре изложения материала.
1.3.1. Тип, имя и значение переменной
В этом параграфе даются основные понятия о переменных, их именах, значениях,данных и типах.
Понятие переменной
Переменные задаются именами, определяющими области памяти, в которыххранятся значения переменных. Значениями переменных могут быть данные различныхтипов (целые, вещественные числа, последовательности символов и так далее).
Переменная в программе представлена именем и служит для обращения кданным определенного типа. Конкретное значение переменной хранится в ячейкахоперативной памяти.
Тип переменной
Тип переменной определяется типом данных, которые могут быть значениямипеременной. Значениями переменных числовых типов являются числа, логических – True или False, строковых– последовательности символов и так далее.
Над различными типами данных допустимы различные операции. Над числовыми– арифметические операции, над логическими – логические операции, надстроковыми – операции преобразования символтных строк и так далее.
Различные типы данных требуют для своего хранения в памяти различное количествоячеек (байтов).
{таблица типов данных и их размеров в памяти}
Задания по разделу
1) В чем разница между типом, именем и значением переменной?
2) Определить, какой диапазон чисел может храниться впеременной типа {тип} с учетом выделения одного байта для хранения знака числа.
3) Определить, какое количество ячеек памяти потребуется дляхранения строк “ЭВМ”, “информатика”.
1.3.2. арифметические,строковые и логические выражения Присваивание
В параграфе описаны выражения, которые можно составить с основнымитипами данных – числовой, логический, строковый.
Арифметические выражения
В состав арифметических выражений могут входить кроме переменных числовоготипа, также и числа, над переменными и числами могут производиться различныеарифметические операции, выраженные с помощью функций.
Строковые выражения
В состав строковых выражений могут входить переменные строкового типа,строки и строковые функции.
Над переменными и строками может производиться операция конкатенации,она заключается в объединении строки или значения строковых переменных в единуюстроку. Операция обозначается знаком «+».
Логические выражения
В состав логических выражений кроме логических переменных могут входитьчисла, числовые или строковые переменные или выражения, которые сравниваютсямежду собой при помощи операций сравнения.
Например (5>3) = true; (2*2 = 5) = false;
Над элементами логических выражений могут производиться логические операции– логическое умножение(and), логическое сложение(or), логическое отрицание(not).
Задания по разделу
1) Могут ли в состав одного выражениявходить переменные различных типов?
2) В чем разница между операциейлогического сложения и операцией конкатенации?
1.3.3. Функции в языкеVisual Basic
В этом параграфе описаны основные функции, употребляемые для каждого изиспользуемых типов данных.
Функции перевода типов данных
Применительно к Pascal в этом разделеможно упомянуть такие процедуры, как STR(a); VAL(s,a,b);
Математические функции
Здесь упомянуты такие математические числовые функции, как
Sin, cos,tan, atn, sqr, sqrt, log, exp, random, abs.
Строковые функции
- Функция длины строки
- Функция вырезания подстроки
Функции ввода и вывода
Аналог в паскале – readln, writeln
1.3.4. массивы
Изложение материала мало отличается от предыдущих учебников.
Задания по разделу
1. в чем различие между переменной имассивом
1.4. Вывод
Сравнительнаяхарактеристика вышеописанных учебников по изучаемым темам приведена в таблице:
учебники
темы
учебник Кузнецова
учебник Семакина
учебник|Угриновича
Основные понятия раскрытие темы в равной степени наблюдается во всех учебниках, дается определение основных понятий, перечислены и охарактеризованы основные числовые типы
Арифметические выражения перечислены 4 основных операции (+,-,/,*) и правила их записи, операторы ввода, вывода, присваивания кратко – раздел описания 4 основных операции + sin, cos, ln, sqr, sqrt,abs, пример записи выражения, раздел описания, операторы ввода, вывода, присваивания даны все, используемые в среде VB, типы, их диапазоны, применяемые операции, в том числе преобразования типов
логические выражения не вводится как тип, но показаны примеры использования логических выражений в условиях циклов и условного оператора не вводится как тип, но рассмотрены основные логические операции и применение их в сложных условиях выделен логический тип, рассмотрены все правила логики и их применение в коде программы
массивы
(1-о и 2-мерные) определение 1мерного массива, его описание, ввод-вывод данных, нахождение среднего значения. определение 1,2мерного массива, ввод, вывод, описание, задачи на нахождение суммы, наибольшего элемента, упорядочивание и поиск
строки не вводятся как тип, используются только как подсказки для операторов вывода и ввода определение типов char и string, операции объединения, сравнения, присваивания, удаления части строки определение строкового типа, операции сложения, определения длины, вырезания подстроки, преобразования типов
записи Не рассматриваются Определение, примеры описания и использования не рассматриваются
файлы определение, описание, операции чтения, записи, функция конца файла, примеры
Более полноераскрытие тем наблюдается в учебнике Кузнецова.
В учебникеСемакина изложение ведется применительно к нескольким разделам(программирование, БД и Электронные таблицы).
В процессеизучения типов данных более полно во всех учебниках изучаются числовые типыданных – integer и real. Также, в каждом учебнике изучаются одномерные массивы, даютсяосновные понятия и неявное применение переменных логического типа.
В учебникеКузнецова, в отличие от Семакина, рассматриваются двумерные массивы, строки, записии файлы.
В обоихучебниках, в отличие от учебника Угриновича, тема раскрывается параллельно сдругими структурами языка, по мере необходимости применения нового материала,есть разделы, которые можно дополнить, расширить и систематизировать.
В качествеконтрольных заданий применяются, вместе с теоретическими вопросами на знаниематериала такие задания, как:
- Написатьпрограмму для реализации какой либо ситуации
- Определитьрезультат действия программы.
На основаниисделанных выводов решено создать дополнительное обучающее средство в видеобучающей программы, поддерживающей индивидуальное изучение всех вопросовтемы, а также, дополнительные сведения о типах данных. Кроме того, в программубудет встроен блок самоконтроля, поддерживающий проверку усвоения каждойизучаемой темы.
Глава 2. Описание и принцип работы обучающейпрограммы по теме «структуры данных»
2.1. Общие сведения о программе
/>/>Программа представляетсобой электронный учебник со встроенным средством самоконтроля и проверкизнаний.
После запуска программы открывается окно регистрации, вкотором пользователь может зарегистрироваться, нажав соответствующую кнопку,или продолжить работу, выбрав свое имя из списка и введя свой пароль.
Для контроля работы пользователей, в программе предусмотренафункция «показать оценки».
/>
Далее, после регистрации, пользователю предлагается выбратьтему для изучения.
Здесь также показаны оценки за каждую из изученных тем.
Предполагается, что изучение тем происходит в порядке ихрасположения в списке тем. При нарушении этого условия пользователю будетвыведено сообщение об ошибке.
/>После выбора темы открывается окно собучающим текстом. Процесс работы с ним мало отличается от просмотра страниц Internet.
Переходыпо страницам материала осуществляются тремя способами:
1. кнопки «назад» и «вперед»
2. гиперссылки в тексте материала
3. список тем и разделов в левой части формы
Функции всех кнопок дублируются в строке меню программы.
Пользователю доступен также словарь, составленный из новыхслов, употребляемых в тексте.
После прочтения очередного раздела программа предлагаетпройти тест для проверки усвоения темы.
/>/>/>
В программе предусмотрено 5 вариантов теста для каждойтемы, вариант выбирается случайно при каждом открытии теста.
Количество вопросов и вариантов ответа может быть различным(в зависимости от составленного теста), оценка выставляется по формуле:
(5*кол-во верных ответов)div(кол-во вопросов).
Пройдя тест и нажав на кнопку «проверить», пользовательможет увидеть не только оценку за тест, но и список тем, которые нужноповторить, чтобы улучшить результаты. Список правильных ответов НЕ выводится.
Время прохождения теста также ограничено и определяется приего составлении.
Во время работы пользователь может контролировать времярешения теста по таймеру и двум прогрессбарам (первый показывает время решениятекущего задания, второй – всего теста).
Во время работы с тестом обучающий материал недоступен, но,при необходимости, пользователь может его увидеть, нажав кнопку «подсказка». Вэтом случае результаты теста не засчитываются, но оценка за тест и темы для повторениявыводятся.
В ситуации, когда время, отведенное на тест, истекло, апользователь еще не нажал кнопку «проверить», система спрашивает, надо липроверять результаты. При положительном ответе происходит выход из теста сподсчетом оценки, при отрицательном — выход из теста не производится. В этомслучае результаты теста также не засчитываются, но оценка за тест и темы для повторениявыводятся.
/>/>Прервать выполнение теста пользователь может в любой момент, нажав соответствующуюкнопку.
Для корректировки мелких ошибок оформления и содержанияматериала в программе предусмотрен режим редактирования, войти в которыйможно при помощи выбора соответствующего пункта в главном меню формы изучения.(пароль редактора: 9091433506).
Процесс редактирования прост и нагляден, не требуетдополнительного пояснения. Для редактирования других модулей программы (тестови определений) созданы вспомогательные программы: Testmaker.exe и Defedit.exe, вход в которые такжеосуществляется по паролю 9091433506.
2.2. Принцип работы программы
Программа состоит из трех главных модулей:
§ Модуль регистрации пользователей;
§ Модуль изучения материала;
§ Тестовый модуль (проверка знаний)
И пяти вспомогательных, на которых, для краткости,останавливаться не будем.
2.2.1. Модуль регистрации пользователей
Принцип работы модуля основан на записи и чтении из файла «users.dat» основнойинформации о пользователях:
§ Имя
§ Пароль для входа в программу
§ Оценки за выполнение каждого разделапрограммы.
Структура реализована в форме файла из записей.
После выбора пользователя и ввода пароля на форме регистрации имя и массивоценок отображаются на форме списка тем.
2.2.2. Модуль изученияматериала
Основан на файле «forms.dat» и файлов вида «mn.rtf», где m, n – номер темы и раздела соответственно, которым принадлежитматериал файла.
Вся информация об отображаемом на форме материале хранится в файле «forms.dat», а именно:
§ Название раздела
§ Имена, положение гиперссылок и номераразделов, на которые они ссылаются
§ Положение, размер, и адрес картинок,отображаемых на форме
§ Количество разделов в теме
Данные организованы в форме массива записей, обращение к материалу происходитпо его порядковому номеру.
2.2.3. Модуль проверки знаний
Основан на текстовых файлах с вопросами теста. Ответы на тест располагаютсяОТДЕЛЬНО от вопросов в файле «test.dat», в котором хранится массив записей – данных дляотображения нужного вопроса теста.
Поля записи:
§ Имя файла с вопросом теста
§ Время на выполнение каждого вопроса
§ Массив ответов
§ Номер верного ответа
§ Адрес страницы обучающего материала, накоторой рассмотрено и решение вопроса.
§ Адрес картинки, подгружаемой, принеобходимости к вопросу ирррррр теста.
Это основные принципы работы программы, более детально их можно рассмотреть,ознакомившись с кодом программы.
Программу можно скачать по адресу: fizmath.net\kurs.rar