- •История развития эвм.
- •Архитектура эвм. Основные устройства и принципы взаимодействия.
- •Типовые структуры эвм.
- •Система счисления. Способ представления любого числа с помощью цифр.
- •Структурная организация эвм или три иерархических уровня или функциональной части эвм.
- •Раздел 1. Технология проектирования программных продуктов. Алгоритмизация.
- •Программная часть пк.
- •Шаблоны файлов.
- •Структура файловой системы.
- •Принципы работы с программными продуктами.
- •Тема 1. Процессы жизненного цикла программных средств Введение
- •1 Область применения
- •1.2 Область распространения
- •1.3 Адаптация настоящего стандарта
- •1.4 Соответствие
- •1.5 Ограничения
- •2 Нормативные ссылки
- •3 Определения
- •4 Прикладное применение настоящего стандарта
- •4.1 Построение стандарта
- •5 Основные процессы жизненного цикла
- •5.1 Процесс заказа
- •5.2 Процесс поставки
- •5.3 Процесс разработки
- •5.3.1 Подготовка процесса,
- •5.4 Процесс эксплуатации
- •5.5 Процесс сопровождения
- •6 Вспомогательные процессы жизненного цикла
- •6.1 Процесс документирования
- •6.1.2 Проектирование и разработка
- •6.1.З Выпуск
- •6.2 Процесс управления конфигурацией
- •6.2.5 Оценка конфигурации
- •6.3 Процесс обеспечения качества
- •6.3.1 Подготовка процесса
- •6.3.2 Обеспечение продукта
- •6.4 Процесс верификации
- •6.5 Процесс аттестации
- •6.6 Процесс совместного анализа
- •6.7 Процесс аудита
- •6.8 Процесс решения проблем
- •7 Организационные процессы жизненного цикла
- •7.1 Процесс управления
- •7.2 Процесс создания инфраструктуры
- •7.3 Процесс усовершенствования
- •Раздел 3. Программирование в среде turbo pascal (система программирования)
- •Введение.
- •Общая характеристика системы.
- •Среда turbo pascal. Элементы диалоговой среды.
- •Система меню.
- •Search-поиск:
- •Window – окно:
- •Помощь f1:
- •Текстовый редактор.
- •Основные принципы работы с turbo pascal.
- •Язык программирования turbo pascal Структура программы.
- •Алфавит языка.
- •Синтаксис языка.
- •Запись текста программы.
- •Операции и выражения.
- •Встроенные (стандартные) функции языка turbo pascal.
- •Описание констант, переменных и типов .
- •Обзор типов данных.
- •Простые структурированные ссылочные процедурные объектные
- •Целый тип.
- •Понятие целочисленного выражения.
- •Вещественный тип.
- •Логический тип boolean.
- •Операции над логическими данными.
- •Символьный тип char.
- •Диапазон (ограниченный, интервальный).
- •Перечисляемый (перечислимый) тип.
- •Регулярный тип (массив) array.
- •Файловый тип.
- •Описание файлов
- •Чтение из файла.
- •Запись данных в файл.
- •Операции (действия) над файлами.
- •Текстовые файлы.
- •Запись (комбинированный тип данных) record.
- •Операции, выполняемые над записью.
- •Запись с вариантной частью.
- •Множественный тип (множества) set.
- •Операции множеств.
- •Строковый тип string.
- •Обработка операции строковых данных.
- •Типизированные константы.
- •Преобразование, совместимость типов.
- •Способы преобразования типов.
- •Эквивалентность типов.
- •Основы ввода/вывода.
- •Организация форматирования вывода.
- •Операторы языка.
- •Простые операторы.
- •Структурные операторы.
- •Оператор работы над записями with.
- •Операторы работы над записями.
- •Подпрограммы. Процедуры и функции. Блочная структура подпрограммы.
- •Правила по использованию подпрограмм
- •Общая структура подпрограмм
- •Механизм параметров
- •Вычисление значения функции. Завершение подпрограмм.
- •Предварительное описание подпрограмм.
- •Рекурсия и побочный эффект
- •Процедурный тип.
- •Правило использования процедурных типов
- •Директивы компилятора.
- •Модули.
- •Общая структура модуля.
- •Заголовок модуля и связь модулей друг с другом.
- •Интерфейсная часть.
- •Исполняемая часть(реализационная).
- •Инициирующая часть.
- •Компиляция модулей.
- •Стандартные модули.
Множественный тип (множества) set.
Множества – набор однотипных объектов , связанных друг с другом, или неупорядоченный набор элементов одного типа.
Давая один за другим элементы множества , мы тем самым описываем его. Тип может быть простой , а также перечислимый и ограниченный. Два множества эквивалентны , если все их элементы одинаковы, но порядок следования различен.
Тип называется базовым.
Объявление типа множества осуществляется следующим образом:
-
VAR <ИМЯ МНОЖЕСТВА>: SET OF <БАЗОВЫЙ ТИП>;
-
TYPE <ИМЯ ТИПА>=SET OF <ТИП>;
VAR <ИМЯ МНОЖЕСТВА>:<ИМЯ ТИПА>;
TYPE N=(1,3,5,7,9);
VAR K:SET OF N;
BEGIN
K:=[3...9];
Пример: TYPE B=SET OF BYTE;
VAR A:B;
Для обозначения множеств используются квадратные скобки. Если множество пустое, то пишут две квадратные скобки без элементов.
Операции множеств.
1.Операции объединения множеств.
А А+В AB
В
Объединением множеств называется множество состоящее из элементов принадлежащих множеству А и множеству В.
[1..5]+[1..8] [1..8]
[0..5]+[10..15] [0..5,10..15]
2.Пересечение множеств – множество, состоящее из элементов принадлежащих и А, и множеству В.
А А*В AB
В
[0..5]*[0..7]=[0..5]
3.Вычитание – множество, состоящее из элементов множества А, не принадлежащих множеству В.
А А-В А\В
В
4.Логическая операция проверки принадлежности множеству.
Пример: 2 IN [1..10,12] TRUE
5 IN [1,2,7,10] FALSE
Операцию проверки принадлежности удобно использовать для исключения более сложных проверок.
IF (CH=’A’) OR (CH=’B’)
OR (CH=’C’) THEN …
IF CH IN ‘A’..’D’ THEN …
5. Проверка множества на равенство, неравенство ; <= - проверка на вхождение множества из левого операнда (левой части) на множество из правого операнда; >= - проверка на вхождение множества из правой части в множество из левого операнда.
[1,2,3]>=[1,2] TRUE
Пример: применение множеств.
Из множества целых чисел 1..20 выделить множество чисел делящихся на 6 без остатка, делящихся без остатка на 2 или на 3.
PROGRAM EXAMPLE_17;
CONST N=20;
VAR N2, N3, N6, N23:SET OF BYTE; K:INTEGER;
BEGIN
N2:=[ ];
N3:=[ ];
FOR K:=1 TO N DO
BEGIN
IF K MOD 2=0 THEN N2:=N2+[K];
IF K MOD 3=0 THEN N3:=N3+[K];
END;
N6:=N2*N3;
N23:=N2+N3;
WRITELN(‘НА 6 ДЕЛЯТСЯ ЧИСЛА:’);
FOR K:=1 TO N DO
IF K IN N6 THEN WRITE (K:3);
WRITELN;
WRITELN(‘НА 2 ИЛИ НА 3 ДЕЛЯТСЯ ЧИСЛА:’);
FOR K:=1 TO N DO
IF K IN N23 THEN WRITE (K:3);
END.
Строковый тип string.
Это тип, определяющий множество цепочек символов или обобщенное понятие символьных массивов, позволяющих динамически изменять длину строк.
TYPE LINE=STRING[80 ];
VAR MYLINE: LINE;
BEGIN ДЛИНА
MYLINE:=’КОРОТКАЯ СТРОКА’;
MYLINE:=MYLINE+’…’; {ДОБАВЛЕНИЕ ТЕКСТА К MYLINE}