Умова: Дано значення дійсних величин а, Ь, с. Подвоїти ці значення, якщо а > b > с, і замінити їх абсолютними значеннями, якщо це не так.
У цій задачі звернути увагу на дуже поширену помилку: в програмі не можна писати подвійну нерівність, як це робиться в математиці. Тобто, вираз а > b > с в програмі записується як складена умова (a>=b) and (b>=c).
Текст програми:
Program Р8;
Uses crt; Var a,b,c:real;
Begin
Clrscr; {Очищення екрану}
Write('Введіть три числа: ');
Readln(a,b,c);
If (a>=b) and (b=c) Then Begin
A=A*2;
B:=B*2;
C:=C*2;
End
Else Begin
A:=abs(A);
B:=abs(B);
C:=abs(C);
End;
Writeln('Вихідні Значення:');
Writeln('a=',a:8:2);
Writeln('Ь=',b:8:2);
Writeln('c=' ,c:8:2) ;
Readkey; {Затримка зображення на екрані до натискання будь-якої клавіші}
End.
Якщо умов вибору багато, то краще використати оператор вибору Case
Загальний запис
Case <вираз>of
Список констант1:оператор1;
Список констант2:оператор2;
...
Список константN:операторN;
End;
Case <вираз>of
Список констант1:оператор1;
Список констант2:оператор2;
...
Список константN:операторN-1
Else операторN;
End;
Список констант може складатися з однієї, двох і більше констант, які перераховуються через кому, або якщо вони йдуть підряд, можна вказати два крайніх значення, розділивши їх двома крапками.
Виконання оператора починається з обчислення виразу. Якщо результат обчислення дорівнює одній з перерахованих констант, то буде виконуватись відповідний оператор.
Далі управління передається за межі оператора вибору. Якщо значення виразу не співпадає ні з однією із констант, то виконується оператор, що стоїть після Else, якщо він є, або управління передається на оператор, що стоїть за End.
Примітка:
1. Тип константи повинен співпадати з типом виразу.
2. Гілка Else – необов’язкова
3. Перед Else не може стояти крапка з комою
4. В якості оператора можуть використовуватись і складені оператори, але тоді їх треба брати в дужки begin … end