Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Условный оператор

1)   if  условие then оператор 1 else оператор 2;

2)   if  условие 1 and условие 2 then оператор 1 else оператор 2;

3)   if  условие 1 or условие 2 then оператор 1 else оператор 2;

4)   if  условие then

         begin

           оператор 1;

           оператор 2;

                 …

         end

     else

        begin

          оператор 1;

          оператор 2;

                …

        end ;

5)   Краткая форма записи условного оператора:   if  условие then оператор;

 

Программа, которая позволяет определить по номеру месяца время года.

Program seasons;

var a : Integer;

Begin

write('Введите номер месяца ');

readLn(a);

if (a > 2) and (a < 6) then write('весна');

if (a > 5) and (a < 9) then write('лето');

if (a > 8) and (a < 12) then write('осень');

if (a < 3) or (a = 12) then write('зима');

readln;

End.

 

Определение большего числа из двух не равных чисел введённых с клавиатуры.

Program Max;

Uses Crt;

var a, b: real;

Begin

Clrscr;

writeln(‘Введите первое число ’);

readln(а);

writeln(‘Введите второе число ’);

readln(b);

if a>b then writeln(‘число’, a, ‘ больше числа’, b)

     else writeln(‘число ‘,b, ‘ больше числа’, a);

readln;

End.

 

Программа, определяющая наименьшее из двух любых чисел введённых с клавиатуры. 

Program Min;

Uses Crt;

var a, b: real;

Begin

Clrscr;

writeln(‘Введите первое число ’);

readln(а);

writeln(‘Введите второе число ’);

readln(b);

   if a < b then writeln('Наименьшим является первое число')

        else

              if a = b then writeln('Введенные значения равны')

else writeln('Наименьшим является второе число');

      readln;

End.

 

Программа, определяющая наибольшее число из трёх введённых с клавиатуры чисел.

 Program change;

Uses Crt;

var a, b, c: real;

Begin

Clrscr;

writeln(‘Введите первое число ’);

readln(а);

writeln(‘Введите второе число ’);

readln(b);

writeln(‘Введите третье число ’);

readln(с);

if a>b and a>c then writeln(‘число’, a, ‘ больше чисел’, b, ‘ и ’, c);

if b>a and b>c then writeln(‘число’, b, ‘ больше чисел’, a, ‘ и ’, c)

     else writeln(‘число ‘, c, ‘ больше чисел’, a, ‘ и ’, b);

readln;

End.

 

Условие задачи: развивая предельно возможную ско¬рость, жираф пробегает за t1с S1м (например, за 23 с 335,8 м). Заяц пробегает за t2c S2м (например, за 55 с 918,5 м). Кто из них достоин звания чемпиона?

Program champion;

Uses Crt;

var sl, s2, tl, t2, vl, v2: real;

Begin                                 

Clrscr;                    

writeln ('Введите показатели жирафа ');

readln (sl, tl);

writeln ('Введите показатели зайца ');

readln (s2, t2);

vl:= sl/tl;

v2:= s2/t2;

if vl = v2.then

   begin

textcolor (10) ;

        writeln ('Победила дружба');     

   end

else if vl > v2 then

    begin

         textcolor (14);

         writeln ('Жирафчемпион');

    end

else

     begin                  

          textcolor (9) ;

          writeln ('Заяцчемпион');

     end;

readln;

End.

 

Требуется определить, является ли заданное трехзначное число палиндромом (палиндром читается одинаково слева направо и справа налево, например, палиндромами являются числа 121, 282, слова «шалаш», «наган»).

Program palindrom;

Uses Crt;

var х : Integer;                       

Begin                                    

   Clrscr;

   write('Введите целое число: ');

   readln(x);

   If  х mod 10 = х div 160 then Write('Введенное число является палиндромом')

     else Write('Введенное число не является палиндромом');

readln;

End.

 

Решение квадратного уравнения ax2+bx+c=0

