Лабораторная работа №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 - выводится два яблока и так далее.
|
|
|
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.
|
|
|
Задание: 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.
|
|
|
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 четверти
|
|
|
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.
|
|
|
В пространстве заданы координаты четырех точек. Проверить образуют ли они правильную треугольную пирамиду. 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 четверть
|
|
|
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 четверть
|
|
|
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
|
|
|