МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

Некоторые константы модуля





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.





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.