Некоторые константы модуля const Black = 0; {Черный} Blue = 1; {Синий} Green = 2; {Зеленый} Cyan = 3; {Голубой} Red = 4; {Красный} Magenta = 5; {Фиолетовый} Brown = 6; {Коричневый} LightGray = 7; {Светло-серый} DarkGray = 8; {Темно-серый} LightBlue = 9; {Ярко-синий} LightGreen = 10; {Ярко-зеленый} LightCyan = 11; {Ярко-голубой} LightRed = 12; {Розовый} LightMagenta = 13; {Малиновый} Yellow = 14; {Желтый} White = 15; {Белый} Blink = 128; {Мерцание символа} Некоторые функции и процедуры модуля function KeyPressed: Boolean; Возвращает True, если на клавиатуре была нажата клавиша, и False в противном случае. Не задерживает исполнение программы. function ReadKey: char; Читает символ с клавиатуры без эхоповтора на экране. Приостанавливает исполнение программы до нажатия на любую клавишу, кроме Shift, Ctrl, Alt, CapsLock, NumLock, ScrollLock. function WhereX: byte; Возвращает горизонтальную координату текущей позиции курсора. function WhereY: byte; Возвращает вертикальную координату текущей позиции курсора. procedure ClrScr; Очищает экран и помещает курсор в верхний левый угол. procedure ClrEol; Удаляет все символы от текущей позиции курсора до конца строки без перемещения курсора. procedure DelLine; Удаляет строку, на которой находится курсор, и перемещает все строки ниже этой на строку вверх. procedure InsLine; Вставляет пустую строку в позицию экрана procedure GotoXY( X,Y: Byte); Перемещает курсор в нужное место экрана. procedure HighVideo; Устанавливает высокую яркость символов. procedure LowVideo; Устанавливает низкую яркость символов. procedure NormVideo; Устанавливает нормальную яркость символов. procedure TextColor(Color: Byte); Устанавливает цвет символов. В качестве передаваемого значения могут выступать константы цветов. procedure TextBackground(Color: Byte); Устанавливает цвет фона. procedure Sound(F: word); Включает звуковой генератор. F - частота звука, Гц. procedure NoSound; Выключает звуковой генератор. procedure Delay(D: word); Приостанавливает работу программы на указанное число миллисекунд. Примеры использования процедур и функций модуля Crt Пример 1. uses Crt; begin ... TextColor(Red); {устанавливает красный цвет} writeln(’Ага!’); TextColor(Red+Blink); {устанавливает мигающий красный цвет} writeln(’Ого!’); ... end. Пример 2. Задание. С помощью символов «*» построить на экране график функции , таким образом, чтобы график функции был «растянут» на весь экран. Диапазон изменения . Решение. Размер экрана - 80 столбцов на 25 строк. Верхний левый угол экрана имеет координаты (1, 1), правый нижний - (80, 25). Шаг по х должен быть подобран таким образом, чтобы диапазон изменения «укладывался» в 80 позиций. Область значений функции у - [-1, 1], поэтому по у также должен быть подобран коэффициент «растягивающий» область значений на 25 строк. uses Crt; var i: integer; x, y: real; begin ClrScr; for i:=1 to 80 do begin x := i * 2*pi/(80-1); y := 12 – 12*sin(x); gotoXY(i,trunc(y)); write(’*’); end; repeat until KeyPressed; end. Задания для самостоятельной работы Разработать программу на Турбо Паскале, которая обеспечивает решение поставленной задачи в соответствии с предложенным вариантом. Первая цифра - номер задания, вторая - номер варианта. Задачи 1. Разработать программу, которая с помощью символов «*» строит на экране график заданной функции , так, чтобы график функции был «растянут» на весь экран. 1.1.  1.2.  1.3.  1.4.  1.5.  1.6.  1.7.  1.8.  1.9.  1.10.  1.11.  1.12.  2. Доработать программу таким образом, чтобы символы «*» выводились на экран разными цветами: для значений < - жёлтым, для значений > - красным, во всех остальных случаях - белым. № варианта |  |  | 2.1. | 0.25 | 0.75 | 2.2. | 0.5 | 0.8 | 2.3. | 0.5 | 1.5 | 2.4. | -1 | 0.5 | 2.5. | 0.1 | | 2.6. | 0.63 | 1.88 | 2.7. | | | 2.8. | | | 2.9. | 0.5 | 0.8 | 2.10. | 0.5 | 1.5 | 2.11. | 0.04 | 0.1 | 2.12. | 0.06 | 0.1 | 3. Разработать модуль, который будет содержать заданные типы, процедуры и функции. Разработать программу, которая реализует вызов подпрограмм модуля. 3.1. Модуль должен содержать 3.1.1. описание типа Matrix_3x3 (двумерный массив), для хранения матрицы размером 3х3 элементов; 3.1.2. процедуру задания значений массива типа Matrix_3x3 с клавиатуры; 3.1.3. процедуру вывода на экран значений массива типа Matrix_3x3; 3.1.4. функцию сложения двух матриц, хранящихся в массивах типа Matrix_3x3. 3.2. Модуль должен содержать 3.2.1. описание типа StatData15 - одномерный массив на 15 элементов; 3.2.2. процедуру заполнения массива типа StatData15 случайными значениями (с помощью функции random); 3.2.3. процедуру вывода на экран значений массива типа StatData15; 3.2.4. функцию поиска минимального значения в массиве типа StatData15; 3.2.5. функцию расчёта математического ожидания по значениям массива типа StatData15. 3.3. Модуль должен содержать 3.3.1. описание типа Matrix_5x5 (двумерный массив), для хранения матрицы размером 5х5 элементов; 3.3.2. процедуру заполнения массива типа Matrix_5x5 случайными значениями (с помощью функции random); 3.3.3. процедуру вывода на экран значений массива типа Matrix_5x5; 3.3.4. процедуру транспонирования матрицы, хранящейся в массиве типа Matrix_5x5. 3.4. Модуль должен содержать 3.4.1. описание типа StatData10 - одномерный массив на 10 элементов; 3.4.2. процедуру задания значений массива типа StatData10 с клавиатуры; 3.4.3. процедуру вывода на экран значений массива типа StatData10; 3.4.4. функцию расчёта математического ожидания по значениям массива типа StatData10; 3.4.5. функцию расчёта дисперсии по значениям массива типа StatData10. 3.5. Модуль должен содержать 3.5.1. описание типа Matrix_5x5 (двумерный массив), для хранения матрицы размером 5х5 элементов; 3.5.2. процедуру заполнения массива типа Matrix_5x5 случайными значениями (с помощью функции random); 3.5.3. процедуру вывода на экран значений массива типа Matrix_5x5; 3.5.4. процедуру смены знака всех элементов матрицы, хранящейся в массиве типа Matrix_5x5. 3.6. Модуль должен содержать 3.6.1. описание типа StatData8 - одномерный массив на 8 элементов; 3.6.2. процедуру задания значений массива типа StatData8 с клавиатуры; 3.6.3. процедуру вывода на экран значений массива типа StatData8; 3.6.4. функцию поиска максимального значения в массиве типа StatData8; 3.6.5. функцию расчёта математического ожидания по значениям массива типа StatData8. 3.7. Модуль должен содержать 3.7.1. описание типа StatData10 - одномерный массив на 10 элементов; 3.7.2. процедуру задания значений массива типа StatData10 с клавиатуры; 3.7.3. процедуру вывода на экран значений массива типа StatData10; 3.7.4. процедуру сортировки массива типа StatData10 по возрастанию. 3.8. Модуль должен содержать 3.8.1. описание типа StatData20 - одномерный массив на 20 элементов; 3.8.2. процедуру заполнения массива типа StatData20 случайными значениями (с помощью функции random); 3.8.3. процедуру вывода на экран значений массива типа StatData20; 3.8.4. функцию расчёта математического ожидания по значениям массива типа StatData20; 3.8.5. функцию расчёта среднеквадратичного отклонения по значениям массива типа StatData20. 3.9. Модуль должен содержать 3.9.1. описание типа Matrix_3x3 (двумерный массив), для хранения матрицы размером 3х3 элементов; 3.9.2. процедуру задания значений массива типа Matrix_3x3 с клавиатуры; 3.9.3. процедуру вывода на экран значений массива типа Matrix_3x3; 3.9.4. процедуру сложения двух матриц, хранящихся в массивах типа Matrix_3x3. 3.10. Модуль должен содержать 3.10.1. описание типа StatData20 - одномерный массив на 20 элементов; 3.10.2. процедуру заполнения массива типа StatData20 случайными значениями (с помощью функции random); 3.10.3. процедуру вывода на экран значений массива типа StatData20; 3.10.4. процедуру сортировки массива типа StatData20 по убыванию. 3.11. Модуль должен содержать 3.11.1. описание типа Matrix_4x4 (двумерный массив), для хранения матрицы размером 4х4 элементов; 3.11.2. процедуру задания значений массива типа Matrix_4x4 случайными значениями (с помощью функции random); 3.11.3. процедуру вывода на экран значений массива типа Matrix_4x4; 3.11.4. процедуру расчета среднего арифметического главной диагонали, хранящейся в массиве типа Matrix_4x4. 3.12. Модуль должен содержать 3.12.1. описание типа Matrix_4x4 (двумерный массив), для хранения матрицы размером 4х4 элементов; 3.12.2. процедуру заполнения массива типа Matrix_4x4 случайными значениями (с помощью функции random); 3.12.3. процедуру вывода на экран значений массива типа Matrix_5x5; 3.12.4. процедуру инвертирования матрицы, хранящейся в массиве типа Matrix_5x5. |