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

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

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

-                       ввод данных;

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

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

{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

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

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

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

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

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

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

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

Max:=a[1];

For i:=2 to n do

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

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]of real;

End;

Var rec:a;

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

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

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

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

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

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];

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

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

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

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

1.2.8. Файлы

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

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

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

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

1.         описание файла – в разделе описания типов или переменных. При­мер: var f:file of 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. «Информатика и информационные технологии» Н. Угринович

 

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

 


Информация о работе «Разработка обучающей программы, поддерживающей изучение темы "Структуры данных"»
Раздел: Информатика, программирование
Количество знаков с пробелами: 37860
Количество таблиц: 11
Количество изображений: 5

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

Скачать
255323
33
27

... в помещении представлена на рисунке 4.1 Рисунок 4.1 - Схема размещения светильников в аудитории № 209. Заключение В работе проведено исследование использования программ дистанционного обучения для подготовки учебно-методической документации, описаны их положительные стороны и выявлены основные проблемы. В результате проведенного исследования разработано web-приложение "R@Learning ...

Скачать
46704
1
0

... деятельности во внешней речи про себя и этап выполнения деятельности в форме внутренней речи. Данные характеристики деятельности и этапы ее становления и определяют требования к составлению обучающих программ. 2. При оценке авторской технологии проверяйте ее на соответствие признакам педагогической (методической) технологии   Классификационные параметры технологии По уровню применения: ...

Скачать
107365
2
8

... мы все сделали правильно, воспроизведем курс с начала, щелкнув кнопку Restart на панели управления. Создание кадров «Автор» и «Уч. пособ» идентично созданию кадра «Заголовок». Первый отображает фамилию и инициалы автора, а второй указывает, что это – электронный обучающий комплекс. Пятый и шестой кадр {Wait Icon и Erase Icon) весьма тесно связаны друг с другом. Эта пара обеспечивает управляемый ...

Скачать
50931
6
14

... переводит его пользователь и состояние предписываемое инструкцией. На основании сравнения этих значений можно построить диалог, направляющий действия пользователя. 2.1. Разработка структурной схемы Рис. 2.1. Структурная схема программы-тренажера Для описания структуры разрабатываемого программного комплекса его можно разделить на два основных блока: Блок, обеспечивающий работу ...

0 комментариев


Наверх