Рефетека.ру / Информатика и програм-ие

Курсовая работа: Разработка обучающей программы, поддерживающей изучение темы "Структуры данных"

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ


Физико-математический факультет


Курсовая работа по информатике


разработка обучающей программы, поддерживающей изучение темы «структуры данных»


Выполнил:

Студент 3 курса

группы м-31

очной формы обучения

Марков Роман

Научный руководитель:

Соболева Е.В.


Киров 2008 г.


Содержание


Глава 1. Анализ теоретического материала..........................................................

1.1. «Информатика и ИКТ. Базовый курс» Семакин И.Г. и др.

1.1.1. Алгоритмы работы с величинами

1.1.2. Линейные вычислительные алгоритмы

1.1.3. Знакомство с языком Pascal.

1.1.4. Программирование ветвлений в Pascal.

1.1.5. Таблицы и массивы

1.1.6. Массивы

1.2. «Информатика» Кузнецов.

1.2.1. Язык программирования Pascal.

1.2.2. Структура программы на Pascal, ввод и вывод данных

1.2.3. Условный оператор

1.2.5. Алгоритмы обработки таблиц

1.2.6. Обработка строк на языке Pascal

1.2.7. Записи

1.2.8. Файлы

1.3. «Информатика и информационные технологии» Н. Угринович.

1.3.1. Тип, имя и значение переменной.

1.3.2. арифметические, строковые и логические выражения. Присваивание

1.3.3. Функции в языке Visual Basic

1.3.4. массивы

1.4. Вывод

Глава 2. описание и принцип работы обучающей программы.........................

2.1. Общие сведения о программе.

2.2. Принцип работы программы.

2.2.1. Модуль регистрации пользователей

2.2.2. Модуль изучения материала

2.2.3. Модуль проверки знаний

Глава 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. Линейные вычислительные алгоритмы

В этом параграфе подробно изучается оператор присваивания: его свойства, примеры применения

Свойства присваивания иллюстрируются с помощью трассировочной таб­лицы:

Команда

a

b


a:=1

1

-


b:=2 x a

1

2


a:=b

2

2


b:=a + b

2

4


Свойства:

пока переменной не присвоено значение она оста­ется неопределенной

значение переменной сохраняется до следующего присваивания

новое значение переменной заменяет предыдущее





Примеры:

обмен значениями 2х переменных. Для решения применяется аналогия с двумя стаканами (с молоком и водой) для смены значений которых использу­ется третий, после которой решение становится очевидным.

даны 2 правильные дроби, найти дробь – результат деления одной на вторую.

Решение сводится к правилам учебника математики.

Задания по разделу:

когда значение переменной считается неопределенным?

что происходит с предыдущим значением переменной после при­сваивания?

можно ли в арифметическом выражении использовать неопределен­ную переменную?


1.1.3. Знакомство с языком Pascal

В этом параграфе изучается структура программы паскаля, в том числе описание переменных, синтаксис операторов ввода, вывода, присваивания, правила записи арифметических выражений


Описание переменных

Здесь описывается синтаксис описания переменных, основные типы (вещест­венный – real, целый - integer). Здесь только называются числовые типы: на­звания вещественный и целый полагается уже знакомыми ученикам, знание о диапазонах типов им пока не нужно.

Пример var a,b:integer;c:real;

Синтаксис операторов ввода, вывода, присваивания.

Ввод - Read[ln](<список переменных>);

Вывод - Write[ln](<список переменных>);

Присваивание - <числовая переменная>:=<Арифметическое выраже­ние>;

Арифметические операции “+”, “-”, “*, /;


Правила записи арифметических выражений

Пример

Выражение Разработка обучающей программы, поддерживающей изучение темы &amp;quot;Структуры данных&amp;quot; записывается так

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 <имя масссива>: ar­ray[<нижний_индекс>..<верхний_индекс>] 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

Разработка обучающей программы, поддерживающей изучение темы &amp;quot;Структуры данных&amp;quot;

