Автор: Пользователь скрыл имя, 06 Ноября 2012 в 08:40, контрольная работа
Работа содержит задания по дисциплине "Информатика" и ответы на них
Донбасский Горно-Металлургический Институт
Кафедра ЭКиИТ
Шифр: 8030106
Контрольная работа
по информатике и компьютерной технике
студента группы
г. Алчевск
2002 г.
Контрольное задание 1.
Записать на языке Qbasic арифметическое выражение. Запись осуществить двумя способами:
-с разбивкой выражения на части;
-полным выражением.
Сравнить полученные результаты.
при x = 234.1
program kz1;
uses crt,math;
var
x,a,b,c,d,e,y:real;
begin
clrscr;
x:=234.1;
a:=sqr(sin(pi/2+1));
b:=x*pow(3+sqr(x),0.25);
c:=pow(tan(pow(x,3)-1),3);
d:=atan(x/2);
e:=ln (17.5);
y:=(sqr(sin(pi/2+1))+x*pow(3+
pow(tan(pow(x,3)-1),3))/(atan(
writeln ('y','=',y);
y:=(a+b-c)/(d-e);
writeln ('y','=',y);
readln;
end.
В результате выполнения программы на экран будет выдано следующее:
y=-2.7492408192E+03
y=-2.7564794539E+03
Контрольное задание 2.
Составить программу вычисления функции, используя различные способы ввода и вывода данных.
при a=0.3 и b=-21.17
Ввод исходных данных осуществить с клавиатуры. Вывод исходных данных и результатов вычисления осуществить отдельно в каждой строке.
program kz2;
uses crt,math;
var
x,a,b,c,d,e,y:real;
begin
writeln ('Input a');
readln (a);
writeln ('Input b');
readln (b);
y:=pow(1/(tan(pi/4-1)),4)+pow(
writeln ('y','=',y);
writeln (Исходные данные: ',' a=',a,' b=',b);
readln;
end.
В результате выполнения программы на экран будет выдано следующее:
Input a
0.3
Input b
-21.17
Исходные данные: a= 0.3 b= -21.17
y= 6.7235534955E+02
Контрольное задание 3.
Составить программу табулирования функции y. В таблицу вывести параметры цикла и результат вычисления.
при
program kz3;
uses crt,math;
var
x,a,y:real;
n:integer;
begin
clrscr;
x:=12.1;
n:=7;
while n<=51 do begin
a:=n/2;
y:=asin (x/3)+1.2*a;
writeln (y);
n:=n+5;
delay (20);
end;
readln;
end.
Результаты вычисления |
Параметр цикла - a |
6.54 |
3.5 |
9.54 |
6 |
12.54 |
8.5 |
15.54 |
11 |
18.54 |
13.5 |
21.54 |
16 |
24.54 |
18.5 |
27.54 |
21 |
30.54 |
23.5 |
Контрольное задание 4.
Составить программу вычисления суммы либо произведения (вложенные циклы).
program kz4;
uses crt,math;
var
a,y:real;
c,x:integer;
begin
clrscr;
y:=0;
for x:=1 to 6 do begin
for c:=0 to 20 do begin
a:=c/10;
y:=y+pow(7,a)-cos(x);
c:=c+2;
end;
end;
write (y);
readln;
end.
В результате выполнения программы на экран будет выдано следующее значение суммы:
4.4486568117E+02
Контрольное задание 5.
Составить программу вычисления функции (циклический вычислительный процесс с разветвлением). Распечатать результат вычисления и величину,от которой зависит выбор условия.
причем 6<x<2 и
если
если
если
program kz5;
uses crt,math;
var
B,a,x:real;
n:integer;
begin
for n:=-11 to 3 do begin
x:=n/2;
if (-2<(x/2)) and (x/2<=-1) then B:=pow(sin (x),2);
if (-1<(x/2)) and (x/2>0.2) then B:=pow(cos (x),2);
if ((x/2)=0.2) then B:=pow(1/tan (x),2);
writeln ('B = ',B,' ','x/2 = ',' ',x/2);
end;
readln;
end.
В результате выполнения программы на экран будет выдано следующее:
B = 0.0000000000E+00 x/2 = -2.7500000000E+00
B = 0.0000000000E+00 x/2 = -2.5000000000E+00
B = 0.0000000000E+00 x/2 = -2.2500000000E+00
B = 0.0000000000E+00 x/2 = -2.0000000000E+00
B = 1.2304887283E-01 x/2 = -1.7500000000E+00
B = 1.9914856674E-02 x/2 = -1.5000000000E+00
B = 3.5816890727E-01 x/2 = -1.2500000000E+00
B = 8.2682181043E-01 x/2 = -1.0000000000E+00
B = 8.2682181043E-01 x/2 = -7.5000000000E-01
B = 8.2682181043E-01 x/2 = -5.0000000000E-01
B = 8.2682181043E-01 x/2 = -5.0000000000E-01
B = 8.2682181043E-01 x/2 = 0.0000000000E+00
B = 7.7015115293E-01 x/2 = 2.5000000000E-01
B = 2.9192658173E-01 x/2 = 5.000000000E-01
B = 5.0037516997E-03 x/2 = 7.5000000000E-01
Контрольное задание 6.
По данной функции сформировать одномерный массив, состоящий из 20-40 элементов, при изменении аргумента в заданном интервале. Организовать форматный вывод массива с заголовками и индексами. В сформированном массиве определить и вывести с заголовками сумму элементов, имеющих нечетные индексы. Вывести эти элементы с индексами.
Интервал (-3;2); Функция
program kz6;
uses crt,math;
var
x,k,d,s:real;
n,c:integer;
A,B:array[1..40] of real;
begin
clrscr;
c:=0;
s:=0;
for n:=-30 to 20 do begin
k:=n/10;
d:=log10 (abs(k+6));
inc(c);
A[c]:=d;
n:=n+2;
end;
for n:=1 to c do writeln ('A','(',n,')',A[n]);
writeln;
for n:=1 to c do begin
if (frac (n/2)<>0) then begin
s:=s+A[n];
writeln ('A','(',n,')',A[n]);
end;
end;
writeln;
writeln('Summ =',s);
readln;
end.
В результате выполнения программы на экран будет выдано следующее:
A(1) 4.7712125472E-01
A(2) 5.1851393988E-01
A(3) 5.5630250077E-01
A(4) 5.9106460703E-01
A(5) 6.2324929040E-01
A(6) 6.5321251378E-01
A(7) 6.8124123738E-01
A(8) 7.0757017610E-01
A(9) 7.3239375982E-01
A(10) 7.5587485567E-01
A(11) 7.7815125038E-01
A(12) 7.9934054945E-01
A(13) 8.1954393355E-01
A(14) 8.3884909074E-01
A(15) 8.5733249643E-01
A(16) 8.7506126339E-01
A(17) 8.9209460269E-01
A(1) 4.7712125472E-01
A(3) 5.5630250077E-01
A(5) 6.2324929040E-01
A(7) 6.8124123738E-01
A(9) 7.3239375982E-01
A(11) 7.7815125038E-01
A(13) 8.1954393355E-01
A(15) 8.5733249643E-01
A(17) 8.9209460269E-01
Sum = 6.4174303281E+00
Индивидуальное задание по
Сформировать одномерный массив М(24), значения элементов которого располагаются произвольным образом в диапазоне от –7 до 45 и округлены до десятых. Сформировать из массива М новый отсортированный по возрастанию массив В, в который входят те элементы массива М, модуль значения которых больше их индекса в массиве М.
Вывести массивы М и В в виде таблиц с псевдографическими границами (количество столбцов не более 4, количество строк должно быть минимальным – определяется программно). Индекс каждого элемента таблицы должен быть указан, например М(3)=5.6. Индекс в массиве М изменяется по строке, а в массиве В по столбцу.
Привести распечатку программы и результатов.
program Ind_zadanie;
uses crt;
var
Q1:array[1..24] of integer;
M,A,B,Z,M1:array[1..24] of real;
n,c,i,e,w,t,q:integer;
r,x:real;
begin
n:=0;
c:=0;
i:=0;
clrscr;
randomize;
for n:=1 to 24 do begin
c:=(random(520)-70);
M[n]:=c/10;
end;
for n:=1 to 24 do begin
if abs(M[n])>n then begin
inc(i);
A[i]:=M[n];
M1[i]:=M[n];
end;
end;
for n:=1 to i do writeln ('M','(',n,')','=',A[n]);
e:=1;
c:=0;
x:=A[1];
w:=1;
q:=1;
for t:=1 to i do begin
M1[q]:=-10;
for n:=2 to i do begin
if x>M1[n-1] then begin
x:=A[n-1];
q:=n;
end;
end;
Q1[t]:=q;
B[t]:=x;
end;
for n:=1 to i do begin
write ('M(',n,')=',M[n],' ');
if (frac(n/4)=0) then writeln;
end;
writeln;
xa:=1;
ya:=10;
for n:=1 to i do begin
gotoxy (xa,ya+n);
write ('B(',n,')=',B[n]);
if (frac(n/10)=0) then begin
xa:=xa+30;
ya:=0;
end;
end;
readln;
end.
В результате выполнения программы на экран будет выдано следующее:
M(1)=35.8 M(2)=33.3 M(3)=-5.
M(5)=10.1 M(6)=10.9 M(7)=35.
M(9)=13.4 M(10)=36.4 M(11)=
B(1)=-5.9 B(11)=41.5
B(2)=10.1 B(12)=44.9
B(3)=10.9
B(4)=13.4
B(5)=17.2
B(6)=25.2
B(7)=33.3
B(8)=35.2
B(9)=35.8
B(10)=36.4
19.11.2002 М.Лынь