Program uravnenie;

Uses Crt;

var  a, b, c, x1, x2, D: Integer;                       

Begin

CIrScr;

write( ' Введите коэффициенты а, b, с : ');

     readln(a, b, с);

If (a=0) and (b=0) and (c=0) then

      begin

          write('Bce коэффициенты равны нулю.');

        writeln('x — любое число ');

     end

       else

  If (a=0) and (b<>0) then writeln(' Линeйнoe уравнение. Один корень: х =', (—с/ b):6:2)

         else

             If (a=0) and (b=0) and (c<>0) then writeln('Heпpaвильнoe уравнение.')

                 else

                              begin

               D:= b*b - 4*a*c;

               If D>0 then

                             begin

                  xl:=(-b + Sqrt(D)) / (2*a);

                              x2:=(-b - Sqrt(D)) / (2*a);

                              writeln('xl=' ,   xl:6:2 , ';  x2=' , x2:6:2);

                           end

                  else

                      If D=0 then

                         begin

           xl := -b/(2*a);

 witeln(Корни равны: xl = ', xl:6:2, ';  x2 = ', xl:6:2)

                   еnd

                     else writeln('Действительных корней нет.');

                                            end;

readln;

End.

 

Программа нахождения координат точки пересечения двух заданных прямых (ax1+bx1+c1=0, ax2+bx2+c2=0).

Program Intersection;

Uses Crt;

var а1, bl, с1,

       a2, b2, с2,

       x, y: real;

Begin

 CIrScr;

      write('Введите а1, b1, с1:’);

 readln( а1, bl, с1);

');

 write('Введите a2, b2, с2 : ')

 readln( a2, b2, с2);

 writeln; Write('0 т в е т : ');

       If ((al=0) and (bl=0) ) or ( (a2=0) and (b2=0) then writeln( 'это не прямая (прямые).’)

             else

                  if (al*b2=a2*bl) and (a 1*c2=a2*c1) then writeln( 'прямые совпадают.' )

  else

     if al*b2 = a2*bl then writeln('пpямыe параллельны.')

  else

     begin

          x:=(cl*b2-c2*bl)/(bl*a2-b2*al);

           y:=(c2*al-cl*a2)/(bl*a2-b2*al);

          writeln(‘Координаты точки пересечения: х= ’,x:5:2, ‘, y= ‘,  y:5:2);

                               end;

readln;

End.

 

Программа, определяющая какая точка (A или B) ближе к началу координат.

Program tochka;

Uses Crt;

var x1,y1,x2,y2,d1,d2:real;

Вegin

     CIrScr;

     writeln('введите A(X1,Y1) и B(X2,Y2)');

     readln( x1,y1,x2,y2 );

     d1:=sqrt(sqr(y1)+sqr(x1));

     d2:=sqrt(sqr(y2)+sqr(x2));

     if d1<d2 then writeln('Точка A ближе')

     else if d1>d2 then writeln('Точка B ближе')

     else writeln('Одинаково');

     readln;

Еnd.

 

Определение попадания точки M(x,y) в круг с центром O (xc, yc) и радиусом R.

Program Inter;

Uses Crt;

var xc,yc,mx,my,d,r:real;

Вegin

     CIrScr;

     writeln('введите M(X,Y), O(Xc,Yc) и R');

     readln( mx,my,xc,yc,r );

     d:=sqrt(sqr(xc-mx)+sqr(yc-my));

     if d<=r then writeln ('точка M лежит в круге')

             else writeln ('точка M лежит вне круга');

     readln;

Еnd.

 

Решение системы 2-х уравнений с двумя неизвестными                     

Вид уравнения:                                                  

    a1*x + b1*y = c1                                                       

    a2*x + b2*y = c2                                                       

                                                                         

 метод решения:                                             

      |c1 b1|           |a1 c1|                                   

      |c2 b2|           |a2 c2|                         

 x=---------     y=---------                  

      |a1 b1|           |a1 b1|                       

      |a2 b2|           |a2 b2|                

                                                     

 выражаем определители второго порядка: 

 x = (c1*b2-c2*b1)/(a1*b2-a2*b1)                  

 y = (a1*c2-a2*c1)/(a1*b2-a2*b1)                  

 

Program sistema2;

Uses Crt;

var a1,a2,b1,b2,c1,c2,x,y,d,dx,dy:real;

Вegin

   CIrScr;

   writeln('введите коэффициенты уравнения: a1,b1,c1,a2,b2,c2');

   readln(a1,b1,c1,a2,b2,c2);

   d  := (a1*b2-a2*b1);

   dx := (c1*b2-c2*b1);

   dy := (a1*c2-a2*c1);

   if ( d=0 ) and ( (dx=0) or (dy=0) ) then

      writeln('бесконечное множество решений')

   else if ( d<>0 ) and ( (dx=0) or (dy=0) ) then

      writeln('нет решений')

   else begin

      x:=dx/d; y:=dy/d;

      writeln('x = ', x);  writeln('y = ', y);

   end;

   readln;

Еnd.

 

Решение системы 3-х уравнений с тремя неизвестными        

 решение уравнений вида:                                                 

 |a1*x + b1*y + c1*z = d1|                                                

 |a2*x + b2*y + c2*z = d2|                                               

 |a3*x + b3*y + c3*z = d3|                                                                                                                          

 метод решения:                                             

     |d1 b1 c1|       |a1 d1 c1|       |a1 b1 d1|        

     |d2 b2 c2|       |a2 d2 c2|       |a2 b2 d2|        

     |d3 b3 c3|       |a3 d3 c3|       |a3 b3 d3|        

 x = ----------   y = ----------   z = ----------       

     |a1 b1 c1|       |a1 b1 c1|       |a1 b1 c1|        

     |a2 b2 c2|       |a2 b2 c2|       |a2 b2 c2|        

     |a3 b3 c3|       |a3 b3 c3|       |a3 b3 c3|        

                                                                         

 выражаем определители третьего порядка:

 e  := (a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1);   

 ex := (d1*b2*c3+b1*c2*d3+c1*d2*b3-d3*b2*c1-b3*c2*d1-c3*d2*b1); 

 ey := (a1*d2*c3+d1*c2*a3+c1*a2*d3-a3*d2*c1-d3*c2*a1-c3*a2*d1);  

 ez := (a1*b2*d3+b1*d2*a3+d1*a2*b3-a3*b2*d1-b3*d2*a1-d3*a2*b1);      

 x = ex/e                                                                

 y = ey/e                                                                

 z = ez/e                                                                 

Program sistema3;

Uses Crt;

var a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3,x,y,z,e,ex,ey,ez:real;

Вegin

     CIrScr;

 writeln('введите коэффициенты уравнения:a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3');

 readln(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3);

 e  := (a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1);

 ex := (d1*b2*c3+b1*c2*d3+c1*d2*b3-d3*b2*c1-b3*c2*d1-c3*d2*b1);

 ey := (a1*d2*c3+d1*c2*a3+c1*a2*d3-a3*d2*c1-d3*c2*a1-c3*a2*d1);

 ez := (a1*b2*d3+b1*d2*a3+d1*a2*b3-a3*b2*d1-b3*d2*a1-d3*a2*b1);

 if ( e=0 ) and ( (ex=0) or (ey=0) or (ez=0) ) then

    writeln('бесконечное множество решений')

 else if ( e<>0 ) and ( (ex=0) or (ey=0) or (ez=0) ) then

    writeln('нет решений')

 else begin

    x:=ex/e; y:=ey/e; z:=ez/e;

    writeln('x = ', x); writeln('y = ', y); writeln('z = ', z);

 end;

       readln;

Еnd.