Оператор присваивания

<переменная>:=<выражение>

Примеры: 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. Условный оператор

В этом параграфе, применительно к описываемой теме, хотелось бы выде­лить раздел логические выражения, в котором на примере нескольких задач описываются примеры основных логических операций

Таблицы истинности для операций

X

Y

X AND Y


X

Y

X OR Y


1

1

1


1

1

1


1

0

0


1

0

1


0

1

0


0

1

1


0

0

0


0

0

0


X

NOT X


1

0


0

1













Примеры построения сложных логических выражений

определить, принадлежит ли точка с координатой х отрезку [a,b].

Это условие записывается двойным неравенством a<x<b.

На паскале – (x>a) and (x<b).

пройдет ли кирпич с ребрами 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;

При этом комментируется каждое слово в этой записи. При встрече описания массива, транслятор отводит для него столько последовательных ячеек, сколько указано в квадратных скобках, и такого формата, каков тип массива.

Описание из примера означает, что для массива а отведено 10 ячеек по 6 байт каждая. Имена ячеек: Разработка обучающей программы, поддерживающей изучение темы &amp;quot;Структуры данных&amp;quot; в Паскале будут записаны: a[1],a[2],…,a[10].

Ввод и вывод данных массива осуществляется через цикл, например:

For i:=1 to n do read(a[i]);


Базовые задачи на массивы

вычисление суммы элементов массива

Вычисление ничем не отличается от суммирования значений простых пере­менных.

Этапы решения:

ввод данных;

вычисление суммы;

печать результатов;

{1} For i:=1 to n do read(a[i]);

{2} S:=0; For i:=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 0 1 10 17 16 22 23

нахождение наибольшего элемента массива

Чтобы лучше представить себе, как последовательно рассматривать и сравни­вать между собой числа, записанные в памяти, в учебнике предлагается вооб­разить, что каждое число написано на отдельной карточке и карточки сло­жены стопкой:

первое число запомним, перевернем карточку

сравниваем числа: первое видим, второе помним

запомним большее, перевернем карточку

ТО на каждом этапе мы будем помнить большее из рассмотренных чисел и решим задачу.

Пример программы:

Max:=a[1];

For i:=2 to n do

if max<a[i] then max:=a[i];

упорядочивание массива по возрастанию

При решении задачи используется сортировка методом пузырька.

поиск элемента в массиве

пример поиска методом сплошного перебора, используется оператор goto.

Задания по разделу

чем отличается массив от файла

для чего необходимо описание массива

может ли массив содержать разнородные данные

в заданном массиве

замените нулем наибольший элемент

найдите полупроизведение всех положительных элементов

замените все отрицательные числа их модулями и т. п.


1.2.5. Алгоритмы обработки таблиц

В этом параграфе рассматривается двумерный массив(таблица), его описа­ние, основные задачи:

вычисление суммы элементов главной диагонали квадратной таб­лицы

нахождение наибольших элементов каждой строки таблицы

нахождение сумм элементов столбцов таблицы

перестановка строк таблицы

Описание двумерного массива

Для лучшего наглядного представления двумерный массив представляется в учебнике, как таблица, в которой номер строки обозначается первым индек­сом двумерного массива, столбцы – вторым. Объясняется так же, как хра­нится массив в памяти компьютера (построчно, строка за строкой).

Если число строк таблицы = числу столбцов, то таблица – квадратная.

Основные задачи

вычисление суммы элементов главной диагонали квадратной таб­лицы

алгоритм:

ввести таблицу в память

найти сумму элементов главной диагонали

напечатать результат

при решении диагональ рассматривается, как одномерный массив

нахождение наибольших элементов каждой строки таблицы.

Идея: рассматривать каждую строку, как одномерный массив

нахождение сумм элементов столбцов таблицы

идея та же + операции можно совершать как над строками, так и над столб­цами таблицы

перестановка строк в таблице

воспользоваться алгоритмом обмена значений 2х переменных + цикл по столбцам

