- •История развития эвм.
- •Архитектура эвм. Основные устройства и принципы взаимодействия.
- •Типовые структуры эвм.
- •Система счисления. Способ представления любого числа с помощью цифр.
- •Структурная организация эвм или три иерархических уровня или функциональной части эвм.
- •Раздел 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.
- •Операторы работы над записями.
- •Подпрограммы. Процедуры и функции. Блочная структура подпрограммы.
- •Правила по использованию подпрограмм
- •Общая структура подпрограмм
- •Механизм параметров
- •Вычисление значения функции. Завершение подпрограмм.
- •Предварительное описание подпрограмм.
- •Рекурсия и побочный эффект
- •Процедурный тип.
- •Правило использования процедурных типов
- •Директивы компилятора.
- •Модули.
- •Общая структура модуля.
- •Заголовок модуля и связь модулей друг с другом.
- •Интерфейсная часть.
- •Исполняемая часть(реализационная).
- •Инициирующая часть.
- •Компиляция модулей.
- •Стандартные модули.
Общая структура подпрограмм
Описать подпрограмму- значить указать ее заголовок и тело.
Подпрограммы представимы в виде процедуры и функции.
Общий вид:
PROCEDURE< имя >(< список формальных параметров>);
FUNCTION<имя>(<список формальных параметров>):<тип результата>
Примеры:
PROCEDURE SWAP(VAR X,Y:BYTE);
FUNCTION MAX(A,B:BYTE):BYTE;
PROCEDURE PR;
Имея один и тот же смысл и аналогичную структуру, процедуры и функции различаются назначением и способом их использования. Процедуры служат для задания действий или операторов, направленных на изменение внешней подпрограммы.
Общий вид процедуры:
PROCEDURE< имя >(< список формальных параметров>);
CONST
TYPE
VAR {раздел описания констант, типов, переменных}
BEGIN
........................
END;
PR1(<список фактических параметров>);
Обращение к процедуре возможно большое число раз. Вызов процедуры на выполнение реализуется посредством оператора PROCEDURE .
Функция служит для определения алгоритма вычисления нового значения простого типа.
Структура функции:
FUNCTION<имя>(<список формальных параметров>):<тип результата>
CONST
TYPE
VAR {раздел описания констант, типов, переменных}
BEGIN
.............................
< имя функции >:=< выражение >;
END;
Функция должна иметь тип результата или тип возвращающего значения. Возвращающее значение - результат выполнения функции (оно может быть только одно ). В теле функции обычно перед END; обязательно присутствие оператора присваивания следующего вида:
< имя функции >:=< выражение >;
Допустим, F1:= SUM +A[I].
Выражение может быть посчитано до этого присваивания. Если этот оператор отсутствует, то возвращающее значение не будет определено.
Пример: возведение любого числа в любую вещественную степень.
PROGRAM EXAMPLE 23;
VAR
X,Y:REAL;
CH:CHAR;
FUNCTION POWER(A,B:REAL):REAL;
{фактические параметры Х и Y подставляются вместо формальных параметров А и В}
BEGIN
IF A>0 THEN
POWER:= EXP(B*LN(A));
ELSE
IF A<0 THEN
POWER:= EXP(B*LN(ABS(A)));
IF B=0 THEN
POWER:= 1
ELSE
POWER:= 0
END;
BEGIN{MAIN}
REPEAT
WRITELN('Вы желаете выполнить операцию возведения ');
WRITELN('числа Х в степень Y ? (Y/N) ');
READLN(CH);
IF (CH ='Y') OR (CH='Y') THEN
BEGIN
WRITELN('Введите числа Х и Y . Для окончания ввода ');
WRITELN('Нажмите клавиши CTRL +Z ');
READLN(X,Y);
WRITELN( POWER(X,Y):12:10);
{Вызов функции осуществляется при обращении к встроенной процедуре WRITELN , Х и Y в момент обращения к функции являются фактическими параметрами}
END.
Пример:
PROGRAM EXAMPLE _ 24;
TYPE STYPE = STRING[20];
VAR S:STRING[6];
{SV} {Отключение контроля}
FUNCTION PAS(VAR S:STYPE):STRING;
BEGIN
PAS:= S+ '.PAS';
END;
BEGIN{MAIN}
WRITELN('Введите имя файла ');
READLN(S);
END.
При записи фактических параметров:
1) число фактических параметров должно быть равно числу формальных параметров, имеющихся в описании процедуры;
2) каждому формальному должен соответствовать фактический параметр ( при соответствии типов);
3) если фактический параметр является входным данным, то он может задаваться в виде выражения; если он означает результат, то он может быть только именем.
Отличие процедур от функций:
- тип возвращающего значения у функции;
- оператор присваивания у функции;
- название оператора.
При описании подпрограммы в общем случае необходимо задать 3 компоненты:
- интерфейс подпрограммы (информация для ее вызова);
- локальный контекст подпрограммы ( описание типов, констант, переменных);
- операторы, составляющие смысл подпрограммы.