Новые сообщения · Правила  
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум ПРОГРАММИСТОВ » КУРС ОПР - ПАСКАЛЬ » Лабораторные работы » Лабораторная работа №5 (условные операторы)
Лабораторная работа №5
Цель работы - познакомиться с условными операторами и построением логических выражений.

Кроме того, в этой лабораторной работе надо научиться выкладывать решение онлайн в веб-среде PascalABC.

Написать программу, в которой для решения задачи используются условные операторы. Программа должна компилироваться в PascalABC. Решение выложить в виде кода, а также привести ссылку на исполняемый код онлайн.

1. Из трех данных чисел выбрать наименьшее и наибольшее.
2. Перераспределить значения переменных X и Y так, чтобы в X оказалось меньшее из этих значений, а в Y — большее.
3. Значения переменных X,Y,Z поменять местами так, чтобы они оказались упорядоченными по возрастанию.
4. Значения переменных X,Y,Z поменять местами так, чтобы они оказались упорядоченными по убыванию.
5. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения.
6. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если равны, то присвоить переменным нулевые значения.
7. Даны три переменные: X,Y,Z. Если их значения упорядочены по убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.
8. Даны три переменные: X,Y,Z. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.
9. Даны вещественные координаты точки, не лежащей на координатных осях OX и OY. Вывести номер координатной четверти, в которой находится данная точка.
10. Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Вывести порядковый номер этого числа.
11. Дан номер некоторого года (положительное целое число). Вывести соответствующий ему номер столетия, учитывая, что, к примеру, началом 20 столетия был 1901 год.
12. Дано целое число, лежащее в диапазоне от –999 до 999. Вывести строку — словесное описание данного числа вида "отрицательное двузначное число", "нулевое число", "положительное однозначное число" и т.д.
13. Даны координаты вершин треугольника в пространстве. Задают координаты числа. Проверить лежит ли эта точка в плоскости треугольника.
14. Даны координаты вершин треугольника на плоскости. Задают координаты точки. Проверить, лежит ли эта точка внутри треугольника.
15. Задают координаты точки в пространстве. Вывести на экран номер октанта, которому принадлежит эта точка. Если точка попадает в координатную плоскость, также сообщить об этом.
16. В пространстве заданы координаты четырех точек. Проверить образуют ли они правильную треугольную пирамиду.
17. Напишите программу, которая переводит число в слово и правильно сопоставляет числу название предметов, например: вводят число 1, а программа выводит - одно яблоко; вводят число 2 - выводится два яблока и так далее.
1 | Автор: admin | 2014-09-21, 17:44   |  Репутация: [ + 21 ]
10. Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Вывести порядковый номер этого числа.

Код
Program dea;
var a,b,c,d: Integer;
begin
Write('Введите числа');    
Readln(a,b,c,d);
if ((a<>b) and (a<>c) and (a<>d)) then Writeln('1');
if ((b<>a) and (b<>c) and (b<>d)) then Writeln('2');
if ((c<>b) and (c<>a) and (c<>d)) then Writeln('3');
if ((d<>b) and (d<>c) and (d<>a)) then Writeln('4');
Readln;
end.
2 | Автор: Awesome | 2014-09-22, 01:11 | Изменено: Awesome - Пн, 2014-09-22, 13:07   |  Репутация: [ + 2 ]
8. Даны три переменные: X,Y,Z. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. 
Код
program Mr_pozitiv;
   (*('*****************************************************');
     ('*     laba #5  file: Mr_Pozitiv.pas == ver.1.0      *');
     ('*                     exercise                      *');
     ('*   Malevanny V. A.  Group I-14-1 Date: 21/09/14    *');
     ('*****************************************************');*)
      var x,y,z :real;
    begin
      writeln('Введите число x: ');
      writeln('Введите число y: ');
      writeln('Введите число z: ');
      readln(x,y,z);
    if (x-y)*(y-z) > 0 then               
      begin
        x:=x*2;
        y:=y*2;
        z:=z*2;
      end
    else                
      begin
        x:=x*(-1);
        y:=y*(-1);
        z:=z*(-1);
      end;
        writeln('x=',x);
        writeln('y=',y);
        writeln('z=',z);
    end.