Задания по разделу

в квадратной неотрицательной таблице найдите квадратный корень произведения диагональных элементов

найдите наибольший элемент квадратной таблицы

в прямоугольной таблице замените все элементы их квадра­тами

в квадратной таблице найдите наибольший элемент диаго­нали

поменяйте местами первую и последнюю строки прямоуголь­ной таблицы


1.2.6. Обработка строк на языке Pascal

В этом параграфе рассказывается о 2х новых для школьников типах данных – символах и строках, а также об основных операциях над ними

Символы

Для записи символа используется 1 байт памяти. Для данного, описывающего 1 символ используется описатель char. Символы объединяются в массивы. Значение символьного данного – любой символ клавиатуры в апострофах.

Символьные массивы обрабатываются теми же алгоритмами, что и числовые.

Строки

Строка – ограниченная апострофами последовательность любых символов.

Длина строки в паскале не должна превышать 255 символов.

Операции над строками (объединение, сравнение, присваивание)

объединение

операция позволяет объединить 2 строки в одну, приписав к концу первой на­чало второй.

Пример

X:=’тепло’;

Y:=’ход’;

Z:=x+y;{получим - теплоход}

сравнение

‘=’ – означает посимвольное совпадение строк

‘<,>’ – относятся к длинам строк

присваивание – строковой переменной присваивается строковое выражение

основные процедуры и функции

a:=length(s) – длина строки

s:=copy(строковое выражение, начальный символ, количество символов) – копирование части строки

a:=pos(подстрока, исх. строка) – поиск подстроки в строке(а-номер первого символа подстроки в исходной строке)

insert(вставляемая строка, исходная строка, целое число) – вставка подстроки в строку после данного символа

delete(строка, номер начала, количество символов) – удаление из строки дан­ное количество символов после данного элемента.

Пример программы

В качестве примера использования строковых процедур и функций использу­ется программа пословного перевода с английского языка.

Задания по разделу

чем отличается символьный тип данных от строковых

используя символьный массив, определите, сколько слов в данном тексте, сколько букв «а» в данном слове

дана строка с несколькими запятыми, получите слово между пер­вой и второй запятыми


1.2.7. Записи

В этом параграфе дается определение записи, описание её структуры на Паскале и простейшие примеры применения.

Определение записи

С одной стороны запись – последовательность байтов на носителе, ограни­ченная с двух сторон специальными признаками, с другой стороны, в связи со сложной её внутренней структурой, запись – совокупность разнородных дан­ных, описываемых и обрабатываемых, как единое целое.

Данные из которых состоит запись – поля.

Описание записи

Type

A = record

N:integer;

K:string;

F:array[1..5,5..10]of real;

End;

Var rec:a;

Примеры записей

объект – физическое тело с измерениями a,b,c – длина, ширина, высота

объект – товар, характеризующийся названием и ценой

объект – дата рождения: день, месяц, год

Записи могут объединяться в массивы, например:

Type

A = record

N:integer;

K:string;

F:array[1..5,5..10]of real;

End;

Mas = array[1..n] of A;

Var masrec:mas;

Для обращения к полю записи используются сложные имена из имени записи из раздела var и имени поля, разделенных точкой: rec.n; rec.f[1,5]; mas­rec[1].f[2,8];

Массив сведений о работниках предприятия(имя, должность, дата рождения, зарплата).

Операции над записями

В программе ввод и вывод записи производится по полям, но можно присво­ить одной записи значение другой, при этом происходит копирование области памяти.

Оператор присоединения – используется для краткости. Он позволяет при об­работке записи указать её имя только 1 раз: with список имен do оператор.


1.2.8. Файлы

В параграфе описаны основные этапы операций обработки файлов – чтения и записи

Операция записи

Запись в файл – помещение в него новых данных. Данное для занесения в файл формируется в оперативной памяти как значение некоторой перемен­ной. Операцией записи это значение копируется из оперативной памяти во внешнюю. Следовательно, форма представления данного, его тип и структура должны быть одинаковы и для записей файла и для переменной, из которой это данное копируется.

