Примеры заданий и решений контрольной работы для зачета 2 семестр

реклама
Примеры заданий и решений
контрольной работы для зачета 2 семестр
Подпрограммы
1. Написать программу, в которой вводятся числа a,b,c и вычислить их
сумму (a+b+c) в подпрограмме.
Решение:
Program pp1;
Тело
подпрограммы
function summa(a,b,c:real):real;
begin
summa:=a+b+c;
end;
var x,y,z,s:real;
begin
Вывод «подсказки» на экран
write('vvod x,y,z: ');
read(x,y,z);
Ввод данных с клавиатуры
s:=summa(x,y,z);
Вызов подпрограммы
writeln(' summirovanie: ',s:6:3);
Вывод результата
end.
Еще примеры:
2. Написать программу, в
которой вводятся числа a
и b
и вычислить
произведение
a*b,
2.427*b
с
помощью
подпрограммы.
Решение:
Program pp2;
function proizv(a,b:real):real;
begin
proizv:=a*b;
end;
3. Написать программу, в которой
вводятся числа a и b и вычислить их
сумму и разность с помощью
подпрограммы.
Решение:
Program pp3;
function sum(a,b:real):real;
begin
sum:=a+b;
end;
var x,y,z,s:real;
begin
1
var x,y,z,s:real;
begin
write('vvod x,y: ');
read(x,y);
s:=proizv(x,y);
writeln(' x*y= ',s:6:3);
z:=proizv(2.427,y);
writeln(' 2.427*y= ',z:6:3);
end.
write('vvod x,y: ');
read(x,y);
s:=sum(x,y);
writeln(' x+y= ',s:6:3);
z:=sum(x,-y);
writeln(' x-y= ',z:6:3);
end.
4. Написать программу для
расчета f(π/2), f(π) .
Функцию
f(x)=x*(sinx+x)1/2
рассчитывать
в подпрограмме.
Решение:
5. Даны три точки А(x,y), В(x1,y1),
С(x2,y2).
Найти
периметр
треугольника. Расчёт длин сторон
производить в подпрограмме.
Решение:
Program pp2;
function fun(x:real):real;
begin
fun:=x*sqrt(sin(x)+x);
end;
var f1,f2:real;
begin
f1:=fun(3.1416/2);
writeln(' f(pi/2)= ',f1:6:3);
f2:=fun(3.1416);
writeln('f(pi) = ',f2:6:3);
end.
Program pp5;
function dlina(x1,y1,x2,y2:real):real;
begin
dlina:=sqrt(sqr(x2-x1)+sqr(y2-y1));
end;
var xa,ya,xb,yb,xc,yc,p:real;
begin
write('vvod koordinat vershiny A: ');
read(xa,ya);
write('vvod koordinat vershiny B: ');
read(xb,yb);
write('vvod koordinat vershiny C: ');
read(xc,yc);
p:=dlina(xa,ya,xb,yb)+dlina(xb,yb,xc,yc)+
dlina(xc,yc,xa,ya);
writeln(' perimetr p=',p:6:3);
end.
6. Задать координаты вершин прямоугольника АВСД. Найти длины его
сторон, длину диагонали и площадь. Длины отрезков рассчитывать в
подпрограмме.
Решение:
Program pp6;
function dlina(x1,y1,x2,y2:real):real;
begin
dlina:=sqrt(sqr(x2-x1)+sqr(y2-y1));
end;
2
var xa,ya,xb,yb,xc,yc,xd,yd,d1,d2,dd,s:real;
begin
write('vvod koordinat vershiny A: ');
read(xa,ya);
write('vvod koordinat vershiny B: ');
read(xb,yb);
write('vvod koordinat vershiny C: ');
read(xc,yc);
write('vvod koordinat vershiny D: ');
read(xd,yd);
d1:=dlina(xa,ya,xb,yb);
d2:=dlina(xb,yb,xc,yc);
writeln(' dlina storon d1=',d1:6:3,' d2=',d2:6:3);
dd:=dlina(xa,ya,xc,yc);
writeln(' dlina diagonali d=',dd:6:3);
s:=d1*d2;
writeln(' s=',s:6:3);
end.
Графика
1. Написать программу, которая рисует лицо человека. Овал лица
(окружность), нос и рот рисуются красным, глаза –синими точками.
Решение:
Program gr1;
uses graph;
var
grDriver, grMode: integer;
Подключение графической
библиотеки
BEGIN
Установка графического
режима «по умолчанию»
grDriver:=detect;
InitGraph(grDriver,grMode,'');
Setcolor(4);
Устанавливаем цвет пера
circle(200,300,100);
Рисуем окружность
line(200,280,200,330);
line(180,370,220,370);
putpixel(150,250,1);
Рисуем линию
Рисуем точку
putpixel(250,250,1);
readln;
end.
3
Еще примеры:
2. Написать программу, которая
рисует в левом верхнем углу
экрана окружность, в которой
находится цифра 1.
Решение:
3. Написать программу, которая
рисует в левом нижнем углу
экрана окружность, и две
прямые, пересекающиеся под
прямым углом в ее центре
Решение
Program gr2;
uses graph;
var
grDriver, grMode: integer;
BEGIN
grDriver:=detect;
InitGraph(grDriver,grMode,' ');
circle(200,150,100);
line(200,100,200,200);
line(200,100,180,170);
readln;
end.
Program gr3;
uses graph;
var
grDriver, grMode: integer;
BEGIN
grDriver:=detect;
InitGraph(grDriver,grMode,' ');
circle(200,450,100);
line(200,300,200,600);
line(50,450,350,450);
readln;
end.
4. Написать программу, которая
5. Написать программу, которая
рисует в правом нижнем углу
рисует на экране движущуюся
экрана треугольник зеленого
по диагонали точку;
цвета
Решение:
Решение:
Program gr5;
Program gr4;
uses crt,graph;
uses graph;
var
var
grDriver, grMode, i: integer;
grDriver, grMode: integer;
BEGIN
BEGIN
grDriver:=detect;
grDriver:=detect;
InitGraph(grDriver,grMode,' ');
InitGraph(grDriver,grMode,' ');
for i:=1 to 600 do
SetColor(2);
begin
line(800,600,1000,600);
putpixel(i,i,10);
line(1000,600,900,650);
delay(50);
line(900,650,800,600);
putpixel(i,i,0);
readln;
end;
end.
readln;
end.
6. Написать программу, которая
рисует на экране движущуюся
слева направо окружность;
Решение:
4
Program gr6;
uses crt,graph;
var
grDriver, grMode,i: integer;
BEGIN
grDriver:=detect;
InitGraph(grDriver,grMode,' ');
for i:=1 to 200 do
begin
setcolor(3);
circle(3*i,200,50);
delay(50);
setcolor(0);
circle(3*i,200,50);
end;
readln;
end.
Численное интегрирование
1. Записать формулу метода прямоугольников
справа для интеграла
2
 x a
