- •Информатика
- •Информация и информатика
- •Кодирование данных двоичным кодом
- •Структуры данных
- •Устройство персонального компьютера
- •Структурная схема пк
- •Архитектура современных программных средств
- •Прикладное программное обеспечение
- •Средства обработки текстовой информации
- •Средства обработки графической информации
- •Средства численных и символьных вычислений
- •Табличная обработка информации (электронные таблицы)
- •Системы управления базами данных (субд)
- •Основные положения
- •Архитектура субд
- •Иерархическая и сетевая даталогические модели субд
- •Реляционные даталогические модели субд
- •Системы управления базами знаний и экспертные системы
- •Пользователь
- •Системы распознавания образов и принятия решений
- •Word 2007: офисная эволюция
- •Меню Office
- •Лента и панель быстрого доступа
- •Мини-панель инструментов
- •Строка состояния
- •Упрощенное создание списков
- •Работа с графикой
- •Объекты SmartArt
- •Темы документа
- •Сохранение в Open Document, pdf и xps
- •Анализ и представление информации
- •Универсальный язык программирования
- •Структура программы. Алфавит. Простейшие конструкции. Выражения
- •Типы данных
- •Примеры операций, допустимых над данными перечисляемого типа:
- •Примеры операций, допустимых над данными интервального типа.
- •Примеры операций, допустимых над данными целого типа
- •Примеры операций, допустимых над данными логического типа.
- •Примеры операций, допустимых над данными символьного типа.
- •Основные операторы
- •Оператор выбора Case
- •0:Writeln(‘Ноль’);
- •1,3,5,7,9:Writeln(‘Нечетное’);
- •2,4,6,8:Writeln(‘Четное’)
- •Организация ввода-вывода
- •Структурированные типы данных: массивы
- •Процедуры и функции
- •Математический процессор Mathcad
- •Компьютерные сети локальные сети
- •Цели создания и преимущества использования локальных компьютерных сетей
- •Особенности организации локальных сетей
- •Одноранговая сеть
- •Сеть с выделенным сервером
- •Топология локальных сетей
- •Топология "кольцо"
- •Топология «шина»
- •Топология "звезда"
- •Методы доступа и протоколы передачи данных в локальных сетях
- •Глобальная сеть интернет
- •Классификация сервисов Internet
- •Электронная почта
- •Сетевые новости Usenet
- •Списки рассылки
- •Система гипермедиа www
- •Система адресации в Internet
- •Доменная система имен
- •Универсальные указатели ресурсов
- •Схемы адресации ресурсов internet
- •Приемы и методы работы со сжатыми данными
- •Алгоритм rle
- •Алгоритм kwe
- •Алгоритм Хаффмана
- •8 Значений
- •16 Значений
- •128 Значений
- •Синтетические алгоритмы
- •Вредоносные программы и борьба с ними
- •Компьютерные вирусы
- •Происхождение термина
- •Классификация
- •Канал распространения
- •Сетевые и файловые черви
- •Троянские программы
- •Антивирусные средства
- •Методы обнаружения вирусов
- •Классификация антивирусов
- •Антивирусные компании и программы
- •Сканер eset nod32 – защита от всех известных вирусов, червей, шпионов и Троянов
- •Spybot-Search&Destroy 1.4 – служба «внутренней контрразведки»
Структурированные типы данных: массивы
Массив - совокупность конечного числа данных одного типа, объединенных общим именем.
Одномерный массив - вектор
AA1, A2, A3, ... AN B B1, B2, B3, ..., BM
0.1, 0.5, 0.7, ..., 1.9 12, 34, 56, ..., 13
A[I],B[J] - элементы массива, где I - индексы, указывающие номер или место данного элемента в массиве.
Описание одномерного массива
Var <имя массива>: array [<диапазон изменения индекса>] of <тип элементов>;
Размерность массива может быть любой, элементы массива могут быть любого, в том числе и структурированнного типа, индекс может быть любого ординального типа, кроме типа Longint.
Пример
Var A: array [1..4] of real; Type MAS1=array[1..4] of real;
B: array [1..3] of integer; MAS2=array[1..3] of integer;
Var A: MAS1;
B: MAS2; или
Type I1=1..4;
I2=1..3;
MAS1=array[I1] of real;
MAS2=array[I2] of integer;
Var A: MAS1;
B: MAS2;
Пример
for I:=1 to 4 do for I:=1 to 4 do
Read(A[I]); или begin
Writeln(‘A[‘,I,’]=’);
Read(A[I])
end;
{Ввод элементов одномерного массива}
Пример
{Вывод элементов одномерного массива}
for J:=1 to 3 do for J:=1 to 3 do
Write(B[J]:3); Writeln(‘B[‘,J,’]=’,B[J]:3);
{в строку 12 34 56} {в столбец B[ 1]= 12
B[ 2]= 34
B[ 3]= 56}
Двумерный массив - матрица
D11 D12 D13 1 3 2
D=
D21 D22 D23 4 6 7
D[I,J] - элемент матрицы, I- номер строки, J- номер столбца.
Описание двумерного массивa
Var <имя массива>: array[<диапазон строк>,<диапазон столбцов>]
of <тип элементов>;
Пример
Var D:array[1..2,1..3] of integer; или Type MATR=array[1..2,1..3] of integer;
Var D: MATR;
Type ST=array[1..2] of integer;
MATR=array[1..3] of ST;
Var D: MATR;
Пример
for I:=1 to 2 do
for J:=1 to 3 do
Read(D[I,J]); {Последовательность ввода: 1 3 2 4 6 7}
{Ввод элементов двумерного массива}
Пример
{Вывод элементов двумерного массива}
for I:=1 to 2 do
for J:=1 to 3 do
Write(D[I,J]); {вывод в строку 1 3 2 4 6 7}
или
for I:=1 to 2 do
begin Writeln;{переход на новую строку}
for J:=1 to 3 do
Write(D[I,J]) {вывод элементов строки}
end; {результат вывода: 1 3 2
4 6 7 }
Процедуры и функции
В среде Turbo-Pascal имеются две разновидности подпрограмм - процедуры и функции. Структура подпрограммы аналогична структуре программы в целом.
Подпрограмма должна быть описана до того, как она будет использована в основной программе или другой подпрограмме. Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и
глобальные- объявленные в основной программме и доступные как основной программе, так и всем ее подпрограммам.
Формальное описание функции
function <имя функции> (<список формальных параметров>):<тип функции>;
<секция описаний локальных переменных>;
begin
<секция операторов>
end;
где <имя функции> - идентификатор, к которому предъявляются те же требования, как к любому идентификатору в среде Turbo-Pascal;
<список формальных параметров> - все параметры в списке указываются вместе со своим типом (одного типа через запятую; различные типы через точку с запятой). Тип параметров в списке может быть любой. Как частный случай, функция может быть без параметров.
<тип функции> - задается обычным способом и может быть любым простым или String.
Вызов функции
Вызов функции может осуществляться из основной программы или другой подпрограммы.
< имя переменной>:= <имя функции>(<список фактических параметров>);
или в операторе вывода
Write( <имя функции>(<список фактических параметров>));
<cписок фактических параметров> - представляет собой, перечисленные через запятую значения, которые при обращении заменяют соответствующие формальные параметры в описании функции.
Следует обратить внимание на то, что количество, тип и порядок расположения фактических параметров в обращении к функции обязательно должен совпадать с количеством , типом и порядком расположения формальных параметров в описании функции.
Пример
Var XN : real;
NN : word;
{Подпрограмма-функция вычисления XN}
function Ipow(X: real; N: word) : real;
Var I : word;
M: real;
Begin
M:=1;
for I:=1 to N do
M:=M * X;
Ipow:=M
end;
{Основная программа}
Begin
Readln(XN,NN);
Writeln(‘Значение функции = ‘, IPow(XN,NN))
end.
Как ранее указывалось, тип формальных параметров может быть любым, однако в заголовке подпрограммы нельзя вводить новый тип, так нельзя писать:
function Max(A : array [1..50] of real): real;
Правильно в основной программе ввести новый тип, а затем использовать его в заголовке подпрограммы:
Type MASS = array [1..50] of real;
function Max(A : MASS) : real;
Формальное описание процедуры
procedure <имя процедуры>(<список формальных параметров>);
<секция описания локальных переменных>;
begin
<секция операторов>
end;
В отличие от формального описания функции, в заголовке процедуры отсутствует понятие <тип>, так как имя процедуры не является носителем формального результата. Результаты выполнения процедуры могут быть множественны и указываются в списке формальных параметров в качестве параметров-переменных.
В качестве формальных параметров наиболее часто встречаются параметры-значения и параметры-переменные.
Параметры-значения передаются основной программой в подпрограмму через стек в виде их копий и, следовательно, собственный параметр программы подпрограммой изменится не может.
При передаче параметров-переменных в подпрограмму фактически через стек передаются их адреса в порядке, объявленном в заголовке подпрограммы. Следовательно, подпрограмма имеет доступ к этим параметрам и может их изменять, поэтому результаты выполнения процедуры должны указываться в списке формальных параметров именно в качестве параметров-переменных.
Параметр-переменная указывается в заголовке процедуры аналогично параметру-значению, но только перед именем параметра записывается ключевое словоVar.
procedure MaxMin(A:MASS; Var Max,Min:real);
Здесь A - параметр-значение; Max, Min - параметры-переменные.
Вызов процедуры
Для вызова процедуры из основной программы или другой подпрограммы используется отдельный оператор следующего вида:
<имя процедуры>(<список фактических параметров>);
Требования к списку фактических параметров в процедуре предъявляются те же, что и в подпрограмме-функции.
Пример
Var N: integer;
S: real;
{Подпрограмма-процедура вычисления суммы ряда
1/3 + 1/5 + 1/7 + ... + 1/(2*I+1) }
procedure Summa(Kol:integer; Var Sum:real);
Var I:integer;
Begin
Sum:=0;
for I:=1 to Kol do
Sum:=Sum+1/(2*I+1)
end;
{Основная программа}
Begin
Readln(N);
Summa(N,S);{вызов процедуры}
Writeln(‘Сумма ряда =’, S)
end.