http://pascalabc.net/WDE/?file=03038.pas


perfect ;)
3 | Автор: Mr_Pozitiv | 2014-09-22, 12:01 | Изменено: Mr_Pozitiv - Ср, 2014-09-24, 22:07   |  Репутация: [ + 6 ]


perfect ;)
3 | Автор: Mr_Pozitiv | 2014-09-22, 12:01 | Изменено: Mr_Pozitiv - Ср, 2014-09-24, 22:07   |  Репутация: [ + 6 ]
Вариант 3

Значения переменных X,Y,Z поменять местами так, чтобы они оказались упорядоченными по возрастанию.
Код
program AlenaKit5;  
{*****************************************************  
   *  laba №4  file: AlenaKit.pas == ver.7.0  *  
   *  exercise  *  
   *  Bibicheva O.O  I-14-1  16/09/14  *  
   *****************************************************}  
var  
x,y,z,: integer;  
begin  
readln(x, y, z);  
if(x > y) then begin  
x:=x+y;  
y:=x-y;  
x:=x-y;  
end;  
if(y > z) then begin  
y:= y+z;  
z :=y-z;  
y:= y-z;  
end;  
writeln(x, '; ', y, '; ', z);  
end.


http://pascalabc.net/WDE/?shared=AlenaKit/AlenaKit5.pas


AlenaKit♥
4 | Автор: AlenaKit | 2014-09-22, 12:56 | Изменено: AlenaKit - Вт, 2014-09-23, 18:50   |  Репутация: [ + 12 ]
5. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. 
Код
Program Selena;
{***************************************************
      *             laba#5     file: lab5.pas == ver.1.0                    *     
      *                    exercise                    *
      *               Glushko A. V.    I-14-1    22.09.14                    *     
      ****************************************************}       