a
3

 x 3 dx
1
Решение:
В данном интеграле пределы интегрирования а=-1, b=2. Возьмем число
разбиений n=100. Тогда номера точек i=0..100. Шаг численного
интегрирования h 
b  a 2 1

 0.03 и xi  a  i  h  1 0.03i
n
100
Подынтегральная функция
yi  f ( xi )  xia (a 3  x 3i )  (1  0.03i) a (a 3  (1  0.03i) 3 )
2
n
100
1
i 1
i 1
a
3
3
a
3
3
 x (a  x )dx   h  yi  0.03 (1  0.03i) (a  (1  0.03i) )
2. Записать формулу метода трапеций
для интеграла
5
0.7
 ( x  a)a  xdx
0.5
Решение:
В данном интеграле пределы интегрирования а=0.5, b=0.7. Возмем число
разбиений n=100. Тогда номера точек i=0..100. Шаг численного
интегрирования h 
b  a 0.7  0.5

 0.002 и xi  a  i  h  0.5  0.002i
n
100
Подынтегральная функция
y i  f ( xi )  ( xi  a)( xi  a)  (0.5  0.002i  a )(0.5  0.002i  a )
n 1
h
(
x

a
)(
x

a
)
dx

 ( y i  y i 1 ) 

0.5
i 0 2
0.7
99
 0.001 (0.5  0.002i  a)(0.5  0.002i  a )  (0.5  0.002(i  1)  a )(0.5  0.002(i  1)  a)
