Сложные условия.pptx
- Количество слайдов: 7
{Сложные условия
Определение алгоритма Алгоритм - это набор инструкций, описывающих порядок действий исполнителя достижения результата решения задачи за конечное число действий.
Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» true. В большинстве языков программирования условный оператор начинается с ключевого слова if. Условный оператор с одной ветвью: if условие then команды end Условный оператор с двумя ветвями: if условие then команды1 else команды2 end Условный оператор с несколькими условиями: if условие 1 then команды1 else if условие 2 then команды2 else if условие 3 then команды3. . . else команды. N end;
Ветвление Одной из основных алгоритмических структур является ветвление. Если условие выполняется, то будет выполнена инструкция "1", если нет, то - инструкция "2". Несмотря на то, что в схеме присутствуют два действия, выполнено будет только одно, так как условие либо ложно, либо истинно. Если <усл. > {Если выполняется условие} то <действие 1> {то выполнить действие № 1 } иначе <действие 2> {иначе - выполнить действие № 2 } все If <условие> Then <оператор 1> Else <оператор 2>; end.
Простые условия В простых условиях могут применяться знаки операций сравнения: >(больше), <(меньше), =(равно), <>(не равно), >=(больше или равно), <=(меньше или равно ). Пример простого условия: решить уравнение вида A*x^2 + B*x + C = 0 Program Sq 2; Var A, B, C, D, X, X 1, X 2: Real; Begin Writeln ('Введите коэффициенты уравнения (A, B, C) '); If A=0 Then If B=0 Then If C=0 Then Writeln('X - любое число') Else Writeln('Корней нет! ') Else Begin X: =-C/B; Writeln('X=', X: 8: 3) End Else Begin D: =B*B-4*A*C; If D<0 Then Writeln ('Корней нет! ') Else Begin X 1: =(-B+SQRT(D))/2/A; X 2: =(-B-SQRT(D))/2/A; Writeln ('X 1=', X 1: 8: 3, ' X 2=', X 2: 8: 3) End End.
Сложные условия Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций: program lab 1; • not – НЕ (отрицание, инверсия) var • and – И (логическое умножение, конъюнкция, одновременное выполнение условий) x, y: real; • or – ИЛИ (логическое сложение, дизъюнкция, begin выполнение хотя бы одного из условий). Пример сложного условия: вычислить значение функции x: =-0. 3; while x<1 do begin if x >0. 5 then begin y: =sqr(x)*sqr(x) + Exp(x)*Exp(x); writeln('y: = ', y: 3: 2); end else if x<>0 then begin y: =(sin(x)/cos(x))/x; writeln('y: = ', y: 3: 2); end else writeln('ERROR!!! Deleniye na 0'); x: =x+0. 1; end; readln; end.
Примеры задач на сложное условие Прямоугольники, площади которых равны, называются равновеликими. Написать программу, находящую все возможные целочисленные стороны равновеликих прямоугольников заданной площади. Пример входных данных: 12 Пример выходных данных: 1*12 2*6 3*4 program equrectangle; var p: word; {переменная для площади} procedure find_and_print_side(a, b: word); begin if (a<=b) then begin if (a*b=p) then writeln(a, '*', b); inc(a); find_and_print_side(a, p div a); end; begin { основная программа } assign(input, 'square. in'); reset(input); readln(p); close(input); assign(output, 'square. out'); rewrite(output); find_and_print_side(1, p); close(output); end.