Новые сообщения · Правила  
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум ПРОГРАММИСТОВ » КУРС ОПР - ПАСКАЛЬ » Лабораторные работы » Лабораторная работа №5 (условные операторы)
Лабораторная работа №5
13. Даны координаты вершин треугольника в пространстве. Задают координаты числа. Проверить лежит ли эта точка в плоскости треугольника.
Код
program laba5
{***************************************}
{*  laba#5 file:Bonyasik2.pas==ver1.0  *}
{*  Prokopenko Nikol I-14-1 04.10.14   *}
{***************************************};
   var X,X1,X2,X3,Y,Y1,Y2,Y3,Z,Z1,Z2,Z3,c:integer;
    begin
     writeln('Введите координаты вершины A(X1,Y1,Z1)');
     writeln('Введите координаты вершины B(X2,Y2,Z2)');   
     writeln('Введите координаты вершины C(X3,Y3,Z3)');
     writeln('Введите координаты точки D(X,Y,Z)');
     readln(X,X1,X2,X3,Y,Y1,Y2,Y3,Z,Z1,Z2,Z3);
      X2:=X2-X1;
      Y2:=Y2-Y1;
      Z2:=Z2-Z1;
      X3:=X3-X1;
      Y3:=Y3-Y1;
      Z3:=Z3-Z1;
      X:=X-X1;
      Y:=Y-Y1;
      Z:=Z-Z1;
      c:=X2*(Y3*Z-Z3*Y)+Y2*(X3*Z-Z3*X)+Z2*(X3*Y-Y3*X);
     if c=0 then writeln('Точка D лежит в плоскости треугольника ABC')
     else writeln('Точка D не лежит в плоскости треугольника ABC');
     end.
21 | Автор: Бонясик | 2014-10-19, 17:36 | Изменено: Бонясик - Пн, 2014-10-20, 12:30   |  Репутация: [ + 0 ]
21 | Автор: Бонясик | 2014-10-19, 17:36 | Изменено: Бонясик - Пн, 2014-10-20, 12:30   |  Репутация: [ + 0 ]
14. Даны координаты вершин треугольника на плоскости. Задают координаты точки. Проверить, лежит ли эта точка внутри треугольника.

Код
program bf_laba5;
uses crt;
var x1,y1,x2,y2,x3,y3,tx,ty,AB,BD,DA,AX,BX,DX,pabd,pabx,padx,pbdx,Sabd,Sabx,Sadx,Sbdx,Sall:real;
begin

clrscr;
writeln('Введите координаты вершин треугольника в таком порядке x1, y1, x2, y2, x3, y3:');
readln(x1,y1,x2,y2,x3,y3);
writeln('Введите координаты точки X: ');
Readln(tx,ty);
AB:=sqrt(sqr(x1-x2)+sqr(y1-y2));
BD:=sqrt(sqr(x2-x3)+sqr(y2-y3));
DA:=sqrt(sqr(x3-x1)+sqr(y3-y1));
AX:=sqrt(sqr(x1-tx)+sqr(y1-ty));
BX:=sqrt(sqr(x2-tx)+sqr(y2-ty));

DX:=sqrt(sqr(x3-tx)+sqr(y3-ty));
pabd:=(AB+BD+DA)/2;
pabx:=(AB+BX+AX)/2;
padx:=(DA+DX+AX)/2;
pbdx:=(BD+BX+DX)/2;
Sabd:=(pabd*(pabd-AB)*(pabd-BD)*(pabd-DA));
Sabx:=(pabx*(pabx-AB)*(pabx-BX)*(pabx-AX));
Sadx:=(padx*(padx-DA)*(padx-DX)*(padx-AX));
Sbdx:=(pbdx*(pbdx-BD)*(pbdx-BX)*(pbdx-DX));
Sall:=Sabx+Sadx+Sbdx
if Sabd<=Sall then writeln('Точка лежит вне плоскости треугольника!') else writeln('Точка лежит в плоскости треугольника!');

end.



22 | Автор: Bun_Frith | 2014-10-19, 22:10 | Изменено: Bun_Frith - Вс, 2014-10-19, 22:11   |  Репутация: [ + 4 ]
7. Даны три переменные: X,Y,Z. Если их значения упорядочены по убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.

Код
program Iren456{***********************************}
{* laba#5 file iren456.pas==ver1.0 *}
{* Zaznoba Irina I-14-1 06.10.14   *}
{***********************************};
var x,y,z: real;
a,b: boolean;
begin
  writeln('enter x');
writeln('enter y');
writeln('enter z');
readln(x,y,z);
a:= false;
if (x>y) then a:= true
else  a:= false;   
if (y>z) then b:= true  
else b:= false;
     if (a and b = true)  
then     
  begin  
    x:=2*x;  
    y:=2*y;  
    z:=2*z;
     end
    else
     begin
     x:=(-1)*x;
     y:=(-1)*y;  
     z:=(-1)*z;
     end;
  writeln('x=',x);
  writeln('y=',y);
  writeln('z=',z);
  end.
http://195.208.237.170/WDE/?shared=iren4562/laba5.pas


Ирина Зазноба
23 | Автор: iren456 | 2014-10-20, 13:04 | Изменено: iren456 - Ср, 2014-10-22, 22:23   |  Репутация: [ + 0 ]
15. Задают координаты точки в пространстве. Вывести на экран номер октанта, которому принадлежит эта точка. Если точка попадает в координатную плоскость, также сообщить об этом

http://195.208.237.170/WDE/?shared=OlgaFrolova/Program5.pas

Код
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*c>0) and (a>0)then write ('октанте 1');
           if ((a<0) and (b+c>0)) then write ('октанте 2');
           if ((a+b<0) and (c>0)) then write ('октанте 3');
           if ((a+c>0) and (b<0)) then write ('октанте 4');
           if ((a+b>0) and (c<0)) then write ('октанте 5');
           if ((a+c<0) and (b>0)) then write ('октанте 6');
           if ((a+b<0) and (c<0)) then write ('октанте 7');
           if ((a>0) and (b+c<0)) then write ('октанте 8');
           if ((a+b<>0)and (c=0)) then write ('координатной плоскости');
          readln;
           end.




25101996
24 | Автор: OlgaFrolova | 2014-10-26, 12:16   |  Репутация: [ + 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
25 | Автор: OlgaFrolova | 2014-11-01, 16:39   |  Репутация: [ + 0 ]
http://195.208.237.170/WDE....am5.pas

15. Задают координаты точки в пространстве. Вывести на экран номер октанта, которому принадлежит эта точка. Если точка попадает в координатную плоскость, также сообщить об этом

Код
program OlgaFrolova;
   (****************************************************
      **   Laba #5 File Olga Frolova.pas == ver.1.0. **
      ***  Frolova O.R. Group I-14-1 Date 04.11.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 ('координатной плоскости');
        if ((a=0) and (b=0) and (c=0)) then write ('начале координат');
       readln;
        end.




25101996
26 | Автор: OlgaFrolova | 2014-11-04, 16:52   |  Репутация: [ + 0 ]
1. Из трех данных чисел выбрать наименьшее и наибольшее. 

Код
program dimeshion;
uses crt;
var a,b,c,max,min: real;
begin
      writeln('Введите числа a, b, c: ');
      readln(a,b,c);
      min:=a; max:=a;
         if (b<a) then min:=b
         else max:=b;
         if (min>c) then min:=c;
         if (c>max) then max:=c;
      writeln('Наибольшее число: ',max);
      writeln('Наименьшее число: ',min);
end.


27 | Автор: dimeshion | 2014-11-23, 22:24   |  Репутация: [ + 2 ]
12. Дано целое число, лежащее в диапазоне от –999 до 999. Вывести строку — словесное описание данного числа вида "отрицательное двузначное число", "нулевое число", "положительное однозначное число" и т.д.
Код
Program Vincent_Young;
var n:real;
writeln('Введите число n: ');
readln (n);
case n of
-999...-100:writeln('Отрицательное трехзначное число');
-99...-10:writeln('Отрицательное двухзначное число');
-9...-1:writeln('Отрицательное однозначное число');
0:writeln('Нулевое число');
1...9:writeln('Положительное однозначное число');
10...99:writeln('Положительное двухзначное число');
100...999:writeln('Положительное трехзначное число');
end.



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