- •Вопросы государственного экзамена
- •1. Архитектура эвм
- •2. Процессор
- •3. Периферийные устройства эвм. Внешние запоминающие устройства
- •4. Организация прерываний в эвм
- •1. Информатика и информация
- •2. Обеспечение целостности и безопасности информации
- •3. Программное обеспечение (по)
- •1. Назначение и функции oc
- •1. Первый период (1945–1955 гг.). Ламповые машины.
- •2. Второй период (1955 г.– начало 60-х). Эвм на основе транзисторов.
- •3. Третий период (начало 60-х – 1980 г.). Эвм на основе интегральных микросхем.
- •4. Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •2. Процессы
- •3. Организация памяти компьютера
- •2.Один процесс в памяти
- •3.Оверлейная структура
- •4.Динамическое распределение. Свопинг
- •5.Схема с переменными разделами
- •4. Система управления вводом-выводом
- •1. Критерии качества программ
- •2. Процессы жизненного цикла программных средств
- •3. Семантический подход к языкам программирования
- •Перегрузка процедур и функций
- •Множественное наследование
- •Шаблонные функции
- •Обработка исключений
- •4. Основные структуры программирования
- •Операторы действия
- •Оператор цикла
- •Подпрограмма
- •5. Структурные типы данных в языках программирования
- •Массивы
- •Записи (структуры)
- •Множества
- •6. Этапы развития технологии программирования
- •1. Представление математических объектов в системах компьютерной алгебры
- •2. Алгоритм Евклида
- •3. Модулярная арифметика
- •4. Вычисление полиномов
- •5. Нахождение нод полиномов от одной переменной
- •1. Понятие информации формы её представления
- •2. Энтропия
- •3. Количество информации
- •1 Комбинаторный подход
- •2 Вероятностный подход
- •3 Алгоритмический подход
- •4. Кодирование
- •5. Сжатие данных
- •6. Помехоустойчивое кодирование
- •1. Html
- •Id и name
- •Idref и idrefs
- •2. Основы JavaScript
- •3. Основы web-дизайна
- •4. SharePoint 2010
- •1. Функции, процедуры и службы управления учебным процессом
- •2. Состав и функции подсистем ису
- •3. Технологии проектирования ис
- •4. Основные направления информатизации процесса обучения
- •1. Системный подход в моделировании
- •2. Стохастическое моделирование
- •3. Имитационное моделирование
- •4. Агентное моделирование
- •1. Методы представления знаний
- •3. Экспертные системы
- •4. Логическое программирование
- •1. Процесс проектирования информационных систем в образовании
- •2. Этапы проектирования информационных систем в образовании
- •3. Управление проектированием информационных систем в образовании
- •4. Анализ компромиссов и рисков программного проекта
- •5. Uml как язык объектно-ориентированного проектирования
- •1. Основные задачи и базовые понятия теории систем
- •2. Системный подход к исследованию систем
- •3. Методы описания информационных систем
- •4. Моделирование и проектирование информационных систем
- •5. Информационные модели принятия решений
4. Основные структуры программирования
Операторы действия, ветвление, циклы, подпрограммы на примере любого языка программирования.
Операторы действия
Инструкция или оператор – наименьшая автономная часть языка программирования; команда. Программа обычно представляет собой последовательность инструкций.
Например C#: if, if-else, while, do-while, for, switch-case, return и т.д. Также операторам можно считать объявление переменной (int a).
Оператор ветвления
Оператор ветвления (условная инструкция, условный оператор) — оператор, конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения.
if (a == b) { … } else { … } |
if a = b then begin … end else begin … end; |
Оператор цикла
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций.
В Object Pascal циклы бывают: c предусловие(while), с постусловием (repeat .. until), цикл с параметром (for).
for (int i = 0; i < 10; i++) { … } |
for i := 0 to 10 do begin … end; |
while (true) { … } |
while условие do begin … end; |
|
Repeat ... Until условие выхода; |
Подпрограмма
Подпрограмма - автономная часть программы, реализующая определенный алгоритм, и допускающая обращение к себе из различных частей основной программы. Подпрограмма может быть многократно вызвана из разных частей программы. В языке Object Pascal имеется две разновидности подпрограмм: процедуры и функции.
Функции представляют собой группу операторов, в результате выполнения которых вычисляется одно значение. Возвращаемое значение в теле функции может присваиваться или имени функции или специальной предопределенной системной переменной Result, которую не нужно описывать, но которой можно пользоваться в теле функции.
Процедуры используются в тех случаях, когда в подпрограмме необходимо получить несколько результатов, либо не одного.
void print(string str) { Console.WriteLine(str); } |
PROCEDURE <имя процедуры> (<список формальных параметров>); BEGIN <Операторы тела процедуры> END;
|
|
FUNCTION <имя функции> (<список формальных параметров>): <тип возвращаемого значения>; BEGIN <Операторы тела функции> END;
|
Литература: [1], [2].
5. Структурные типы данных в языках программирования
Массивы, строки, файлы, записи, множества на примере любого языка программирования.
Массивы
Массив – набор однотипных компонентов (элементов), расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (индексам).
Массивы бывают одномерные и двумерные.
Описание массивов:
Статическое (размер фиксирован и определён до начала программы)
Динамическое (размер можно задать в ходе выполнения программы)
Пример, описывающий массив целых чисел из 10 элементов:
int[] array = new int[10]; |
Статические массив из 10 символов var arr: array [1..10] of integer; |
|
Динамический массив var DinMass: array of Real; Для работы с массивом надо выделить место в памяти с помощью процедуры: SetLength(DinMass, n); n - количество элементов в массиве.
|
|
Двумерный динамический массив Type Mas = array of array of Real; Var a: Mas; |
|
Двумерный статический массив: Var a: array [1..M, 1..N] of integer; |
Строки
Строка – тип данных, значениями которого является произвольная последовательность символов алфавита. Чаще всего представляет массив символов.
Обращение к элементу массива происходит как в массиве. Например, str[i]
К строкам можно применять операцию сцепления "+", операции отношения =, <, <, и др.
Функции: копирование (copy), нахождение длины строки (length), поиск подстроки в строке (pos), удаление подстроки (delete), функции преобразования значения строки в число и обратно.
Пример:
string str = “Hello, World!”; |
Var str: String;
|
Файлы
Под файлом понимается именованная область внешней памяти ПК (жесткого диска, гибкого диска, диска CD-ROM).
Типы файлов:
типизированные файлы <имя> : File of <тип>; (указан тип компоненты)
текстовые файлы <имя> : TextFile; (совокупность строк переменной длины)
нетипизированные файлы <имя> : File; (отличаются тем, что для них не указан тип компонентов)
Доступ осуществляется с помощью связывания файла с файловой переменной AssignFile. Открытие файла для чтения - Reset. Перезапись - Rewrite. Открытие для дозаписи - Append. Read - считывание. Write - запись. CloseFile - закрытие.
Для текстовых также применяются процедуры readln и writeln.
При работе с нетипизированными файлами могут применяться все процедуры и функции, доступные типизированным файлам, за исключением Read и write, которые заменяются соответственно высокоскоростными процедурам BlockRead , BlockWrite.
Пример программы чтения строк из файла:
StreamReader f = new StreamReader(“file.txt”); while (!f.EndOfStream) { Console.WriteLine(f.ReadLine()); } f.Close(); |
var f: textfile; s: string; begin assignfile(f, “file.txt”); reset(f); while not(eof(f)) do readln(f, s); closefile(f); end. |