- •Котов владислав викторович доцент, профессор кафедры робототехники и автоматизации производства, доктор технических наук
- •1.Введение в информатику
- •1.1.История развития информатики
- •1.2. Структура курса. Рекомендуемая литература
- •1.3.История развития вычислительной техники
- •2.Понятие информации
- •2.1.Информация и её свойства
- •2.2.Дискретный источник информации
- •2.3.Мера информации по Хартли
- •2.4.Мера информации по Шеннону
- •3. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- •3.1.Процессы сбора, передачи, обработки и накопления информации
- •3.2.Этапы обращения информации в информационно-измерительных и управляющих системах
- •4.Технические средства реализации информационных процессов
- •4.1.Структура персонального компьютера
- •4.2.Периферийное оборудование персонального компьютера
- •5.Программные средства реализации информационных процессов
- •5.1.Виды программного обеспечения
- •5.2.Операционные системы. Организация и средства человеко-машинного интерфейса в ос Windows
- •5.3.Прикладное программное обеспечение
- •6.Способы представления и хранения текстовой и числовой информации
- •6.1.Хранение информации в компьютере. Кодирование символьных данных. Кодовые таблицы ascii, ansi, koi-8
- •6.2.Знаковые и позиционные системы счисления. Правила перевода чисел из одной системы счисления в другую
- •6.3.Основные арифметические операции в двоичной системе
- •6.4.Булева алгебра. Основные операции и правила булевой алгебры
- •7.Алгоритмизация и программирование
- •7.1.Понятие алгоритма
- •7.2.Основные условные элементы для создания схем алгоритмов
- •7.3.Примеры простейших алгоритмов
- •8.Языки программирования высокого уровня. Основы языка Паскаль
- •8.1.Языки программирования высокого уровня
- •8.2.Запись программы на Паскале
- •8.3.Основные типы данных в Паскале
- •8.4.Структура Паскаль-программы
- •9.Оператор присваивания. Ввод-вывод в программах на Паскале
- •9.1.Оператор присваивания. Запись арифметических выражений
- •9.2.Процедуры ввода данных с клавиатуры
- •9.3.Процедуры вывода данных на экран
- •Условный оператор
- •9.4.Алгоритмы с ветвлением
- •9.5.Структура и синтаксис условного оператора
- •9.6.Задание логических выражений для передачи управления
- •9.7.Составные условия с использованием логических операторов
- •Операторы циклов с неопределённым числом повторений
- •9.8.Назначение операторов циклов. Циклы с пред- и постусловием
- •9.9.Структура и синтаксис оператора while
- •9.10.Структура и синтаксис оператора repeat … until
- •Оператор цикла с параметром
- •9.11.Цикл с параметром. Структура и синтаксис оператора for
- •9.12.Примеры программирования итерационных алгоритмов
- •Диапазонный тип данных. Массивы
- •9.13.Диапазонные типы данных
- •9.14.Массивы. Описание и использование массивов
- •Процедуры и функции
- •9.15.Структурный подход к разработке программы. Подпрограммы
- •9.16.Понятие подпрограммы, виды подпрограмм в Паскале.
- •9.17.Синтаксис объявления и использования процедур
- •9.18.Синтаксис объявления и использования функций
- •9.19.Примеры использования подпрограмм на Паскале
- •9.20.Параметры-значения и параметры-переменные
- •Строковый тип данных
- •9.21.Общие сведения о работе со строками символов
- •9.22.Процедуры и функции обработки строк
- •Работа с файлами
- •9.23.Понятие файла. Типы файлов в Паскале
- •9.24.Инициализация файловых переменных
- •9.25.Процедуры открытия файлов
- •9.26.Ввод-вывод данных в файл и общие подпрограммы для работы
- •Работа с графикой
- •9.27.Графический и текстовый режимы работы видеоадаптера
- •9.28.Инициализация графического режима
- •9.29.Основные средства библиотеки Graph для работы с графикой
- •Программное обеспечение и технологии программирования
- •9.30.Технология структурного программирования
- •9.31.Принципы проектирования программ «сверху-вниз» и «снизу-вверх»
- •9.32.Модульный принцип программирования
- •9.33.Технология объектно-ориентированного программирования
- •9.34.Основные критерии оценки качества программ
- •Базы данных
- •9.35.Общее представление о базах данных
- •9.36.Основные понятия систем управления базами данных
- •9.36.1.Классификация субд
- •9.36.2.Основные функции субд
- •9.37.Уровни представления данных
- •9.38.Основные модели данных
- •9.38.1.Понятие модели данных
- •9.38.2.Типы структур данных
- •9.38.3.Сетевая модель данных (смд)
- •9.38.4.Иерархическая модель данных (имд)
- •9.39.Реляционные базы данных
- •Домен 1 . . .. . Домен 2 . . . . . . . . .Домен 3 (ключ) . . . .Домен 4 . . . ..Домен 5
- •9.39.1.Достоинства и недостатки рмд
- •9.39.2.Операции реляционной алгебры
- •Локальные и глобальные сети эвм
- •9.40.Понятие о сетях эвм
- •9.41.Классификация сетей: локальные и глобальные сети эвм
- •9.42.Понятие топологии. Виды сетевых топологий
- •9.43.Информационные технологии, основанные на сетях
- •Методы защиты информации
- •9.44.Основы защиты информации и сведений, составляющих государственную тайну
- •9.45.Организационные методы защиты информации
- •9.46.Криптографическая защита информации
- •Экономические и правовые аспекты информационных технологий
- •9.47.Система стандартов на программную документацию
- •9.48.Виды программ и программных документов
- •9.49.Основные стадии и этапы разработки программ и программной документации
9.17.Синтаксис объявления и использования процедур
Перед использованием любая процедура или функция должна быть описана в разделе процедур и функций. Структурно процедура аналогична целой программе: ее описание состоит из заголовка, разделов описания локальных констант, типов, переменны и.т.п. и блока операторов - тела процедуры.
В самом общем виде заголовок процедуры можно представить так:
Procedure имя_процедуры (список_формальных аргументов);
Имя_процедуры формируется по правилам, аналогичным для имен переменных. Список формальных аргументов представляет собой перечисление тех параметров, которые могут передаваться в процедуру из вызывающей программы. В частном случае он может вообще отсутствовать (при этом круглые скобки также опускаются).
Обращение к процедуре заключается в указании ее имени и перечислении фактических аргументов, которые будут соотнесены с формальными.
Рассмотрим простейший пример: B массиве X присвоить максимальному элементу нуле- вое значение и определить, как изменилось при этом среднее арифметическое значение элементов массива.
Program Middle1;
Const Nmax = 1000;
Type Ar = array[1..Nmax] of real;
Var i,imax, n : integer;
xmax, S,S1,S2,dS : real;
X : Ar;
Procedure MeanAr;
Var i : integer;
Begin
S:=0;
For i:=1 to n do
S:=S+X[i];
S:=S/n;
End { MeanAr };
Begin
read(n);
for i:=1 to n do read(X[i]);
MeanAr;
S1:=S; xmax:=X[1]; imax:=1;
For i:=2 to n do
If X[i]>xmax then
Begin
xmax:=X[i]; imax:=i;
End;
X[imax]:=0;
MeanAr;
S2:=S; dS:=S2-S1;
writeln('s1=',s1:0:2, 's2=', s2:0:2, 'ds=', ds:0:2);
End.
В данном случае блок процедуры имеет раздел описания переменных и раздел операторов. В разделе Var процедуры MeanAr повторно описывается переменная i, так как эта переменная используется в блоке процедуры как параметр цикла (как известно, параетр цикла должен быть описан в том же блоке, в котором расположен оператор For). Обращение к процедуре осуществляется указанием имени этой процедуры в основной программе.
9.18.Синтаксис объявления и использования функций
В отличие от процедур функции способны возвращать в точку вызова некоторый численный результат своей работы. Синтаксис описания функций во многом аналогичен рассмотренному выше синтаксису описания процедур. Основное отличие состоит в том, что в заголовке необходимо указать тип возвращаемого значения:
Function имя_функции (список_формальных_аргументов) : тип_результата;
Так же, как и в случае с процедурами, список формальных аргументов может отсутствовать.
Приведенный в предыдущем разделе пример можно (и целесообразно) реализовать с использованием функций. В этом случае он будет иметь вид:
Program Middle1;
Const Nmax = 1000;
Type Ar = array[1..Nmax] of real;
Var
i,imax, n : integer;
xmax, S1,S2,dS : real;
X : Ar;
function MeanAr : real;
Var
i : integer;
S : real;
Begin
S:=0;
For i:=1 to n do S:=S+X[i];
MeanAr := S/n;
End { MiddleAr1 };
Begin
read(n);
for i:=1 to n do read(X[i]);
S1 := MeanAr;
xmax:=X[1]; imax:=1;
For i:=2 to n do
If X[i]>xmax then
Begin
xmax:=X[i]; imax:=i
End;
X[imax]:=0;
S2 := MeanAr;
dS := S2-S1;
writeln('s1=',s1:0:2, 's2=', s2:0:2, 'ds=', ds:0:2);
End.
Обратите внимание на то, что результат работы функции возвращается путем присваивания искомого численного значения некой переменной, совпадающей с именем функции (в примере это строка MeanAr := S/n; ).
