Файл: Яровой_Информатика.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.04.2024

Просмотров: 4475

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Информатика

Работа с программой Проводник

2.1. Файловая структура, файлы, папки

2.2. Работа с программой Проводник

2.2.1. Навигация по файловой структуре

2.2.2. Запуск программ и открытие документов

2.2.3. Создание папок

2.2.4. Копирование и перемещение файлов и папок

2.2.5. Удаление файлов и папок

2.2.6. Создание ярлыков файлов, представление объектов

3. Выполнение работы

4. Форма отчета

2.2. Содержимое стандартного набора вкладок

2.3. Ввод, редактирование, форматирование и рецензирование текста

2.4. Основы работы с таблицами

2.5. Ввод формул

2.6. Сохранение и печать созданного документа

3. Выполнение работы

4. Форма отчета

5. Контрольные вопросы

6. Литература

Основы работы с пакетом Microsoft Excel

2. Основные сведения

2.1. Элементы окна Excel

2.2 Создание электронных таблиц пакетом Microsoft Excel

Ячейки и их адресация

Ввод, редактирование и форматирование данных

Вычисления в электронных таблицах

Копирование содержимого ячеек

Использование стандартных функций

Построение диаграмм и графиков

2.3 Сохранение и печать созданной книги

3. Выполнение работы

4. Форма отчета

5. Контрольные вопросы

6.Литература

Создание электронной таблицы

Построение диаграммы

Создание электронной таблицы

Построение диаграммы

Построение гистограммы

Построение гистограммы

2.2. Основные этапы составления программы

2.3. Оформление окна программы (размещение компонентов на форме)

2.4. Назначение и основные свойства некоторых компонентов

Компонент Form

Компонент Label (Метка)

Компонент Edit (Редактор)

Компонент Memo (Многострочный текстовый редактор)

Компонент Button

Компонент ComboBox (Блок с комбинированным раскрывающимся списком)

3. Выполнение работы

4. Форма отчета

2.2. Создание заготовок процедур-обработчиков событий. Текст модуля программы

2.2. Оформление окна программы

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

2.4. Программирование вычислений определенных интегралов

2.1.2. Сложение и вычитание матриц

2.1.3. Умножение матрицы на число

2.1.4. Умножение матриц

2.1.5. Транспонирование матрицы

2.1.6. Линейные преобразования

2.2 Массивы и переменные с индексами

2.3. Составление программ реализующих основные матричные операции

Задание 1

Оформление эскиза окна программы

Размещение компонентов на форме и задание им нужных свойств

Составление программы

3. Выполнение работы

4. Перечень заданий

5. Форма отчета

6. Контрольные вопросы

7. Литература

2.1.6. Линейные преобразования

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

a11x1+a12x2+…+a1nxn=b1

a21x1+a22x2+…+a2nxn=b2… (7.7)

am1x1+am2x2+…+amnxn=b3

можно записать одним матричным равенством:

a11

a12

a1n

a21

a22

a2n

am1

am2

amn

x1

x2

xm

b1

b2

bm


* =

A * x = b

Более кратко матричное равенство можно записать

A*x=b. (7.8)

Систему линейных алгебраических уравнений (7.7) обычно рассматривают как линейное преобразование совокупности величин (x1,x2, … , xm) в совокупность (b1,b2,…,bm). Это преобразование полностью определяется коэффициентами aij(i=1,2, …, m; j=1,2, …,n) матрицы А. На языке матриц линейное преобразование b=A*x означает преобразование столбца x в столбец b, которое определяется матрицей преобразования А.


Если величины x1,x2, …, xm получаются из некоторой совокупности величин z1,z2 ,…, zm, посредствам линейного преобразования x=B*z, где x и z –столбцы соответствующих величин, а В - матрица их преобразования, то формальной подстановкой x в матричное уравнение (8) получаем:

B=A*x=A*(B*z)=(A*B)*z=C*z,

где С=А*В – матрица преобразования величины z в b.

2.2 Массивы и переменные с индексами

В языке Object Pascal для хранения и обработки упорядоченных совокупностей данных различной природы (различных типов, в частности, векторов и матриц, элементами которых являются вещественные или целые числа) введено понятие массив.

Массив – это упорядоченная совокупность однотипных данных, которая характеризуется:

- своими именами;

- типом хранимых данных;

- нумерацией элементов;

- размером (числом хранимых элементов);

- размерностью.

В программе на языке Object Pascal (в дальнейшем просто в программе) каждый массив должен быть описан (объявлен) в разделе описания типов (после ключевого слова type(тип)) или в разделе описания переменных (после ключевого слова var).Описания записываются перед началом записи исполняемых операторов модуля.

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

Для компилятора описание типа массив определяет:

- объём памяти, который необходимо выделить для размещения всех элементов массива;

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

Каждое описание массива заканчивается символом “;” и иногда называется неисполняемым оператором (т.е. только представляющем информацию компилятору о массиве) или строкой программы.

Например,

- если необходимо описать вектор x(x1,x2 …,x20), элементами которого являются целые числа, следует после слова var записать:

var

x: array [1..20] of integer; (7.9)

- если необходимо описать две матрицы A={aij}, B={aij} (i=1,2, … 13; j=1,2, …, 21), элементами которых являются вещественные числа, то следует записать:

var


a,b: array [1..13, 1..21] of real; (7.10)

Как следует из примеров, описаниeмассива начинается с записи имени (или нескольких имён, перечисленных через”,”), после которого через символ “:” записывается ключевое словоarray( массив). За словомarrayв квадратных скобках указывается диапазон, т. е. нижняя и верхняя границы изменения индекса,разделённых символов.. , с помощью которых компилятор определяет общее количество элементов массива. Запись <Нижняя граница>.. <Верхняя граница> образует тип-диапазон. Если массив двумерный (т. е. матрица), то тип-диапазон второго индекса записывается через , . За словомof( из) указывается тип элементов, образующих массив.

Трёхмерный массив (совокупность “плоских” матриц), элементами которого имеют строковый тип, можно описать:

var

massiv: array [1..20, 1..30, 1..7] of string;

В общем случае описание массивов задастся следующим образом:

var

<Список имён>: array[<Список типа-диапазон>]of<Тип>;

где: <Тип> – любой тип ObjectPascal.

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

Иногда описания массивов производят в такой последовательности: в разделе type(тип) указывают имя типа, диапазоны изменения индексов и тип элементов массива, а затем в разделеvarуказывают конкретные имена массивов (переменных, имеющих тип массив).

Например, описание массивов в примерах (9), (10) можно выполнить следующим образом:

type

vector = array [1..20] of integer;

matr = array [1...13, 1...21] of real;

var

x: vector;

a,b:matr;

Доступ к элементам массива осуществляется по индексу (номеру). Этот индекс указывается в квадратных скобках сразу за именем массива (такое действие называется индексированием). Запись:

<Имя массива> [<Список индексов>]

называется переменной с индексом, где <Список индексов> – один или несколько индексов, перечисленных через ”,”.

Переменная с индексами именует значение, являющееся одним элементом массива. Элемент массива, именуемый данной переменной с индексами, определяется текущими значениями индексов этой переменной. Каждый индекс по своему смыслу принимает целочисленное значение, т.е в простейшем случае может иметь тип integer(целый).

Примеры:

1. Значением переменной а [2,3] является элемент матрицы а23;

2. Значение переменной а[i,j] определяется текущими значениями i и j;


3. Для получения вещественной матрицы В={bij} (i,j=1,2,…7) каждый элемент, который равен 0 необходимо:

- в разделе описания переменных дать описание двухмерного массива с именем b и двух переменных целого типа i,j:

var

b: array [1..7,1..7] of real;

i,j: integer;

- в разделе реализации (после ключевого слова implementation (реализация)) в нужном месте записать операторы цикла, в которых оператором присваивания каждому элементу массива b присваивается значение 0.0:

for i:=1 to 7 do

for j:=1 to 7 do

b[i,j]:=0.0;

В Object Pascal введены динамические массивы - это массивы у которых нижняя граница индексов по любому измерению равна 0, а верхняя граница (следовательно и объем памяти ПК для размещения всех элементов массива) устанавливается при выполнении программы с помощью стандартной процедуры SetLength (установить длину).

Динамические массивы обычно применяются когда, размер обрабатываемых массивов неизвестен и определяется при выполнении программы в зависимости от действий пользователя или объема обрабатываемой информации.

Описание (объявление) массива содержит только его имя и тип элементов, при этом компилятором не выделяется память для элементов массива.

Например;

-описание вещественного вектора а(а12,…аn) может выглядеть так:

var

a:array of real;

- описание вещественных матриц B={bij} и C={cij}(i=1,2,…m; j=1,2,…n)

может выглядеть:

var

b, c: array of array of real;

Это описание в переводе можно читать так: b и с – это массивы из массивов, элементами которых является вещественный тип.

Для выделения компилятором памяти для элементов динамических массивов следует вызвать стандартную подпрограмму SetLength операторами:

SetLength(а,10);

которая выделит для массива a место в памяти под 10 элементов и задаст нулевые значения всех элементов;

SetLength(b,7,8);

которая выделит для массива b место в памяти под 7*8=56 элементов и задаёт нулевые значения всех элементов;

SetLength(с,10,5);

которая выделит для массива с место в памяти под 10*5=50 элементов и задаст нулевые значения всех элементов;

Поскольку индексы динамического массива – всегда целые числа, начинающиеся с 0, то:


массив а содержит элементы от а[0] до а[9];

массив b содержит 7 строк с нумерацией от 0 до 6 и 8 столбцов с нумерацией от 0 до 7;

массив с содержит 10 строк с нумерацией от 0 до 9 и 5 столбцов с нумерацией от 0 до 4.

Доступ к элементам динамических массивов осуществляется так же, как и для статических массивов. Например,

  1. Значением переменной а[0] является первый элемент а1, значением а[9] – последний элемент а10 вектора a.

  2. Значением переменной b[3,6] является элемент матрицы В, находящийся на пересечении 4-ой строки и 7-го столбца, т.е. b47.

  3. Значением переменной c[3,2] является элемент c43.

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

Удалить из памяти динамический массив можно одним из 3-х способов:

-оператором присваивания:

a:=nil;

...

т.е. массиву а присвоить значение nil(ничего);

-вызвать стандартную процедуру Finalize оператором

Finalize(a);

-вызвать стандартную процедуру SetLength оператором

SetLength(a,0);