- •Министерство образования и науки рф
- •Оглавление
- •6.Проверка адекватности модели 48
- •7.Анализ результатов моделирования 49
- •Лекция 1 Предмет информатики. Основные составные части персонального компьютера. Понятие и представление информации. Принципы организации порядковых систем счисления.
- •Понятие информатика
- •Понятие информации
- •Представление данных в пэвм
- •Представление информации в компьютере
- •Принципы организации порядковых систем счисления
- •Позиционные и непозиционные
- •Правила перехода из системы в систему Алгоритм перевода целых чисел из системы с основанием р в систему с основаниемq:
- •Алгоритм перевода целого числа из десятичной системы счисления в систему счисления с произвольным основанием (р)
- •Алгоритм перевода целого числа из системы счисления с произвольным основанием (р) в десятичную систему счисления
- •Перевод дробных чисел из одной системы счисления в другую Алгоритм перевода правильной дроби с основанием р в дробь с основаниемq
- •Алгоритм перевода числа, заданного в виде правильной дроби из десятичной системы счисления в систему счисления с основание р.
- •Алгоритм перевода произвольных чисел
- •Перевод чисел из системы счисления с основанием 2 в систему счисления с основанием 2п и обратно Алгоритм перевода целых чисел
- •Алгоритм перевода дробных чисел
- •Алгоритм перевода произвольных чисел
- •Лекция 2
- •Арифметические и логические операции. Приоритет операций.
- •Логические основы.
- •Основы логики
- •Обозначения для логических связок (операций):
- •Логические операции
- •Логические операции и таблицы истинности
- •Порядок выполнения логических операций в сложном логическом выражении
- •Построение таблиц истинности для сложных выражений
- •Скнф и сднф
- •Алгоритмы получения формулы по таблице истинности сднф и скнф
- •Правила упрощения логических структур
- •Приоритет арифметико-логических операций
- •Лекция 3 Основные составные части пк. Файлы и файловые системы эвм. Операционные системы. Поколения эвм
- •Структура пк
- •Достоинствами пк
- •Основные характеристики пк
- •Устройство пк
- •Основные устройства системного блока
- •Типы процессоров
- •Внешняя (долговременная) память
- •Внешние устройства (устройства для ввода-вывода информации)
- •Файлы и файловые системы
- •Типы файлов
- •Операционная система (ос)
- •Лекция 4
- •Основные понятия моделирования
- •Основные виды моделей и их свойства
- •1.Основные виды моделей
- •2.Основные свойства моделей
- •Цели, принципы и технология моделирования
- •1.Цели моделирования
- •2.Основные принципы моделирования
- •3.Технология моделирования
- •4.Основные методы решения задач моделирования
- •5.Контроль правильности модели
- •Задачи моделирования
- •1.Постановка задачи моделирования
- •2.Концептуальная формулировка задачи
- •3.Построение математической модели
- •4.Выбор метода решения
- •5.Программная реализация модели на эвм
- •6.Проверка адекватности модели
- •7.Анализ результатов моделирования
- •Алгоритмизация и программирование Понятие алгоритма
- •Свойства алгоритма
- •Формы записи алгоритмов
- •Типы алгоритмов
- •Методология решения задач с помощью эвм
- •Классификация программных средств
- •Лекция 5 Данные в языке Turbo-Pascal7.0. Стандартные функции языкаTurbo-Pascal. Структура программы на языке Турбо Паскаль. ОператорыTurbo-Pascal. Программирование линейных алгоритмов.
- •Достоинствами языка Паскаль являются:
- •Алфавит языка
- •Данные – это простейшие объекты программной обработки.
- •Характеристики основных типов данных
- •Стандартные функции языка Турбо-Паскаль
- •Нестандартные функции
- •Структура программы на языке Турбо Паскаль
- •Оператор присваивания имеет следующую структуру:
- •Стандарты ввода – вывода данных
- •Составной оператор
- •Программирование линейных алгоритмов
- •Лекция 6
- •Процедуры Procedure
- •Условные операторы
- •Оператор ‘if-then’
- •Оператор ‘if-then-else’
- •Тройное ветвление
- •Оператор варианта ‘case…of’
- •Лекция 7 Циклические структуры. Вложенные циклы. Рекурсивные функции. Операторы прерывания.
- •Определенные циклы ‘for…do…’
- •Первая форма записи оператора foRс последовательным увеличением счетчика.
- •Вторая форма записи оператора foRcуменьшением счетчика:
- •Циклы с постусловием ‘repeat…until…’
- •Циклы с предусловием ‘while…do…’
- •Вложенные циклы
- •Рекурсивные функции
- •Операторы прерывания Операторы Break и Continue
- •Лекция 8 Обработка одномерных и двумерных массивов Понятие и описание массива
- •Примеры одномерного, двухмерного, трехмерного массивов
- •Способы ввода одномерных массивов:
- •Печать массива
- •Локальная обработка массива
- •Глобальная обработка массива
- •Инверсия
- •Циклический сдвиг
- •Вычисление среднее арифметическое, среднее геометрическое, среднее квадратичное среднее гармоническое
- •Сортировка массива
- •Сортировка одномерного массива методом пузырька
- •Пример. Сортировка обменом по возрастанию массива a из n целых чисел.
- •Обработка двумерных массивов
- •Литература Основная литература
- •Дополнительная литература
Вложенные циклы
Вложенные циклы – это структура, при которой один цикл вносится в другой. Пример рассмотрим на практическом занятии.
Рекурсивные функции
В ряде случаев удается создать цикл, не прибегая к операторам FOR-DO,REPEAT-UNTIL,WHILE-DOс помощью функции или процедуры, такие функции вызывающие сами себя, называют рекурсивными, а процесс их вычисления – рекурсией.
Пример. Вычислить: s=(1+sin(2++sin(3+…+sin(14+sin(15)))))
Структура похожа на матрешку: внешний синус sin(1+…) имеет аргументом следующий синусsin(2+…) и т.д. Введем функциюFUN, которая будет при вычислении синуса вызывать себя же, но для большего значения аргумента.
Program Recurcia;
Uses CRT;
Function Fun(x:Byte):Real;
Begin
If (x=15) Then Fun:=Sin(x)
Else Fun:=Sin(x+Fun(x+1));
End;
Begin
ClrScr;
Writeln('F= ',Fun(1):6:3);
Repeat Until Keypressed; End. Ответ: F=0.994
Операторы прерывания Операторы Break и Continue
введены в язык Турбо Паскаль версии 7.0 для удобного управления ходом цикла.
1)Break ([breik]перевод с англ. – прерывать)– выход из цикла, прерывание выполнения цикла.
2)Continue (перевод с англ. – продолжать) – переход к следующему шагу цикла.
Пример.Найти сумму S=2+4+6…, не превосходящую 100.
Заметим, что цикл по четным числам можно завести различными способами: Цикл FOR_DO с проверкой условия IF(Not ODD(i)); Цикл While_Do или Repeat_Until с увеличением параметра цикла на два Inc(i,2) и т. п. С использованием оператора “CONTINUE” возможна и другая логика – завести цикл FOR_DO по значениям, идущим подряд, но при появление нечетных значений переходить к следующей итерации цикла. Далее, когда сумма превысит 100, можно выйти из цикла с помощью BREAK. Тогда текст программы:
Program sum1;
Uses CRT;
Var
s: integer; i: byte;
Begin
ClrScr;
s:=0;
For i:=1 to High(Byte) do {Стандартные функции}
begin
if Odd(i) then Continue;
s:=s+i;
if (s>100) then break;
end;
s:=s-i;
Writeln(' s= ',s); Repeat Until Keypressed; End.
Лекция 8 Обработка одномерных и двумерных массивов Понятие и описание массива
Массив – это совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. Ячейки называются элементами массива. Все элементы пронумерованы по порядку, и этот номер называется индексом элемента массива. Все элементы массива имеют один и тот же тип данных. Сам массив при этом имеет имя – одно для всех элементов. Для обращения к конкретному элементу массива нужно указать имя массива и в квадратных скобках индекс элемента.
Описание массива
<Имя массива>:array[<тип индекса>] of <тип компонентов>;
<тип компонентов> - это тип данных, который имеет каждый элемент массива,
<тип индекса>-границы изменения индекса.
Var t:array[1..7] of integer;
Примеры одномерного, двухмерного, трехмерного массивов
Рассмотрим пример одномерного массива.
Type
Massive=array[1..7] of Integer;
Var
T: Massive;
Сейчас Massive - это тип, соответствующей последовательности из семи целочисленных чисел (одномерный массив длины 7):
-
t[1]
t[2]
t[3]
t[4]
t[5]
t[6]
t[7]
Индекс i=1 2 3 4 5 6 7
t[1] – обозначение 1-го элемента массива
Замечание. Попытка извлечь элемент с индексом, не лежащим в диапазоне от 1 до 7 приведут к сообщению об ошибке Constant out of Range (вне установленных рамок).
Двухмерный массивt[i,j] характеризуется двумя индексами .
t[1..4,1..7] – это двумерный массив размерности 4х7
Type
Matrix=array[1..4,1..7] of integer;
Var T:Matriix;
Трехмерный массивt[i,j,k] характеризуются тремя индексами – размерность 4х7х12, а тип описывается так:
Type
Massive=array[1..12] of integer;
Matrix=array[1..4,1..7] of integer;
Var
T:Matrix of Massive;
Замечание.В Паскале размерность массива практически неограниченна. Единственное ограничение заключается в том, что размер возникающей структуры не должен превышать примерно 64 КБ. Пример если массив состоит из вещественных чисел (6 байт), то их не может быть более 10797; аналогичный предел для чисел типа Integer (2 байта) – 32392.