Этапы записи в файл

описание файла – в разделе описания типов или переменных. При­мер: var f:file of integer; a:integer;

Установление соответствия между физическим и логическим име­нем файла. Оператор установления соответствия: assign(логическое имя, ‘фи­зическое имя’); например assign(f,’file.dat’);

открытие файла для операции запись – rewrite(f); если открыть для записи файл с имеющимися данными – они все пропадут.

запись данных в файл – write(f,a);

закрытие файла – close(f);

Операция чтения. Этапы:

Описание файла и установление соответствия между его именами также, как для записи.

открытие файла для чтения – reset(f);

читать данные из файла – read(f,a); количество записей в файле может быть неизвестно. По этому при чтении удобно использовать функцию признака конца файла – eof(f);

закрыть файл

На каждую из операций показан простой пример чтения или записи в файл чисел.

Также показан прием дозаписи файла, использующий вспомогательный файл.

Задания по разделу

какие операции можно производить с данными файла

почему второй параметр операторов write и read должен быть того же типа, что и данные файла

чем отличается физическое имя файла от логического

как открыть файл для записи

что будет, если ранее созданный файл с данными открыть для за­писи

чем отличается файл от массива

как прочесть данные из файла, не зная их количества

как добавить данные в имеющийся файл


1.3. «Информатика и информационные технологии» Н. Угринович


В этом учебнике, в отличие от вышеописанных, изучение темы ведется не по­путно с другими темами, а отдельно, для этого выделено несколько парагра­фов. Поскольку в этом учебнике изучается другая среда программирования, остановимся только на структуре изложения материала.


1.3.1. Тип, имя и значение переменной

В этом параграфе даются основные понятия о переменных, их именах, зна­чениях, данных и типах.

Понятие переменной

Переменные задаются именами, определяющими области памяти, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов (целые, вещественные числа, последовательности символов и так далее).

Переменная в программе представлена именем и служит для обращения к данным определенного типа. Конкретное значение переменной хранится в ячейках оперативной памяти.

Тип переменной

Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов являются числа, логи­ческих – True или False, строковых – последовательности символов и так да­лее.

Над различными типами данных допустимы различные операции. Над число­выми – арифметические операции, над логическими – логические операции, над строковыми – операции преобразования символтных строк и так далее.

Различные типы данных требуют для своего хранения в памяти различное ко­личество ячеек (байтов).

{таблица типов данных и их размеров в памяти}

Задания по разделу

В чем разница между типом, именем и значением переменной?

Определить, какой диапазон чисел может храниться в переменной типа {тип} с учетом выделения одного байта для хранения знака числа.

Определить, какое количество ячеек памяти потребуется для хране­ния строк “ЭВМ”, “информатика”.


1.3.2. арифметические, строковые и логические выражения При­сваивание

В параграфе описаны выражения, которые можно составить с основными типами данных – числовой, логический, строковый.

Арифметические выражения

В состав арифметических выражений могут входить кроме переменных чи­слового типа, также и числа, над переменными и числами могут произво­диться различные арифметические операции, выраженные с помощью функ­ций.

Строковые выражения

В состав строковых выражений могут входить переменные строкового типа, строки и строковые функции.

Над переменными и строками может производиться операция конкатенации, она заключается в объединении строки или значения строковых переменных в единую строку. Операция обозначается знаком «+».

Логические выражения

В состав логических выражений кроме логических переменных могут входить числа, числовые или строковые переменные или выражения, которые сравни­ваются между собой при помощи операций сравнения.

Например (5>3) = true; (2*2 = 5) = false;

Над элементами логических выражений могут производиться логические опе­рации – логическое умножение(and), логическое сложение(or), логическое от­рицание(not).

Задания по разделу

Могут ли в состав одного выражения входить переменные различ­ных типов?

