Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Процедуры рисования закрашенных фигур.

Поиск

Bar (x1,y1,x2,y2), где переменные X1, X2, Y1, Y2 типа Integer - рисуется закрашенный установленным ранее стилем и цветом прямоугольник. Координаты точек указываются аналогично процедуре рисования незакрашенного прямоугольника.

Bar3D (x1,y1,x2,y2, Depth, Top), где переменные X1, X2, Y1, Y2 типа Integer, Depth типа Word, а Top типа Boolean - рисуется параллелепипед, закрашенный текущим стилем и цветом. Здесь переменные X1, X2, Y1, Y2 являются координатами левого верхнего и правого нижнего углов передней грани, Depth - ширина боковой грани (отсчитываются по горизонтали), Top - признак включения верхней грани: TopОn = true - верхняя грань изображается, TopОff = false - верхняя грань не изображается.

PieSlice (X, Y, BegA, EndA, R),где переменные X, Y типа Integer, а BegA, EndA, R типа Word - строит сектор круга, закрашенный текущим стилем и цветом заполнения с учетом масштабов по осям. Здесь X, Y - координаты центра сектора круга, BegA - начальный угол сектора, отсчитываемый против часовой стрелки от горизонтальной оси, направленной вправо, EndA - конечный угол сектора, отсчитываемый против часовой стрелки от горизонтальной оси, направленной вправо, R - радиус сектора.

FillEllipse (X, Y, Rx, Ry), где X, Y, Rx, Ry являются переменными типа Integer обводит линией и заполняет эллипс. Здесь X, Y - координаты центра эллипса, Rx, Ry - горизонтальный и вертикальный радиусы эллипса. Эллипс обводится линией, заданной процедурами SetLineStyle и SetColor, и заполняется с использованием параметров, установленных процедурой SetFillStyle.

Sector (X, Y, BegA, EndA, Rx, Ry),где переменные X, Y типа Integer, а BegA, EndA, Rx, Ry типа Word - вычерчивает и заполняет эллипсный сектор. Здесь X, Y - координаты центра эллипса, BegA, EndA - начальный и конечный углы эллипсного сектора, Rx, Ry - горизонтальный и вертикальный радиусы эллипса.

 

 

Билет 9.

Разветвляющиеся алгоритмы. Оператор условия If.

Разветвляющиеся алгоритмы

До сих пор Вы использовали линейные алгоритмы, т.е. алгоритмы, в которых все этапы решения задачи выполняются строго последовательно. Сегодня Вы познакомитесь с разветвляющимися алгоритмами.

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

Признаком разветвляющегося алгоритма является наличие операций проверки условия. Различают два вида условий - простые и составные.

Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще называют операндами), связанных одним из знаков:

< - меньше, чем...
> - больше, чем...
<= - меньше, чем... или равно
>= - больше, чем... или равно
<> - не равно
= - равно

Например, простыми отношениями являются следующие:

x-y>10; k<=sqr(c)+abs(a+b); 9<>11; ‘мама’<>‘папа’.

В приведенных примерах первые два отношения включают в себя переменные, поэтому о верности этих отношений можно судить только при подстановке некоторых значений:

  • если х=25, у=3, то отношение x-y>10 будет верным, т.к. 25-3>10
  • если х=5, у=30, то отношение x-y>10 будет неверным, т.к. 5-30<10

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

Примечание. Название “булевые” произошло от имени математика Джорджа Буля, разработавшего в XIX веке булевую логику и алгебру логики.

Определение. Переменная, которая может принимать одно из двух значений: True (правда) или False (ложь), называется булевой (логической) переменной. Например:

К:=True;
Flag:=False;
Second:=a+sqr(x)>t

Рассмотрим пример.

Задача. Вычислить значение модуля и квадратного корня из выражения (х-у).

Для решения этой задачи нужны уже знакомые нам стандартные функции нахождения квадратного корня - Sqr и модуля - Abs. Поэтому Вы уже можете записать следующие операторы присваивания:

Koren:=Sqrt(x-y);
Modul:=Abs(x-y).

В этом случае программа будет иметь вид:

Program Znachenia;
Uses Crt;
Var x, y: integer;
Koren, Modul: real;
Begin
ClrScr;
write (‘Введите значения переменных х и у через пробел ‘);
readln (x, y);
Koren:=Sqrt(x-y);
Modul:=Abs(x-y).
write (‘Значение квадратного корня из выражения (х-у) равно ‘);
write (‘Значение модуля выражения (х-у) равно ‘);
readln;
End.

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

Поэтому наша программа имеет свою допустимую область исходных данных. Найдем эту область. Для этого запишем неравенство х-у>=0 и решив его получим х>=у. Значит, если пользователем нашей программы будут введены такие числа, что при подстановке значение этого неравенства будет равно True, то квадратный корень из выражения (х-у) извлечь можно. А если значение неравенства будет равно False, то выполнение программы закончится аварийно.

 

Билет 10.



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 193; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.123.162 (0.008 с.)