Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MET1.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.14 Mб
Скачать

Задания для самостоятельной работы

Составить программы, используя для оформления модуль CRT. На экране отобразить два окна: в одном произвести ввод исходных данных, в другом – вывести результаты. Ввод и вывод снабдить пояснениями.

Варианты заданий :

  1. Прямоугольный треугольник задан гипотенузой и одним из катетов. Найти второй катет и площадь треугольника.

  2. Треугольник задан величинами своих углов (в градусах) и радиусом описанной окружности. Найти длины сторон треугольника.

  3. Прямоугольный треугольник задан двумя катетами. Вычислить радиусы вписанной и описанной окружности.

  4. Вычислить длину окружности, площадь круга и объем шара одного и того же заданного радиуса.

  5. Вычислить периметр и площадь прямоугольного треугольника по заданным катетам треугольника.

  6. Вычислить периметр и площадь треугольника по заданным координатам трех его вершин.

  7. Треугольник задан длинами своих сторон. Найти длины его высот.

  8. Треугольник задан длинами своих сторон. Найти длины его медиан.

  9. Треугольник задан длинами своих сторон. Найти длины его биссектрис.

  10. Треугольник задан длинами своих сторон. Найти радиусы описанной и вписанной окружностей треугольника.

  11. По длинам двух сторон треугольника и углу (в градусах) между ними найти длину третьей стороны и площадь этого треугольника.

  12. Найти сумму цифр заданного трехзначного числа.

  13. Определить число, получаемое выписыванием в обратном порядке цифр трехзначного числа.

  14. Идет К-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. Например, если К=13231, то прошло 3 часа и 40 минут.

  15. Определить угол в градусах между положением часовой стрелки в начале суток и ее положением в h часов, m минут и s секунд (0 h 11; 0 m, s 59).

2. Ветвления

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

Составной оператор представляет собой последовательность операторов, заключенную в операторные скобки Begin и End. Его назначение состоит в получении из нескольких операторов одного оператора. Это бывает необходимо для соблюдения синтаксических правил языка.

Условный оператор позволяет выбрать для исполнения один из двух операторов в зависимости от выполнения условия. Он имеет две формы:

  1. If <логическое выражение> Then <оператор> Else <оператор>;

  2. If <логическое выражение> Then <оператор>;

Первая форма называется полной, вторая – неполной. Выполнение: если логическое выражение истинно (имеет значение True), то выполняется оператор, находящийся после Then, иначе (когда выражение ложно, т.е. имеет значение False) – оператор, стоящий после Else (для полной формы), или вообще не выполняется никакого действия (для неполной формы).

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

Логические выражения бывают простыми и сложными. Простое логическое выражение представляет собой либо условие, содержащее два операнда и одну операцию отношения, либо логическую переменную. Сложное выражение состоит из простых выражений и логических операций Not, And, Or. В этом случае значение логического выражения определяется согласно следующим таблицам истинности (L, L1, L2 – некоторые логические выражения):

L

Not L

True

False

False

True

L1

L2

L1 And L2

L1 Or L2

True

True

True

True

True

False

False

True

False

True

False

True

False

False

False

False

Оператор перехода позволяет нарушить естественный порядок выполнения операторов программы и передает управление оператору, помеченному меткой. Не следует увлекаться применением этого оператора, так как это приводит к нарушению понимания логики работы программы. Формат оператора: Goto <метка>; . В качестве метки можно использовать неотрицательное целое число, имеющее не более четырех знаков, или идентификатор. Метки предварительно описываются в разделе объявления меток программы (LABEL).

Пример 2. Даны целые числа. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а иначе – заменить числа нулями.

Program Example_2;

Var Num1, Num2: Integer;

Begin

Write(‘Введи два целых числа:’);

Readln(Num1, Num2); {ввод двух целых чисел}

If Num1<>Num2 Then {если числа не равны}

If Num1>Num2 Then {если первое число больше второго}

Num2:=Num1 {то второму числу даем значение первого}

Else {иначе – первому числу даем значение второго}

Num1:=Num2

Else {если числа равны, то заменяем из нулями}

Begin {применяем составной оператор, так как надо выполнить 2 оператора}

Num1:=0; Num2:=0

End;

Writeln(‘Первое число=’,Num1,’ Второе число=’,Num2) {вывод результатов}

End.

Пример 3. Вычислить кратчайшее расстояние от заданной точки с координатами (X,Y) до границы фигуры (см. рисунок), если:

  1. точка находится вне фигуры (Для точки, находящейся внутри фигуры, выдать соответствующее сообщение.);

  2. точка находится внутри фигуры (Для точки, находящейся вне фигуры, выдать соответствующее сообщение.).

Program Example_3a;

Var X, Y, R, S: Real; {X, Y – координаты точки, R - кратч. расстояние}

Begin

Write(‘Введи координаты точки’);

Readln(X,Y);

S:=X*X+Y*Y; {S – вспомогательная переменная}

If (S>100) And Not ((X>0) And (Y>0)) Then

R:=Sqrt(S)-10 {2, 3, 4 четверти и вне круга с радиусом 10 }

Else

If S<25 Then

R:=5-Sqrt(S) {Внутри окружности с радиусом 5}

Else

If (X>10) Or (Y>10) Then {за пределами квадрата со стороной 10}

If (Y<10) Then

R:=X-10

Else

If X>10 Then

R:=Sqrt(Sqr(X-10)+Sqr(Y-10))

Else

R:=Y-10

Else

R:=0; {для точки внутри фигуры}

If R>0 Then

Writeln(‘Кратчайшее расстояние до фигуры равно ’, R:6:2)

Else

Writeln(‘Точка находится внутри фигуры’)

End.

Program Example_3b;

Label Metka;

Var X, Y, R, S: Real;

Begin

Write(‘Введи координаты точки’);

Readln(X,Y);

S:=X*X+Y*Y;

If (S>=25) And (S<=100) And ((X<0) Or (Y<0)) Then

{В кольце, находящемся. в 2, 3 и 4 четвертях}

If (10-Sqrt(S)) < (Sqrt(S)-5) Then

R:=10-Sqrt(S)

Else

R:= Sqrt(S)-5

Else

If (X>=0) And (Y>=0) And (X<=10) And (Y<=10) And (S>=25) Then

{Остальная часть фигуры}

Begin

If (10-X) < (10-Y) Then

R:=10-X

Else

R:=10-Y;

If (Sqrt (S) - 5) < R Then

R:=Sqrt (S) - 5

End

Else

Begin

Writeln(‘Точка находится вне фигуры’);

Goto Metka

End;

If R=0 Then

Writeln(‘Точка находится на границе фигуры’)

Else

Writeln(‘Кратчайшее расстояние до границы фигуры=’,R:6:2);

Metka: End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]