В чем разница между операцией логического сложения и опера­цией конкатенации?


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. массивы

Изложение материала мало отличается от предыдущих учебников.

Задания по разделу

в чем различие между переменной и массивом


Вывод


Сравнительная характеристика вышеописанных учебников по изучаемым те­мам приведена в таблице:


учебники

темы

учебник Кузнецова

учебник Семакина

учебник|Угриновича

Основные поня­тия

раскрытие темы в равной степени наблюдается во всех учебниках, да­ется определение основных понятий, перечислены и охарактеризованы основные числовые типы

Арифметические выражения

перечислены 4 основ­ных операции (+,-,/,*) и правила их записи, операторы ввода, вы­вода, присваивания кратко – раздел опи­сания 4 основных операции + sin, cos, ln, sqr, sqrt,abs, пример за­писи выражения, раз­дел описания, опера­торы ввода, вывода, присваивания даны все, используе­мые в среде VB, типы, их диапазоны, применяемые опера­ции, в том числе пре­образования типов

логические выра­жения

не вводится как тип, но показаны примеры использования логи­ческих выражений в условиях циклов и условного оператора не вводится как тип, но рассмотрены ос­новные логические операции и примене­ние их в сложных ус­ловиях выделен логический тип, рассмотрены все правила логики и их применение в коде программы

массивы

(1-о и 2-мерные)

определение 1мерного массива, его описание, ввод-вывод данных, нахождение среднего значения. определение 1,2мерного массива, ввод, вывод, описание, задачи на нахождение суммы, наи­большего элемента, упорядочивание и поиск

строки

не вводятся как тип, используются только как подсказки для операторов вывода и ввода определение типов char и string, операции объединения, срав­нения, присваивания, удаления части строки определение строко­вого типа, опера­ции сложения, опре­деле­ния длины, выре­зания подстроки, преобра­зования типов

записи

Не рассматриваются Определение, при­меры описания и ис­пользования не рассматриваются

файлы


определение, описа­ние, операции чтения, записи, функция конца файла, при­меры

Более полное раскрытие тем наблюдается в учебнике Кузнецова.

В учебнике Семакина изложение ведется применительно к нескольким разде­лам (программирование, БД и Электронные таблицы).

В процессе изучения типов данных более полно во всех учебниках изучаются числовые типы данных – integer и real. Также, в каждом учебнике изучаются одномерные массивы, даются основные понятия и неявное применение пере­менных логического типа.

В учебнике Кузнецова, в отличие от Семакина, рассматриваются двумерные массивы, строки, записи и файлы.

В обоих учебниках, в отличие от учебника Угриновича, тема раскрывается параллельно с другими структурами языка, по мере необходимости примене­ния нового материала, есть разделы, которые можно дополнить, расширить и систематизировать.

В качестве контрольных заданий применяются, вместе с теоретическими во­просами на знание материала такие задания, как:

Написать программу для реализации какой либо ситуации

Определить результат действия программы.

На основании сделанных выводов решено создать дополнительное обучаю­щее средство в виде обучающей программы, поддерживающей индивидуаль­ное изучение всех вопросов темы, а также, дополнительные сведения о типах данных. Кроме того, в программу будет встроен блок самоконтроля, поддер­живающий проверку усвоения каждой изучаемой темы.

Глава 2. Описание и принцип работы обучающей программы по теме «структуры данных»


2.1. Общие сведения о программе



Разработка обучающей программы, поддерживающей изучение темы &amp;quot;Структуры данных&amp;quot;Программа представляет собой электронный учебник со встроенным средством самокон­троля и проверки знаний.

После запуска программы открывается окно регистра­ции, в котором пользователь может зарегистрироваться, нажав соответствующую кнопку, или продолжить ра­боту, выбрав свое имя из списка и введя свой пароль.

Для контроля работы пользователей, в про­грамме пре­дусмотрена функция «показать оценки».

Разработка обучающей программы, поддерживающей изучение темы &amp;quot;Структуры данных&amp;quot;


