
- •История развития эвм.
- •Архитектура эвм. Основные устройства и принципы взаимодействия.
- •Типовые структуры эвм.
- •Система счисления. Способ представления любого числа с помощью цифр.
- •Структурная организация эвм или три иерархических уровня или функциональной части эвм.
- •Раздел 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.
- •Операторы работы над записями.
- •Подпрограммы. Процедуры и функции. Блочная структура подпрограммы.
- •Правила по использованию подпрограмм
- •Общая структура подпрограмм
- •Механизм параметров
- •Вычисление значения функции. Завершение подпрограмм.
- •Предварительное описание подпрограмм.
- •Рекурсия и побочный эффект
- •Процедурный тип.
- •Правило использования процедурных типов
- •Директивы компилятора.
- •Модули.
- •Общая структура модуля.
- •Заголовок модуля и связь модулей друг с другом.
- •Интерфейсная часть.
- •Исполняемая часть(реализационная).
- •Инициирующая часть.
- •Компиляция модулей.
- •Стандартные модули.
Синтаксис языка.
-
Операнды – данные , с которыми выполняется данная операция.
-
Оператор – действия , которые должна выполнять ЭВМ
-
Метка используется для того, чтобы к ней можно было обратиться из любого места программы.
-
Комментарии: строка заключается в фигурные скобки, поясняющие действие.
Запись текста программы.
-
В языке нет четких правил разбивки текста на строки.
-
Написание каждого оператора целесообразно с новой строки.
-
Операторы одного уровня, находящиеся в разных строках, должны быть выровнены по вертикали.
Операции и выражения.
В любом языке программирования определенный набор операций возможен для определенного типа данных: арифметические (+ , - , * , / ) , логические операции ( AND, OR , NOT ). Это операции работы с логическим типом данных .
Выражения представляют собой последовательность действий (операндов), объединенных знаками операций.
Пример: если операнды целые или вещественные числа – выражение арифметическое, если логического типа ,то выражение будет логическим .
Примечание:
-
лучше если в выражение будут входить данные одинакового типа;
-
знак “*” ставить обязательно;
-
не могут стоять рядом два знака операций;
-
порядок вычислений выполняется в соответствии с приоритетом операции , как в математике .
Результатом логических выражений могут быть две константы или два значения: истина и ложь (TRUE и FALSE).
Встроенные (стандартные) функции языка turbo pascal.
Аналогичны элементарным функциям математического анализа и некоторых других, составленные для наиболее часто встречаемых действий (встроенных в транслятор языка).
Таблица встроенных функций.
Функция |
Назначение |
Тип |
|
|
|
аргумента |
Функции |
ABS (X) |
Вычисление абсолютного значения Х |
REAL INTEGER |
REAL INTEGER |
SQR (X) |
Вычисление квадрата Х |
REAL INTEGER |
REAL INTEGER |
SIN (X) |
Вычисление синуса Х |
REAL INTEGER |
REAL REAL |
COS (X)
|
Вычисление косинуса Х |
REAL INTEGER |
REAL REAL |
ARCTAN (X) |
… |
… |
… |
EXP (X) |
Вычисление экспоненты Х |
REAL INTEGER |
REAL REAL |
EXP 10(X) |
Вычисление десятичной экспоненты Х |
REAL INTEGER |
REAL REAL |
LN (X) |
Вычисление натурального логарифма Х |
REAL INTEGER |
REAL REAL |
LOG (X) |
Вычисление десятичного логарифма Х |
REAL INTEGER |
REAL REAL |
SQRT (X) |
Вычисление квадратного корня из Х |
REAL INTEGER |
REAL REAL |
A DIV B
A MOD B |
Вычисление частного при делении А на В Вычисление остатка при делении А на В |
INTEGER |
INTEGER |
TRUNC (X) |
Нахождение целой части числа |
REAL INTEGER |
INTEGER INTEGER |
ROUND (X) |
Округление Х в сторону ближайшего целого |
REAL INTEGER |
INTEGER INTEGER |
FRAC (X) |
Вычисление дробной части числа Х |
REAL |
REAL |
INT (X) |
Вычисление целой части действительной величины |
REAL |
REAL |
ODD (X) |
TRUE , если Х – нечетное FALSE , если Х – четное |
INTEGER |
BOOLEAN |
ORD (X) |
Нахождение порядкового номера элемента Х в перечне допустимых типов |
BOOLEAN |
INTEGER |
|
ORD(X)=X выбор аргумента |
INTEGER |
INTEGER |
CHR (X) |
Определение символа по его порядковому номеру |
INTEGER |
CHAR |
SUCC (X) |
Нахождение элемента, являющегося следующим для заданного |
INTEGER BOOLEAN CHAR |
INTEGER BOOLEAN CHAR |
PRED (X) |
Нахождение элемента, являющегося предыдущим для заданного |
Перечислимый тип |
|
EOF (F) |
TRUE , если FILE (F) находится в состоянии окончания, FALSE , если F не закончен |
FILE |
BOOLEAN |
EOLN(F) |
TRUE , FALSE проверка файла на окончание строки |
FILE |
BOOLEAN |
RANDOM (X) |
Возвращает случайное число от 0 до Х |
INTEGER |
INTEGER |
INTEGER- целое
BOOLEAN-логическое
FILE- файловый
REAL- вещественный
Пример использования RANDOM.
PROGRAM A1;
VAR I: INTEGER
BEGIN
FOR I:=1 TO 10 DO {Цикл}
WRITEN(“случайное число из диапазона от 5 до 7 равно” ;RANDOM(2)+5 ); {вывод}
END.
Математическая процедура RANDOMIZE – обеспечивает несовпадение последовательности случайных чисел , инерцируемых функцией RANDOM.
Примечание: если рользуемся функцией RANDOM без предварительного использования процедуры RANDOMIZE , то при каждом последующем перезапуске программы цепочка случайных чисел будет повторяться.
Задача 1. По заданному радиусу R определить длину окружности и площадь круга.
R Ввести с экрана и результат вывести на экран.
PROGRAM P1;
CONST PI=3.14;
VAR R, L, S: REAL;
BEGIN READLN (R);
L:=2*PI*R;
S:=PI*R*R;
WRITELN(L,S);
END.
Задача 2. Определить квадрат числа А и вывести на печать .
PROGRAM N1 ;
VAR A: INTEGER;
BEGIN
WRITELN (SQR(A));
END.
Задача 3. Для введенного с экрана числа определить его квадрат с размещением
результата в операционной памяти.
PROGRAM T1;
VAR A,REZ:INTEGER;
BEGIN
READ (A);
REZ:= SQR (A);
WRITELN(‘ квадрат числа =’,REZ);
END.
Задача 4. Вычислить квадратный корень числа А.
PROGRAM B1;
VAR A:INTEGER;REZ:REAL;
BEGIN
READ (A);
REZ:= SQRT (A);
WRITELN(‘ корень квадратный = ’,REZ);
END.
Задача 5. Взять целую часть от корня числа А.
PROGRAM P1;
VAR A : REAL ; REZ:INTEGER;COR:REAL;
BEGIN
READ (A);
REZ:= TRUNC (SQRT (A));
WRITELN(‘ целая часть = ’,REZ);
END.
Задача 6. Вычислить косинус числа А.
PROGRAM R1;
VAR A: REAL ; REZ:INTEGER;
BEGIN
READ (A);
REZ:= COS (A);
WRITELN(‘ косинус числа = ’,REZ);
END.
Задача 7. Определить сумму 1) двух чисел А и В, 2) двух целых чисел А и В,
вводя их с экрана
1) 2)
PROGRAM O1; PROGRAM L1;
CONST A=2; B=3; VAR A , B: INTEGER;
BEGIN BEGIN
WRITELN(A+B); READ (A,B);
END. WRITELN(A+B);
END.
Задача 8. Определить минимум из трех чисел А, В, С.
PROGRAM J1;
VAR A,B,C: REAL;
BEGIN
READ(A,B,C);MIN:=A
IF A>B THEN MIN:=B
ELSE
IF A>C THEN MIN:=C
ELSE
IF B>C THEN MIN:=C