i 0
3. Записать численную схему нахождения значения определенного
интеграла методом прямоугольников слева
10
 x coscx dx
1
1
Решение:
Сначала необходимо определить переменную интегрирования (по
дифференциалу), пределы интегрирования по ней и рассчитать шаг. В
данном случае, переменная х изменяется от 1 до 10. Шаг h=(10-1)/n=9/n (nчисло разбиений, например, n=100).
В квадратурных формулах численного интегрирования переменная
интегрирования меняется дискретно xi  a  i  h . В данном случае xi  1 9i / n .
Значение хi используется для вычисления значения функции:
y i  y ( xi ) 
1
1
cosc  x i  
cosc  1  9i / n 
xi
1  9i / n
В методе прямоугольников слева искомый интеграл рассчитывается по
формуле
n 1
I  h y i
i 0
Окончательно записываем численную схему для вычисления данного
интеграла методом прямоугольников слева:
n 1
1
1


cos
cx
dx

cosc  (1  9i / n) 

1 x
i  0 1  9i / n
10
6
4. Записать численную схему нахождения значения определенного интеграла
методом прямоугольников справа
10
 x coscx dx
1
1
Решение:
Переменная интегрирования х изменяется от 1 до 10.
Шаг h=(10-1)/n=9/n (n-число разбиений, например, n=100).
Переменная интегрирования меняется дискретно xi  a  i  h . В данном
случае xi  1 9i / n .
Значение хi используется для вычисления значения функции:
y i  y ( xi ) 
1
1
cosc  x i  
cosc  1  9i / n 
xi
1  9i / n
В методе прямоугольников справа искомый интеграл рассчитывается по
формуле
n
I  h y i
i 1
Окончательно записываем численную схему для вычисления данного
интеграла методом прямоугольников справа:
10
n
1
1


cos
cx
dx

cosc  (1  9i / n) 

1 x
i 1 1  9i / n
5. Записать численную схему нахождения значения определенного интеграла
методом трапеций
10
 x coscx dx
1
1
Решение:
Переменная интегрирования х изменяется от 1 до 10.
Шаг h=(10-1)/n=9/n (n-число разбиений, например, n=100).
Переменная интегрирования меняется дискретно xi  a  i  h . В данном
случае xi  1 9i / n .
Значение хi используется для вычисления значения функции:
y i  y ( xi ) 
1
1
cosc  x i  
cosc  1  9i / n 
xi
1  9i / n
В методе трапеций необходимо еще найти
y i 1 
1
1
cosc  x i 1  
cosc  1  9(i  1) / n 
x i 1
1  9(i  1) / n
и подставить его в формулу для метода трапеций
7
y i 1  y i

9 n 1  1
1
I  h

cosc  (1  9i / n)  
cosc  (1  9(i  1) / n) 


2
2n i 0 1  9i / n
1  9(i  1) / n
i 0

n 1
6. Записать численную схему нахождения значения определенного интеграла
методом трапеций
2b
2 x 1
e
 dx
b
Решение:
Переменная интегрирования х изменяется от -b до 2b.
Шаг h=(2b-(-b))/n=3b/n (n-число разбиений, например, n=100).
Переменная интегрирования меняется дискретно xi  a  i  h . В данном случае
xi  b  3bi / n
Значение хi используется для вычисления значений функции:
yi  y ( xi )  e 2 xi 1  e 2( b  3bi / n ) 1
yi 1  y ( xi 1 )  e 2 xi1 1  e 2 ( b  3b (i 1) / n ) 1
Окончательно записываем численную схему для вычисления данного
интеграла методом трапеций:

yi 1  yi 3b n 1 2 (  b 3b (i 1) / n )1
I  h
 e
 e 2 (  b 3bi / n )1
2
n i 0
i 0
n 1
8

Скачать