Лабораторная работа № 3. КОНТРОЛЬНАЯ РАБОТА №1 (1–3)
КОНТРОЛЬНАЯ РАБОТА №1 (1–3) Вариант 2
Выполнил: студент 103 группы Висьневский А.В Проверил: канд. техн. наук, доц. кафедры САПР Гущина О.А.
Саранск СОДЕРЖАНИЕ 1 Лабораторная работа № 1 3 2 Лабораторная работа № 2 5 3 Лабораторная работа № 3 7
Лабораторная работа № 1 Задание 1. Используя табл. 1.1, разработать и отладить программу для организации ввода и вывода данных представленных типов. Таблица 1.1
Решение: PROGRAMlabrab1z1; CONST d=FALSE; Var a1,a2,a3 : integer; b1,b2 : real; c1,c2,c3,c4,c5 : char; BEGIN WRITE ('Введите значения целочисленных переменных a1,a2,a3 '); READLN(a1,a2,a3); WRITE ('Введите значения вещественных переменных в1,в2'); READLN(b1,b2); WRITE ('Введите значения с1,с2,с3,c4,c5 типа <<символ>>'); READLN(c1,c2,c3,c4,c5); WRITELN('Значения целочисленных переменных: '); WRITELN(' a1=',a1:6, ' a2=',a2:6, ' a3=',a3:6); WRITELN('Значения вещественных переменных: '); WRITELN(' b1=',b1:7:3, ' b2=',b2:7:3); WRITELN('Значения переменных типа <<символ>>: '); WRITELN(' c1=',c1, ' c2=',c2, ' c3=',c3 , ' c4=', c4,' c5=', c5); WRITELN('Значения логической константы: '); WRITELN('d=',d); END. Задание 2.По заданным расчетным формулам и наборам исходных данных составить программу для вычисления значений переменных. Вывод сопровождать наименованиями выводимых переменных.
Решение: PROGRAMlabrab1z2; VAR G,P,X,Y,Z,:real; BEGIN WRITE ('Введите X,Y,Z'); READLN(X,Y,Z); G:=ABS(EXP((Y/X)*LN(X))-X/(EXP((2/3)*LN(Y)))); P:=(X-Y)*(((Y-Z)/(Y-X))/(1+SQR(Y-X))); WRITELN('При X=',X:6:3,', Y=',Y:6:3,' и Z=',Z:6:3 ); WRITELN('значение G=',G:6:3); WRITELN('значение P=',P:6:3); END. Лабораторная работа №2 Задание 1.Составить программу для вычисления значений функции , . A = 1,238; B = 1,237; R = 2,48.
Решение: PROGRAMlabrab2z1; CONST A=1.238; B=1.237; R=2.48; VAR X,Y,Z:REAL; BEGIN IFB>A THENX:=15*B; IFB=A THENX:=10*A; IFB<A THENX:=17*B-A; IFR<3*X THENY:=A*B ELSEY:=12*R+3; Z:=X+Y; WRITELN('При Х= ',X:5:3,'и Y= ',Y:5:3,' значение функции Z= ',Z:5:3) END.
Задание 2.Составить программу для определения попадания точки, координаты которой вводятся с клавиатуры, в заштрихованную область, включая ее границы. Рисунок 1.
Анализируем заштрихованную область. Составим уравнение нижней прямой, проходящей через точки с координатами (0;1) и (1;0). Для этого напишем каноническое уравнение прямой, проходящей через две заданные точки: Т.е получаем, , – уравнение прямой. Аналогично, для верхней прямой, проходящей через точки (0;2) и (2;0):
Таким образом, получаем систему неравенств: Решение: PROGRAMlabrab2z2; VAR X,Y:REAL; BEGIN WRITE ('Введите координаты точки x,y:'); READLN(X,Y); IF(X>=0) and(Y>=0) and(Y>=1-X) and(Y<=2-x) THENWRITELN ('указанная точка принадлежит заштрихованной области') ELSEWRITELN('указанная точка не принадлежит заштрихованной области') END. Лабораторная работа № 3 Задание 1.Составить программу для вычисления значений функции F(X) на отрезке [A;B] в точках Xi = A+iH, где H = (B–A)/M; M–заданное целое число. F(X) = на отрезке [ ], M = 15. Решение: PROGRAMlabrab3z1; CONST A=PI/4; B=PI/2; M=15; VAR F,X,H:REAL; BEGIN H:=(B-A)/M; X:=A; Repeat F:=SIN(X); WRITELN('При х=' ,X:7:4,' F(X)=',F:7:4); X:=X+H; untilX>B END.
Задание 2.Составить программу для вычисления значений функции , где X изменяется от 0 с шагом H. Цикл заканчивается при первом отрицательном значении Y. Решение: PROGRAMlabrab3z2; CONST A=0.13; H=0.5; VAR U,V,X,Y:REAL; BEGIN U:=2.3*X+A; X:=0.; REPEAT IFU>A THENV:=5.3*X ELSE IFU<A THENV:=10*X ELSEV:=12.5; Y:=-EXP(X)+U+V; WRITELN('При Х=',X:5:2,' значение функции Y=',Y:5:2); X:=X+H; UNTILY<0 END. Задание 3.Составить программу для вычисления значений функции Y= F(X) при изменении X от 0 до 1с шагом H. Подсчитать количество отрицательных значений. , Решение: PROGRAMlabrab3z3; CONST A=0.3; H=0.1; VAR I:INTEGER; F,X:REAL; BEGIN I:=0; X:=0; WHILEX<=1 DO BEGIN IFX<A THENF:=2*X ELSEF:=SQR(X)+1.1*X+A; WRITELN ('При Х=',X:4:1,' F(x)=',F:6:3); IFF<0 THENI:=I+1; X:=X+H; END WRITELN('Отрицательных значений:',I) END.
Задание 4.Составить программу для вычисления всех корней уравнения в котором параметр изменяется по закону. , отрезок изменения шаг изменения Решение: PROGRAMlabrab3z4; CONST PI=3.1415926; B=-0.2; C=0.344; H=PI/10; VAR A,T,X1,X2,D:REAL; BEGIN T:=0; WHILET<=PI DO BEGIN A:=COS(T)+0.2; WRITE ('T=',T:7:3,' A=',A:7:3,' '); IFA<>0 THEN BEGIN D:=B*B-4*A*C; IFD<0 THEN WRITELN ('Дискриминант <0,корней нет') ELSE IFD<>0 THEN BEGIN X1:=(SQRT(D)-B)/(2*A); X2:=(-B-SQRT(D))/(2*A); WRITE('Корни: '); WRITE('X1=',X1:6:3); WRITELN(' X2=',X2:6:3); END ELSE BEGIN X1:=-B/(2*A); WRITE('Корни: '); WRITELN(' X1=X2=',X1:6:3); END END ELSE BEGIN X1:=-C/B; WRITE(' Один корень: '); WRITELN(' X=',X1:6:3); END; T:=T+H; END END.
Задание 5.Составить программу для вычисления суммы членов ряда, с точностью до члена ряда, меньшего . Первоначально N = 1.
Первоначальное значение элемента при N = 1 получаем следующим образом: . Вывод рекуррентной формулы выполняется из условия, что следующий элемент ряда получается из текущего элемента ряда при умножении его на некоторое выражение, которое получается при деление на : Решение: PROGRAMlabrab3z5; CONST EPSILON=0.0001; X=1.46; VAR Summ,T:REAL; N :INTEGER; BEGIN Summ:=0; N:=1; T:= -SQR(X)/2; REPEAT Summ:=Summ+T; N:=N+1; T:=T*(-1)*((sqr(X))/(2*N)); WRITELN('N=',N,' элемент ряда равен ',T:7:4); UNTILABS(T)< EPSILON; WRITELN(N); WRITELN('Сумма: ',Summ:6:5) END.
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1782)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |