При вводе исходных данных переменные A,B,C получают разные числовые значения. Программа должна вычислить и вывести на консоль наименьшее из чисел A,B,C.
Типовая задача на разбор случаев. Разбирать случаи будем не простым последовательным перечислением, а более сложной конструкцией из вложенных условных операторов.
Решение задачи.
Var a1, b1, c1, {коэффициенты уравнения первой прямой}
a2,b2,c2, {коэффициенты уравнения второй прямой}
x, y : Real; {координаты точки пересечения }
BEGIN
ReadLn( a1, b1, c1);
ReadLn( a2, b2, c2);
If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) )
then WriteLn( 'это не прямая (прямые). ' )
else
if (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}
Imports System Module MainModule Sub Main() Dim a, b, h, S As Double Console.Write("a = ") a = Console.ReadLine() Console.Write("b = ") b = Console.ReadLine() Console.Write("h = ") h = Console.ReadLine() S = (a + b) / 2 * h Console.Write("S = ") Console.WriteLine(S) Console.ReadKey End Sub End Module
Задача 2:
Imports System Module MainModule Sub Main() Dim x, y As Double Console.Write("x = ") x = Console.ReadLine() Console.Write("y = ") y = Console.ReadLine() If (x < 0) And (y < 0) Then x = -x y = -y Else If (x < 0) Or (y < 0) Then x += 0.5 y += 0.5 Else If (x >= 0.5) And (x <= 2) And (y >= 0.5) And (y <= 2) Then x /= 10 y /= 10 End If Console.Write("x = ") Console.WriteLine(x) Console.Write("y = ") Console.WriteLine(y) Console.ReadKey End Sub End Module
Типовая задача на разбор случаев. Разбирать случаи будем не простым последовательным перечислением, а более сложной конструкцией из вложенных условных операторов.
Решение задачи.
Var a1, b1, c1, {коэффициенты уравнения первой прямой}
a2,b2,c2, {коэффициенты уравнения второй прямой}
x, y : Real; {координаты точки пересечения }
BEGIN
ReadLn( a1, b1, c1);
ReadLn( a2, b2, c2);
If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) )
then WriteLn( 'это не прямая (прямые). ' )
else
if (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}
then WriteLn( 'прямые совпадают.' )
else
if a1*b2 = a2*b1 {условие параллельности}
then WriteLn('прямые параллельны.')
else begin x:=(c1*b2-c2*b1)/(b1*a2-b2*a1);
y:=(c2*a1-c1*a2)/(b1*a2-b2*a1);
WriteLn('координаты точки пересечения :',
' x = ', x : 5 : 2 , ', y = ', y : 5 : 2);
end;
END.