Var A, B: Integer;
Begin
        Read(A, B);
         if A<>B then
          begin
           A:=A+B;
           B:=A;
          end
         else
          begin
           a:=0;
           b:=0;
          end;
        WriteLN (a, #32, b);
End.
http://pascalabc.net/WDE/?shared=Selena12/lab5.pas


Selena
5 | Автор: Selena | 2014-09-22, 13:25 | Изменено: Selena - Вт, 2014-09-23, 21:09   |  Репутация: [ + 2 ]
11. Дан номер некоторого года (положительное целое число). Вывести соответствующий ему номер столетия, учитывая, что, к примеру, началом 20 столетия был 1901 год. 
Код
program vek;
{*****************************************
    *    laba#5 file:FORZOREZOR.pas==ver1.0 *
    *               vek                *
    * Onufrienko E.M.  I-14-1 22/09/14*     *
    *****************************************}
    var a,b:integer;
    begin
    writeln('год');
    readln(b);
    a:=b div 100;
    if(b mod 100 >0) then
    a:=a+1;
    writeln ('Год',b,' Век',a);
    end.

http://pascalabc.net/WDE/?shared=Forzorezor/vek.pas
6 | Автор: Forzorezor | 2014-09-22, 18:01 | Изменено: Forzorezor - Ср, 2014-09-24, 23:46   |  Репутация: [ + 4 ]
4. Значения переменных X,Y,Z поменять местами так, чтобы они оказались упорядоченными по убыванию.

Код
Program ira_butenko97;
var   
x, y, z, maxm, minm, ser:integer;   
begin   
writeln('Введите число x: ');
writeln('Введите число y: ');
writeln('Введите число z: ');
readln (x,y,z);   

if(x>y) then if(x>z) then maxm:=x;
if(y>x) then if(y>z) then maxm:=y;
if(z>x) then if(z>y) then maxm:=z;

if(x<y) then if(x<z) then minm:=x;
if(y<x) then if(y<z) then minm:=y;
if(z<x) then if(z<y) then minm:=z;   

ser:=x+y+z-maxm-minm;
x:=maxm;
y:=ser;
z:=minm;
writeln (x,' ',y,' ',z);   
end.


Код
Введите число x:   
Введите число y:   
Введите число z:   
4
869
17586
17586 869 4


http://pascalabc.net/WDE/?shared=ira_butenko97/butenko.pas
7 | Автор: ira_butenko97 | 2014-09-23, 23:59 | Изменено: ira_butenko97 - Ср, 2014-09-24, 00:15   |  Репутация: [ + 4 ]
7 | Автор: ira_butenko97 | 2014-09-23, 23:59 | Изменено: ira_butenko97 - Ср, 2014-09-24, 00:15   |  Репутация: [ + 4 ]
6. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если равны, то присвоить переменным нулевые значения. 
Код
Program El_Magnifico;
{OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo
   o░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░o
   O░░Lab░work░#5░░file:ELMpr_la5.pas░==░ver.1.0░░O
   o░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░o
   O░░░░░░░░░░░░░░Labarotary work #5░░░░░░░░░░░░░░O
   o░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░o
   O░░©░Grankin░V.I.░Group░І-14-1░Date:░22/09/14░░O
   o░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░o
   OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo}
Var a,b,s:Integer;
Begin
Read(a,b);
if a<>b then
    begin
    s:=a-b;
      If s>0 then b:=a;
      If s<0 then a:=b;
    end
else
    begin
      a:=0;
      b:=0;
    end;
    Writeln(a,#32,b);
End.


El_Magnifico with <3
8 | Автор: El_MAgnifico | 2014-09-24, 14:54 | Изменено: El_MAgnifico - Пт, 2014-09-26, 20:52   |  Репутация: [ + 8 ]
15. Задают координаты точки в пространстве. Вывести на экран номер октанта, которому принадлежит эта точка. Если точка попадает в координатную плоскость, также сообщить об этом.
Код
program OlgaFrolova;
(****************************************************
     **   Laba #5 File Olga Frolova.pas == ver.1.0. **
     ***  Frolova O.R. Group I-14-1 Date 24.09.2014 ***
     ****************************************************)
      var a,b,c:real;
      begin
      writeln (' Введите число a: ');
      writeln (' Введите число b: ');
      writeln (' Введите число c: ');
      readln (a,b,c);
      if ((a>=0) and (b>=0) and (c>=0)) then
         writeln (' Первый октант/ I четверть ')
      else if ((a<0) and (b>=0) and (c>=0))  then
         writeln (' Второй октант/ II четверть ')
      else if ((a<0) and (b<0) and (c>=0)) then
         writeln ('Третий октант/ III четверть ')
      else if ((a>=0) and (b<0) and (c>=0)) then
         writeln (' Четвертый октант/ IV четверть ')
      else if ((a>=0) and (b>=0) and (c<0)) then
         writeln (' Пятый октант ')
      else if ((a<0) and (b>=0) and (c<0)) then
         writeln (' Шестой октант ')
      else if ((a<0) and (b<0) and (c<0)) then
         writeln (' Седьмой октант ')
      else if ((a>=0) and (b<0) and (c<0)) then
         writeln (' Восьмой октант ');
      readln;
       end.



25101996
9 | Автор: OlgaFrolova | 2014-09-24, 20:32 | Изменено: OlgaFrolova - Ср, 2014-09-24, 20:34   |  Репутация: [ + 0 ]
17. Напишите программу, которая переводит число в слово и правильно сопоставляет числу название предметов, например: вводят число 1, а программа выводит - одно яблоко; вводят число 2 - выводится два яблока и так далее.

Код
Program ProjectX;
{*************************************************
  *       Laba#5 file: stx.pas==ver.7.0           *  
  *          Sopostavlenie chisla so slovom       *
  *       Shkurenko Anton I-14-1 24.09.14         *
  *************************************************}
  var a:integer;
  begin
     writeln('Введите колличество яблок от 1 до 10');
     read(a);
    case a of  
      1:write('Одно');
      2:write('Два');
      3:write('Три');
      4:write('Четыре');
      5:write('Пять');
      6:write('Шесть');
      7:write('Семь');
      8:write('Восемь');
      9:write('Девять');
      10:Write('Десять');
end;
    case a of
      1:write(' Яблоко');
      2..4:write(' Яблока');
      5..10:write(' Яблок');
end;
end.




10 | Автор: stx | 2014-09-24, 21:17   |  Репутация: [ + 2 ]
Задание: 1. Из трех данных чисел выбрать наименьшее и наибольшее. 

Код
program dimeshion;
var a,b,c,max,min: real;
begin
      writeln('**************************************************');
      writeln('*      laba #5 file: di_5.pas == ver1.0          *');
      writeln('*                   laba #5                      *');
      writeln('*    Bazaliy E.V. Group: I-14-1 Date: 24/09/14   *');
      writeln('**************************************************');
      writeln('Введите число a: ');
      readln(a);
      writeln('Введите число b: ');
      readln(b);
      writeln('Введите число c: ');
      readln(c);
         if (a>b) then max:=a
         else max:=b;
         if (c>max) then max:=c;
         if (a<b) then min:=a
         else min:=b;
         if (c<min) then min:=c;
      writeln('Наибольшее число: ',max);
      writeln('Наименьшее число: ',min);
end.
11 | Автор: dimeshion | 2014-09-24, 23:03   |  Репутация: [ + 2 ]
9. Даны вещественные координаты точки, не лежащей на координатных осях OX и
OY. Вывести номер координатной четверти, в которой находится данная
точка.

Код
Program qwerty159;
var x,y :real;
{
**********************************************
*** Laba#5 file: @qwerty159.pas == ver.7.0 ***
***    Olga Kabachok I-14-1 26.09.2014     ***
**********************************************
}
Begin
Writeln ('Введите x, y');
Readln (x, y);
If (x>0) and (y>0) then
Writeln ('Точка в 1 четверти')
else
If (x<0) and (y<0) then
Writeln ('Точка в 3 четверти')
else
If (x<0) and (y>0) then
Writeln ('Точка во 2 четверти')
else
If (x>0) and (y<0) then
Writeln ('Точка в 4 четверти')
end.


Контрольный расчёт:
Код
Введите x, y
2 3
Точка в 1 четверти
Введите x, y
-1 -2
Точка в 3 четверти
Введите x, y
-2 2
Точка во 2 четверти
Введите x, y
4 -5
Точка в 4 четверти


12 | Автор: @qwerty159 | 2014-09-26, 21:35   |  Репутация: [ + 0 ]
15. Задают координаты точки в пространстве. Вывести на экран номер октанта, которому принадлежит эта точка. Если точка попадает в координатную плоскость, также сообщить об этом.
Код
program OlgaFrolova;
(****************************************************
    **   Laba #5 File Olga Frolova.pas == ver.1.0. **
    ***  Frolova O.R. Group I-14-1 Date 28.09.2014 ***
    ****************************************************)
     var a,b,c:real;
     begin
      writeln (' Введите число a,b,c ');
      readln (a,b,c);
write ('Точка лежит в ');
      if ((a>0) and (b>0) and (c>0)) then write ('октанте 1')
      if ((a<0) and (b>0) and (c>0)) then write ('октанте 2')
      if ((a<0) and (b<0) and (c>0)) then write ('октанте 3')
      if ((a>0) and (b<0) and (c>0)) then write ('октанте 4')
      if ((a>0) and (b>0) and (c<0)) then write ('октанте 5')
      if ((a<0) and (b>0) and (c<0)) then write ('октанте 6')
      if ((a<0) and (b<0) and (c<0)) then write ('октанте 7')
      if ((a>0) and (b<0) and (c<0)) then write('октанте 8')
      if ((a<>0) and (b<>0)and (c=0)) then write ('координатной плоскости');
     readln;
      end.


25101996
13 | Автор: OlgaFrolova | 2014-09-28, 12:39 | Изменено: OlgaFrolova - Вс, 2014-09-28, 13:27   |  Репутация: [ + 0 ]
Код
Program dea2;
var a,b,c,d: Integer;
begin
Write('Введите числа');
Readln(a,b,c,d);
if (a<>b) and (b=c) then Writeln('1');
if (b<>c) and (c=a) then Writeln('2');
if (c<>d) and (d=a) then writeln('3');
if (d<>a) and (a=c) then writeln('4');
Readln;
end.

14 | Автор: Awesome | 2014-09-29, 00:04 | Изменено: Awesome - Пн, 2014-09-29, 01:23   |  Репутация: [ + 2 ]
Задание №2. Перераспределить значения переменных X и Y так, чтобы в X оказалось меньшее из этих значений, а в Y — большее.

Код
(************************************************
      *       laba #5 file:beznoschenko.pas==ver.7.0  *                       
      *                    laba#5                     *
      *Beznoschenko Valentina I-14-1 22/09/2014       *
      *************************************************)
Var X,Y,a:real;   
  begin          
  Writeln('Введите значения X');                 
  Readln(X);
  Writeln('Введите значения Y');          
  Readln(Y);         
  If(X>Y) then
    Begin
   a:=X;           
   X:=Y;
   Y:=a;  
     End;
  Writeln('X=',X,';','Y=',Y);
  end.

http://195.208.237.170/WDE/?shared=beznoschenko/beznoschenko.pas
15 | Автор: beznoschenko | 2014-09-29, 22:35 | Изменено: beznoschenko - Вт, 2014-09-30, 00:00   |  Репутация: [ + 2 ]
10. Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Вывести порядковый номер этого числа.

Код
Program dea2;  
  var a,b,c,d: Integer;  
  begin  
  Write('Введите числа');  
  Readln(a,b,c,d);  
  if (a<>b) and (b=c) then Writeln('1');  
  if (b<>c) and (c=a) then Writeln('2');  
  if (c<>d) and (d=a) then writeln('3');  
  if (d<>a) and (a=c) then writeln('4');  
  Readln;  
  end.
16 | Автор: Awesome | 2014-10-02, 00:11   |  Репутация: [ + 2 ]
В пространстве заданы координаты четырех точек. Проверить образуют ли они правильную треугольную пирамиду.
http://195.208.237.170/WDE/?shared=torres26971/piramida.pas
Код
Program torres;
              
        { *************************************************************
         *         laba#6 file: misha_shabelnik 97 pas == ver.1.0    *
         *         Shabelnik M.V. Group I-14-1 Date: 25\09\14        *
         *************************************************************}
   var xa,ya, za,xb,yb,zb,xc,yc,zc,xd,yd,zd,AB,BC,CD,AD,AC,DB: real;
   begin
   writeln('Введите координаты  xa,ya, za,xb,yb,zb,xc,yc,zc,xd,yd,zd');
   readln (xa,ya, za,xb,yb,zb,xc,yc,zc,xd,yd,zd);
   AB:=sqrt(sqr(xb - xa) + sqr(yb - ya)+ sqr(zb-za));
   BC:=sqrt(sqr(xc - xb) + sqr(yc - yb)+ sqr(zc-zb));
   CD:=sqrt(sqr(xd - xc) + sqr(yd - yc)+sqr(zd-zc));
   AD:=sqrt(sqr(xd - xa) + sqr(yd - ya)+ sqr(zd-za));
   AC:=sqrt(sqr(xc - xa) + sqr(yc - ya)+ sqr(zc-za));
   DB:=sqrt(sqr(xb - xd) + sqr(yb - yd)+ sqr(zb-zd));
   if (AB=BC) and (BC=AC) and (AC=AD) and (AD=DB)and(DB=CD)then writeln('Пирамида правильная')
     else writeln('Пирамида не правильная');
   end.

17 | Автор: torres | 2014-10-04, 11:23 | Изменено: torres - Сб, 2014-10-04, 21:23   |  Репутация: [ + 0 ]
9. Даны вещественные координаты точки, не лежащей на координатных осях OX и OY.
Вывести номер координатной четверти, в которой находится данная точка.

Код
Program qwerty159;
var x,y :real;
Begin
Writeln ('Введите x, y');
Readln (x, y);
if (x>0) and (y>0) then writeln ('1 четверть');
if (x<0) and (y>0) then writeln ('2 четверть');
if (x<0) and (y<0) then writeln ('3 четверть');
if (x>0) and (y<0) then writeln ('4 четверть');
end.


Контрольный расчёт:
Код
Введите x, y
1 2
1 четверть
Введите x, y
-6 9
2 четверть
Введите x, y
-2 -6
3 четверть
Введите x, y
6 -7
4 четверть

18 | Автор: @qwerty159 | 2014-10-07, 20:55   |  Репутация: [ + 0 ]
9. Даны вещественные координаты точки, не лежащей на координатных осях OX и OY.
Вывести номер координатной четверти, в которой находится данная точка.

Код
Program qwerty159;
var x,y :real;
Begin
Writeln ('Введите x, y');
Readln (x, y);
if (x=0) and (y=0) then writeln ('Начало координат');
if (x>0) and (y=0) then writeln ('Ось Ox');
if (x<0) and (y=0) then writeln ('Ось Ox');
if (x=0) and (y>0) then writeln ('Ось Oy');
if (x=0) and (y<0) then writeln ('Ось Oy');
if (x>0) and (y>0) then writeln ('1 четверть');
if (x<0) and (y>0) then writeln ('2 четверть');
if (x<0) and (y<0) then writeln ('3 четверть');
if (x>0) and (y<0) then writeln ('4 четверть');
end.


Контрольный расчёт:
Код
Введите x, y
0 0
Начало координат
Введите x, y
1 0
Ось Ox
Введите x, y
-2 0
Ось Ox
Введите x, y
0 1
Ось Oy
Введите x, y
0 -3
Ось Oy
Введите x, y
2 2
1 четверть
Введите x, y
-3 4
2 четверть
Введите x, y
-4 -4
3 четверть
Введите x, y
6 -7
4 четверть


19 | Автор: @qwerty159 | 2014-10-07, 21:49   |  Репутация: [ + 0 ]
15. Задают координаты точки в пространстве. Вывести на экран номер октанта, которому принадлежит эта точка. Если точка попадает в координатную плоскость, также сообщить об этом
Код
program OlgaFrolova;
     (****************************************************
        **   Laba #5 File Olga Frolova.pas == ver.1.0. **
        ***  Frolova O.R. Group I-14-1 Date 12.10.2014 ***
        ****************************************************)
         var a,b,c:real;
         begin
          writeln (' Введите число a,b,c ');
          readln (a,b,c);
     write ('Точка лежит в ');
          if ((a*b>0) and (c>0)) then write ('октанте 1')else
          if ((a<0) and (b*c>0)) then write ('октанте 2')else
          if ((a+b<0) and (c>0)) then write ('октанте 3')else
          if ((a*c>0) and (b<0)) then write ('октанте 4')else
          if ((a*b>0) and (c<0)) then write ('октанте 5')else
          if ((a+c<0) and (b>0)) then write ('октанте 6')else
          if ((a+b<0) and (c<0)) then write ('октанте 7')else
          if ((a>0) and (b+c<0)) then write('октанте 8')else
          if ((a+b<>0)and (c=0)) then write ('координатной плоскости');
         readln;
          end.



25101996
20 | Автор: OlgaFrolova | 2014-10-18, 10:21   |  Репутация: [ + 0 ]


25101996
20 | Автор: OlgaFrolova | 2014-10-18, 10:21   |  Репутация: [ + 0 ]
Форум ПРОГРАММИСТОВ » КУРС ОПР - ПАСКАЛЬ » Лабораторные работы » Лабораторная работа №5 (условные операторы)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: