- •Информатика – предмет и задачи курса
- •Появление и развитие информатики
- •Информатизация общества
- •Информационная культура
- •Информация
- •Информация
- •Свойства информации
- •Адекватность информации
- •Измерение информации
- •Классификация способов измерения информации
- •Синтаксическая мера информации
- •Семантическая мера информации
- •Прагматическая мера информации
- •Системы счисления
- •Перевод целых чисел в двоичную систему счисления
- •Перевод целых чисел из двоичной в восьмеричную и шестнадцатеричную системы счисления
- •Сложение и вычитание чисел в различных системах счисления
- •Представление данных в памяти компьютера
- •Кодирование текстов
- •Кодирование изображений
- •Кодирование звука
- •Управление компьютером
- •Программное управление компьютером
- •Архитектура компьютера и принципы фон Неймана
- •Основные блоки ibm-совместимого компьютера
- •История развития вычислительной техники
- •Тенденции развития современных компьютеров
- •Программы для компьютеров.
- •Операционная система.
- •Развитие операционных систем.
- •Операционные оболочки
- •Операционная система windows.
- •Концепция ос windows.
- •Многопоточность
- •Дескриптор
- •Прерывания
- •Объектно-ориентированная платформа windows
- •Объект – файл.
- •Объект папка.
- •Иерархическая структура подчиненности папок
- •Объекты пользовательского уровня – приложение и документ
- •Обмен данными.
- •Способы обмена данными.
- •Пользовательский интерфейс Windows
- •Обработка текстовой информации.
- •Некоторые возможности текстового процессора Word
- •Запуск и завершение работы с Word
- •Пользовательский интерфейс Word
- •Справочная система Word
- •Структура документа
- •Страница
- •Принципы обработки текстов
- •Принцип форматирования
- •Стили форматирования
- •Использование шаблонов
- •Режим структуры документа.
- •Сервисные функции Word
- •Поиск и замена текста
- •Оформление таблиц
- •Обрамление
- •Вставка объектов
- •Технология внедрения и связывания объектов ole
- •Внедрение объекта:
- •Связывание объекта.
- •Вставка графики
- •Добавление объектов при помощи панели инструментов “Рисование”
- •Автофигуры
- •Вставка объектов WordArt
- •Вставка специальных символов
- •Вставка математических формул
- •Построение формулы.
- •Изменение формулы.
- •Стиль и размер символов в формуле.
- •Компьютерные сети
- •Передача данных по сети
- •Аппаратные средства передачи данных
- •Архитектура компьютерных сетей. Понятие “открытая система”
- •Модель osi
- •Глобальная компьютерная сеть Интернет
- •История появления сети Интернет
- •Адресация компьютеров в Интернет
- •Доменная система имен
- •Служба World Wide Web (www)
- •Электронная почта
- •Табличный процессор Microsoft Excel
- •История развития табличных процессоров
- •Возможности табличного процессора Excel
- •Структура документа Excel
- •Типы данных в Excel
- •Запуск программы Excel
- •Интерфейс пользователя
- •Ввод и редактирование данных
- •Выделение ячеек
- •Копирование и перемещение ячеек
- •Форматирование ячеек
- •Вычисления в таблице Excel
- •Построение диаграмм
- •Обобщенная технология работы в табличном процессоре
- •Примеры использования функции “если” в Excel
- •Основные понятия информационных систем
- •Понятие «информационная система»
- •Банки данных
- •Базы данных
- •История развития баз данных
- •Структурные элементы базы данных
- •Виды моделей данных
- •Реляционный подход к построению инфологической модели
- •Понятие «информационный объект»
- •Нормализация отношений
- •Понятие «нормализация отношений»
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Построение инфологической модели
- •Архитектура субд
- •Проектирование баз данных
- •Система управления базами данных
- •Субд Microsoft Access
- •Особенности пользовательского интерфейса ms access
- •Основные объекты ms access
- •Обслуживание магнитных дисков
- •Накопители на гибких магнитных дисках
- •Структура магнитного диска (на примере дискеты)
- •Форматирование дискет
- •Правила обращения с дискетой
- •Программы для обслуживания магнитных дисков
- •Проверка диска
- •Дефрагментация файловой системы
- •Компьютерные вирусы
- •Методы борьбы с компьютерными вирусами
- •История развития антивирусных программ
- •Современные программы для защиты от вирусов
- •Основные этапы решения задач на компьютере
- •Языки программирования
- •Язык программирования Паскаль
- •Алфавит и лексическая структура языка паскаль
- •Структура паскаль - программы.
- •Типы данных в языке программирования паскаль
- •Перечень типовых данных в Турбо Паскале.
- •Целочисленные типы данных
- •Вещественные типы данных
- •Операторы языка программирования паскаль
- •Простые операторы
- •Оператор присваивания
- •Оператор безусловного перехода
- •Оператор вызова процедуры
- •Структурные операторы
- •Составной оператор.
- •Условные операторы
- •Примеры программ
- •Операторы цикла в языке программирования Паскаль
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Примеры программ
- •Массивы в языке программирования паскаль
- •Понятие массива
- •Одномерные массивы
- •Двумерные массивы
- •Процедуры в языке программирования паскаль
- •Описание процедуры и обращение к ней
- •Параметры - значения и параметры - переменные
- •Процедуры функции в языке программирования паскаль
- •Описание функции и обращение к ней
- •Строки в языке программирования паскаль
- •Литерный тип (char) в языке программирования Паскаль
- •Строковый тип (string) в языке программирования Паскаль
- •Строковые процедуры и функции в Турбо-Паскале
- •Примеры программ
- •Рекомендуемая литература
-
Двумерные массивы
Двумерные массивы в математике представляются матрицей:
или сокращенно можно записать:
, где
число строк;
число столбцов;
индексы (номера) текущих строки и столбца, на пересечении которых находится элемент .
Описание двумерного массива
Описание матрицы в разделе VAR задается структурным типом вида:
<имя массива>: ARRAY [m1..m2, n1..n2] OF <тип элементов>;
m1..m2 – диапазон значений индекса i, определяющий число строк;
n1..n2 – диапазон значений индекса j, определяющий число столбцов.
По описанию матрицы во внутренней памяти компьютера выделяется область из () последовательных ячеек, в которые при работе программы записываются значения элементов матрицы. Например, по описанию:
Var
A: array [1..3, 1..5] of real;
в памяти компьютера выделяется область, состоящая из последовательных ячеек, для записи элементов матрицы вещественного типа. Из описания видно, что матрица состоит из трех строк и пяти столбцов.
Обращение к отдельным элементам матрицы осуществляется с помощью переменной с двумя индексами, например:
;
;
.
Ввод-вывод двумерного массива
Для поэлементного ввода и вывода матрицы используется двойной цикл FOR. Если задать индекс как параметр внешнего цикла, а индекс как параметр внутреннего цикла, то ввод-вывод матрицы осуществляется по строкам.
Пример 1. Организовать ввод целочисленной матрицы по строкам.
.
Описание матрицы вместе с текущими индексами имеет вид:
Var
M: array [1..2, 1..3] of integer;
i, j: integer;
Ввод в программе реализуется в форме диалога, т.е. сопровождается соответствующим сообщением:
Begin {начало программы}
writeln(‘Введите матрицу М’);
for i := 1 to 2 do
for j := 1 to 3 do read(m[i, j]);
…………
На клавиатуре нагляднее всего набирать элементы матрицы по строкам.
1 2 3 <Enter>
4 5 6 <Enter>
Пример 2. Организовать вывод матрицы M на экран.
Вывод матрицы надо реализовать в удобном для чтения виде, т.е. чтобы на одной строке экрана располагалась одна строка матрицы. С этой целью в тело внешнего цикла, помимо внутреннего, включается еще оператор WRITELN, который переводит курсор к началу следующей строки экрана после вывода текущей строки матрицы.
for i := 1 to 2 do
begin
for j := 1 to 3 do write(m[i, j]:3);
writeln
end;
Вид матрицы на экране будет следующим:
1 2 3
4 5 6
Обработка матриц
Базовыми алгоритмами обработки матриц являются те же алгоритмы, которые используются при обработке одномерных массивов. Однако реализацию этих алгоритмов можно условно рассматривать для двух типов задач.
-
Алгоритмы реализуются при обработке всех элементов матрицы.
-
Алгоритмы реализуются внутри каждой строки или каждого столбца матрицы.
Реализация алгоритмов для задач первого типа
Задача 1. Дана матрица вещественных чисел . Вычислить значение , где P1 и P2 – произведения положительных и отрицательных элементов матрицы соответственно.
Program DМ_1;
Var
A: array [1..4, 1..6] of real;
i, j: integer;
P1, P2, Z: real;
Begin
writeln(‘Введите матрицу А’);
for i := 1 to 4 do
for j := 1 to 6 do read(a[i,j]);
P1 := 1;
P2 := 1;
for i := 1 to 4 do
for j :=1 to 6 do
begin
if a[i,j]>0 then P1 := P1 a[i,j];
if a[i,j]<0 then P2 := P2 a[i,j];
end;
Z := P1/abs(P2);
writeln(‘Z=’, Z:10:2);
End.
Задача 2. В квадратной целочисленной матрице вычислить модуль разности между числом нулевых элементов, стоящих ниже главной диагонали, и числом нулевых элементов, стоящих выше главной диагонали.
Введем обозначения:
L1 – число нулевых элементов ниже главной диагонали;
L2 – число нулевых элементов выше главной диагонали;
L= |L1-L2|.
Program DМ1_2;
Var
B: array [1..5, 1..5] of integer;
i, j, L1, L2, L: integer;
Begin
writeln(‘Введите матрицу B’);
for i := 1 to 5 do
for j := 1 to 5 do read(b[i,j]);
L1 := 0;
L2 := 0;
for i := 1 to 5 do
for j := 1 to 5 do
if b[i,j]=0 then
begin
if i>j then L1 := L1+1;
if i<j then L2 := L2 +1;
end;
L := abs(L1 – L2);
writeln(‘L=’, L);
End.
Реализация алгоритмов для задач второго типа
Задача 1. В матрице вещественных чисел первый элемент каждой строки поменять местами с минимальным элементом этой строки. Вывести матрицу Х после обмена.
Program DМ2_1;
Var
X: array [1..3,1..6] of real;
i, j, jmin: integer;
min: real;
Begin
writeln(‘Введите матрицу X’);
for i:= 1 to 3 do
for j := 1 to 6 do read(x[i,j]);
for i:=1 to 3 do
begin
min:=+1E6;
for j:=1 to 6 do
if x[i,j]<min then
begin
min:=x[i,j];
jmin:=j;
end;
x[i,jmin]:=x[i,1];
x[i,1]:=min;
end;
for i:=1 to 3 do
begin
for j:=1 to 6 do write (x[i,j]:6:1);
writeln;
end;
End.
Задача 2. Дана матрица вещественных чисел . Вычислить среднее арифметическое каждого столбца. Результат оформить в виде одномерного массива .
Program DМ2_2;
Var
C: array [1..8, 1..4] of real;
S: array [1..4] of real;
i, j: integer;
Begin
writeln(‘Введите матрицу C’);
for i := 1 to 8 do
for j := 1 to 4 do read(c[i,j]);
for j := 1 to 4 do
begin
s[ j ] := 0;
for i := 1 to 8 do s[ j ]:= s[ j ] + c[i,j];
s[ j ] := s[ j ]/8;
end;
for j := 1 to 4 do write(s[ j ]:8:2)
writeln;
End.
В данной программе следует обратить внимание на то, что при вычислении каждого элемента s[j] организован двойной цикл, в котором индекс является внешним параметром цикла, а индекс внутренним. Это обеспечивает обработку элементов матрицы по столбцам.