Далее, после регистрации, пользователю предлагается выбрать тему для изу­чения.

Здесь также показаны оценки за каждую из изученных тем.

Предполагается, что изучение тем происходит в порядке их расположения в списке тем. При нарушении этого условия пользователю будет выведено со­общение об ошибке.

Разработка обучающей программы, поддерживающей изучение темы &amp;quot;Структуры данных&amp;quot;После выбора темы открывается окно с обучающим текстом. Процесс работы с ним мало отличается от просмотра страниц Internet.


Переходы по страницам материала осуществляются тремя способами:

кнопки «назад» и «вперед»

гиперссылки в тексте материала

список тем и разделов в левой части формы

Функции всех кнопок дублируются в строке меню программы.

Пользователю доступен также словарь, составленный из новых слов, упот­ребляемых в тексте.

После прочтения очередного раздела программа предлагает пройти тест для проверки усвоения темы.

Разработка обучающей программы, поддерживающей изучение темы &amp;quot;Структуры данных&amp;quot;

В программе предусмотрено 5 вариантов теста для каждой темы, вариант вы­бирается случайно при каждом открытии теста.

Количество вопросов и вариантов ответа может быть различным (в зависимо­сти от составленного теста), оценка выставляется по формуле:

(5*кол-во верных ответов)div(кол-во вопросов).

Пройдя тест и нажав на кнопку «проверить», пользователь может увидеть не только оценку за тест, но и список тем, которые нужно повторить, чтобы улучшить результаты. Список правильных ответов НЕ выводится.

Время прохождения теста также ограничено и определяется при его составле­нии.

Во время работы пользователь может контролировать время решения теста по таймеру и двум прогрессбарам (первый показывает время решения текущего задания, второй – всего теста).

Во время работы с тестом обучающий материал недоступен, но, при необхо­димости, пользователь может его увидеть, нажав кнопку «подсказка». В этом случае результаты теста не засчитываются, но оценка за тест и темы для по­вторения выводятся.

В ситуации, когда время, отведенное на тест, истекло, а пользователь еще не нажал кнопку «проверить», система спрашивает, надо ли проверять резуль­таты. При положительном ответе происходит выход из теста с подсчетом оценки, при отрицательном - выход из теста не производится. В этом случае результаты теста также не засчитываются, но оценка за тест и темы для по­вторения выводятся.

Разработка обучающей программы, поддерживающей изучение темы &amp;quot;Структуры данных&amp;quot;Прервать выполнение теста пользователь может в любой момент, нажав соот­ветствующую кнопку.

Для корректировки мелких ошибок оформления и со­дер­жания материала в про­грамме предусмотрен ре­жим редакти­рования, войти в который можно при по­мощи выбора соответст­вующего пункта в главном меню формы изуче­ния. (па­роль редактора: 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

Похожие работы:

  1. Позиционные системы счисления
  2. • Исследование уровня безопасности операционной системы Linux
  3. • Формування маркетингової стратегії ЗАТ "Оболонь"
  4. • "Звезды прелестные" в поэзии Пушкина и его современников
  5. • Охрана труда при работе на компьютере
  6. • Краткий курс истории Московского троллейбуса
  7. • Технология HTML
  8. • Публий Теренций Афр
  9. • Решения задачи планирования производства симплекс ...
  10. • Словник слів іншомовного пожодження економічного ...
  11. • Латинский язык: Практические задания для студентов заочного ...
  12. • Проект концептуального анализа развития туризма в ...
  13. • Основы латинского языка
  14. • Основы здорового образа жизни студента. Физическая культура в ...
  15. • Меркантилизм и доктрина А. Смита
  16. • "Звезды прелестные" в поэзии Пушкина и его современников
  17. • "Звезды прелестные" в поэзии Пушкина и его современников
  18. • Способы отрицания в современном немецком языке
  19. • Восточные славяне в древности
  20. • Changes and specimens of the English language
Рефетека ру refoteka@gmail.com