- •История развития эвм.
- •Архитектура эвм. Основные устройства и принципы взаимодействия.
- •Типовые структуры эвм.
- •Система счисления. Способ представления любого числа с помощью цифр.
- •Структурная организация эвм или три иерархических уровня или функциональной части эвм.
- •Раздел 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.
- •Операторы работы над записями.
- •Подпрограммы. Процедуры и функции. Блочная структура подпрограммы.
- •Правила по использованию подпрограмм
- •Общая структура подпрограмм
- •Механизм параметров
- •Вычисление значения функции. Завершение подпрограмм.
- •Предварительное описание подпрограмм.
- •Рекурсия и побочный эффект
- •Процедурный тип.
- •Правило использования процедурных типов
- •Директивы компилятора.
- •Модули.
- •Общая структура модуля.
- •Заголовок модуля и связь модулей друг с другом.
- •Интерфейсная часть.
- •Исполняемая часть(реализационная).
- •Инициирующая часть.
- •Компиляция модулей.
- •Стандартные модули.
Структурные операторы.
-
Составной: задает последовательное выполнение операторов, входящих в него в прямом порядке.
BEGIN
<ОПЕРАТОРЫ>
END;
IF X>0 THEN
BEGIN
Z:=SQRT(X);
K:=X*X;
WRITELN(Z,K);
END;
-
Условные: предназначены для выбора к исполнению 1 из 2-х возможных действий – операторов в зависимости от условия. При этом 1 из действий может отсутствовать(или THEN,или ELSE).
IF <ВЫРАЖЕНИЕ> THEN <ОПЕРАТОР>=ELSE<ОПЕРАТОР>
Порядок выполнения:
-
вычисляется выражение после IF, результат – логический тип.
-
При значении истины выполняется веточка THEN, в противном случае ELSE.
-
В случае отсутствия ELSE управление передается оператору следующему за условием.
Возможно сколько угодно уровней вложенности условных операторов. При этом ELSE относится к ближайшему IF.
Пример использования условного оператора:
Выполнить расчет площади в зависимости от значения идентификатора N:
N=1 – площадь треугольника;
N=2 – площадь прямоугольника;
N=3 – площадь трапеции.
PROGRAM EXAMPLE_5;
VAR
N:INTEGER; {N – ИДЕНТИФИКАТОР ГЕОМЕТРИЧЕСКОЙ ФИГУРЫ}
A,B,H,S:REAL;
BEGIN
WRITELN(‘ДЛЯ РАСЧЕТА ПЛОЩАДИ ТРЕУГОЛЬНИКА ВВЕДИТЕ N=1’);
WRITELN(‘ДЛЯ РАСЧЕТА ПЛОЩАДИ ПРЯМОУГОЛЬНИКА ВВЕДИТЕ N=2’);
WRITELN(‘ДЛЯ РАСЧЕТА ПЛОЩАДИ ТРАПЕЦИИ ВВЕДИТЕ N=3’);
READLN(N);
IF N<4 THEN {ПРОВЕРКА ПРАВИЛЬНОСТИ ВВЕДЕННОГО ЗНАЧЕНИЯ N}
BEGIN
WRITELN(‘ВВЕДИТЕ А,В,H’);
READLN(A,B,H);
IF N=1 THEN
BEGIN
S:=A*B/2;
WRITELN(‘ПЛОЩАДЬ ТРЕУГОЛЬНИКА S=’,S:5:2);
END;
ELSE
IF N=2 THEN
BEGIN
S:=A*B;
WRITELN(‘ПЛОЩАДЬ ПРЯМОУГОЛЬНИКА S=’,S:5:2);
END;
ELSE
BEGIN
S:=(A+B)*H/2;
WRITELN(‘ПЛОЩАДЬ ТРАПЕЦИИ S=’,S:5:2);
END;
END;
READLN;
END.
-
Оператор выбора или варианта: обобщение условного оператора для случая произвольного числа альтернатив. С помощью него можно сопоставить различные значения выражения соответствующим им операторам.
Общий вид:
CASE <ВЫРАЖЕНИЕ> OF
КОНСТ.1: <ОПЕРАТОР 1>,
КОНСТ.2 :<ОПЕРАТОР 2 >,
…
КОНСТ.N: <ОПЕРАТОР N>
ELSE <ОПЕРАТОР>
END;
Алгоритм выполнения:
-
вычислить условие в выражении
-
в зависимости от результата вычисления управление подается на 1 из ветвей, у которой константа равна результату выражения.
-
По этой ветви выполняется оператор
-
После выполнения CASE OF управление передается на оператор следующий за END.
Пример распечатки действия светофора:
CASE COLOR OF
RED:WRITELN(‘STOP’);
GREEN:WRITELN(‘STOY’)
END;
CASE N OF
10:Y:=X*X
20: …
Задача. По порядковому номеру дня недели распечатать названия.
CASE DAY OF
1:WRITELN(‘MONDAY‘),
2:WRITELN(‘TUESDAY‘),
3:WRITELN(‘WHENSDAY‘),
4:WRITELN(‘THURSDAY‘),
5:WRITELN(‘FRIDAY‘),
6:WRITELN(‘SANDAY‘),
7:WRITELN(‘SATURDAY‘)
END;
Для того чтобы задать некоторые действия для случая несовпадения значения выражения константам оператора используется ELSE. До END пишем ELSE: WRITELN(‘ОШИБКА’), далее пишем END. Все константы должны иметь тип тот же, что и у выражения.
-
Операторы цикла:
-
цикл с предусловием:
WHILE <ЛОГИЧЕСКОЕ УСЛОВИЕ> DO
BEGIN
<ОПЕРАТОРЫ ЦИКЛА>
END;
Пример:
А) WHILE M[I]<>0 DO
I:=I+1;
Б) WHILE X<=N DO
BEGIN
FACT:=FACT*X;
X:=X+1;
END;
Пример: использование оператора цикла с предварительным условием
PROGRAM EXAMPLE 6;
VAR
X:REAL;
K:INTEGER;
BEGIN
X:=0;
WHILE(COS(X)+SIN(X))>0 DO
BEGIN {Начало циклической части программы}
WRITELN('X=');
READLN(X);
END; {Конец циклической части программы}
WRITELN('X=',X:4:1,'Y=',(COS(X)+SIN(X)):4:1);
READLN
END.
WHILE DO задает повторяющееся выполнение оператора, содержащегося в нем.
Алгоритм выполнения цикла:
1) вычислить логическое выражение;
2) если результат эквивалентен истине (TRUE) , то выполняется тело цикла до бесконечности;
-
если результат логического выражения ложь(FALSE) цикл прекращается, передавая управление на следующий оператор.
Пример. Определить сумму элементов в одномерном массиве ,пока она не превысит Р.
(фрагмент)
I:=1
REPEAT
I:=I+1;
S:=S+A[I]
UNTIL S>P
Пример: вечный цикл.
S:=0;
REPEAT
I:=1;
I:=I+1;
S:=S+A[I];
UNTIL I=10;
- цикл с постоянным условием:
Общий вид: REPEAT
{BEGIN,END - не надо} <операторы цикла >
UNTIL<логическое выражение>
Пример:
REPEAT
PROC(X,Y+1);
I:=I+1;
UNTIL I=0;
Алгоритм выполнения:
1. Выполняется тело цикла.
2. Вычисляется логическое выражение или условие из "UNTIL".
3. Если результат эквивалентен лжи, то повторяется тело цикла.
4. Если - истина, то цикл прекращается.
Пример. Использование оператора цикла с последующим условием.
PROGRAM EXAMPLE 7;
VAR
CH:CHAR; {CH - буквы текста }
BEGIN
WRITELN(' Введите текст');
REPEAT {Начало циклической части программы}
READ(CH);
UNTIL(CH='.') OR (CH='? ') OR (CH='!');
{Конец циклической части}
END.
- цикл с параметром:
Общий вид: (DOWN TO)
FOR <параметр цикла>:= <начальное значение> TO <конечное значение> DO
BEGIN<операторы>
END;
Алгоритм выполнения:
1. Выполняется тело цикла.
2. Перебираются целые значения от начального до конечного
3. Действие передается на следующий оператор.
Пример цикла DOWN TO:
FOR I:= X+2 DOWN TO X-2 DO
BEGIN
M[I*2-1]:=FUNC(A,B);
PROC(M,I);
END;
