дгту / музиков / информатика / Zadanie
.docx
Фамилия, Имя, Отчество |
Чапаев Василий Иванович |
|
Шифр зачетной книжки |
12456/97 |
|
Группа |
2135 |
|
Специальность |
060815 |
|
№ контрольной работы |
2 |
|
№ варианта |
6 |
|
Дата выполнения работы |
12.12.2003 |
|
Список файлов, созданных в ходе выполнения контрольной работы |
||
zadan1.doc, |
Отчёт к решению задачи |
|
Ref.doc |
Файл Word с текстом реферата |
|
tab.xls |
Таблица Excel c решением задачи |
Задание 1.
1. Выполнить последовательный перевод данных (десятичных) чисел в двоичную и шестнадцатеричную системы счисления: 745,0023;
Переведем число в двоичную систему счисления.
Переведем целую часть числа:
745|_2
-
372|_2
0 186|_2
0 93|_2
1 46|_2
0 23 |_2
1 11|_2
1 5|_2
1 2|_2
0 1
Остаток от деления записываем в обратном порядке. Получаем число в 2-ой системе счисления: 1011101001.
Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения.
0.0023*2 = 0.0046 (целая часть 0)
0.0046 *2 = 0.0092 (целая часть 0)
0.0092 *2 = 0.0183 (целая часть 0)
0.0183 *2 = 0.0366 (целая часть 0)
0.0366 *2 = 0.0732 (целая часть 0)
0.0732 *2 = 0.1464 (целая часть 0)
0.1464 *2 = 0.2928 (целая часть 0)
0.2928 *2 = 0.5856 (целая часть 0)
0.5856 *2 = 1,1712 (целая часть 1)
Получаем число в 2-ой системе счисления:
0.0023 = 0000000012
Получаем число в двоичной системе счисления:
745,0023(10)= 1011101001,000000001(2)
Переведем число из двоичной системы счисления в шестнадцатиричную с помощью специальных таблиц перевода:
745,0023(10)= 1011101001,000000001 (2)=
=0010|1110|1001,0000|0000|1000(2)=2Е9,008(16)
2. Выполнить последовательный перевод данных (шестнадцатеричных) чисел в двоичную и десятичную системы счисления: 9В673,Е2;
Переведем число из шестнадцатеричной системы счисления в двоичную с помощью специальных таблиц перевода:
9В673,Е2 (16)=|1001|1011|0110|0111|0011,|1110|0010|(2)
Переведем число из двоичной системы счисления в десятичную:
10011011011001110011,11100010 (2)=
=1*219+0*218+0*217+1*216+1*215+0*214+1*213+1*212+0*211+1*210+1*29+0*28+0*27+1*26+1*25+1*24+0*23+0*22+1*21+1*20+1*2-1+1*2-2+1*2-3+0*2-4+0*2-5+0*2-6+1*2-7 = 524288 + 65536 +32768 +8192+ 4096 + 1024 +512+ 64 + 32+ 16 + 2 + 1+0,5+0,25+0,125+0,0078 = 636504(10)
3. Выполнить последовательный перевод данных (двоичных) чисел в шестнадцатеричную и десятичную системы счисления: 1011101.11012;
Переведем число из двоичной системы счисления в шестнадцатеричную с помощью специальных таблиц перевода. Переводим целую часть числа. Заменяем каждую группу на код из таблицы. Получаем:
0101 1101 2 = 5D16
Переводим дробную часть числа. Заменяем каждую группу на код из таблицы. Получаем число: 1101 2 = D16, тогда
1100001.10012 = 5D,D16
Переведем число 5D,D16 в десятичную систему счисления:
61,916 = 5*161+13*160 + 13*16-1 = 80 + 1 + 0,8125 = 81,8125(10).
4. Произвести сложение с проверкой вычитанием:
а) 1100101,1101 + 11010011,1101= ?
б) 8F567,AD6 + 238ADE,567 = ?
а) Сложение: Проверка вычитанием:
б) Сложение: Проверка вычитанием:
5. Произвести умножение двоичных чисел:
а) 11111,101* 1001,001 = ?
Задание 2.
1. Для уравнения sin(x2)+cos(x2)-10x=0 на промежутке [0,10] отделить корни с шагом hx=1 графически и и уточнить один из них методом касательных с точностью до 0,001.
Функция: у = sin(x2)+cos(x2)-10x.
Интервал: [0;10].
График исследуемой функции на интервале [0; 10]:
Решение: у = 0 при х = 0,1
Листинг программы
Program Сas;
uses crt;
var t:text;
x0,eps:real;
function F(x:real):real;
begin
F:=sin(x*x)+cos(x*x)-10*x;
end;
function F1(x:real):real;
begin
F1:=2*cos(x*x)-2*sin(x*x)-10;
end;
function N(x1,e:real):real;
var x2,b:real;
begin
x2:=x1;
repeat
b:=x2;
x2:=b-F(b)/F1(b);
writeln(x2);
assign (t,'d:\z2.txt');
rewrite(t);
writeln(t,'Resultat ');
writeln(t,x2);
until abs(x2-b)<e;
N:=x2;
end;
begin
clrscr;
assign(t,'C:\z2.txt');
rewrite(t);
write('vvedite nachalnoe priblizenie x0=');
readln(x0);
write('vvedite tochnost eps=');
readln(eps);
write('X=',N(x0,eps):9:7);
readln;
close(t);
end.
Resultat
8.111 E-02
Таблица расчета корней уравнения:
№ |
Метод касательных |
Графический метод |
||
x |
y |
x |
y |
|
1 |
0 |
1,00 |
0 |
1 |
|
0,8111 |
0 |
0,1 |
0 |
2 |
|
|
1 |
-8,61823 |
3 |
|
|
2 |
-21,4104 |
4 |
|
|
3 |
-30,499 |
5 |
|
|
4 |
-41,2456 |
6 |
|
|
5 |
-49,1411 |
7 |
|
|
6 |
-61,1197 |
8 |
|
|
7 |
-70,6532 |
9 |
|
|
8 |
-78,6881 |
10 |
|
|
9 |
-89,8532 |
11 |
|
|
10 |
-99,644 |
2. Вычислить интеграл формулам прямоугольников, трапеций или Симпсона с двумя десятичными знаками. Для оценки погрешности использовать правило Рунге.
,eps=0,0001.
В соответствии с формулой Симпсона:
№ |
х |
у = x^4*(x^21)^(1/2) |
(xi-1 + xi)/2 |
z = ((xi-1 + xi)/2)^4* ((xi-1 + xi)/2)^(1/2) |
4z |
2уi |
0 |
1 |
0 |
|
|
|
|
1 |
1,25 |
3,662109375 |
1,125 |
0,825552246 |
3,302208986 |
7,32421875 |
2 |
1,5 |
11,32009414 |
1,375 |
3,373325377 |
13,49330151 |
22,64018827 |
3 |
1,75 |
26,93885725 |
1,625 |
8,931370875 |
35,7254835 |
53,87771451 |
4 |
2 |
55,42562584 |
1,875 |
19,60324823 |
78,41299292 |
110,8512517 |
5 |
2,25 |
103,313424 |
2,125 |
38,23287964 |
152,9315186 |
206,626848 |
6 |
2,5 |
179,0068631 |
2,375 |
68,53977801 |
274,1591121 |
358,0137262 |
7 |
2,75 |
293,018762 |
2,625 |
115,2385856 |
460,9543422 |
586,0375241 |
8 |
3 |
458,2051942 |
2,875 |
184,1568533 |
736,6274132 |
|
|
|
|
|
I = |
148,29929328 |
|
Листинг программы:
Program int;
uses crt;
{uses print;}
var A,B,eps,sum1,sum2,yi,y0,yn,h,ap,op: real;
n,i:integer;
x:real; integral,int:text;
function F(x:real):real;
begin
F:= 2*x*x*x*x*(sqrt(x*x-1));
end;
begin
clrscr;
assign(int,'d:\int.doc');
rewrite(int);
writeln ('RESULTAT');
writeln ('vv gran i tocn');
writeln('A='); readln (A);
writeln('B='); readln (B);
writeln('eps='); readln (eps);
writeln;
n:=1;
h:=(B-A)/n;
sum1:=0.5*(F(A)+F(B))*h;
y0:=F(a);
yn:=F(B);
writeln(int,'n=',n:4);
writeln(int,'y[ 0]=',y0:4:8);
writeln(int,'y[ ',n:4,']=',yn:4:8);
readln;
repeat
writeln;
sum2:=sum1;
n:=8;
writeln(int,'n=',n:4);
writeln (int,'y[ 0]=',y0:4:8);
h:=(b-a)/n;
sum1:=0.5*(F(a)+F(b));
for i:=1 to n-1 do
begin
sum1:=sum1+F(a+i*h);
yi:=F(a+i*h);
writeln (int,'y[',i:4,']=',yi:4:8);
end;
writeln (int,'y[',n:4,']=',yn:4:8);
sum1:=sum1*h;
ap:=abs(sum1-sum2);
op:=ap/sum1;
writeln(int,'otvet:');
writeln(int,'ploshad s=', sum1:4:8);
writeln (int,'chislo rasbienii n=',n:4);
writeln (int,'abs. pogresn. ds=', ap:4:8);
writeln(int,'otn. pogresn. e=',op/100:4:8,'%');
readln;
until (ap<eps) or (n>8); close (int);
readln;
end.
Otvet:
ploshad s= 148,29929328
chislo rasbienii n= 8
abs. pogresn. ds=0.00000000
otn. pogresn. e=0.00000000%
Список использованной литературы
-
Информатика. Базовый курс/ Под ред. С.В. Симонович – СПб: Издательство «Питер», 2000. – 640 с.
-
Информатика: Учебник. /Под ред. Н.В. Макаровой. – М: Финансы и статистика, 2001. – 768 с.
-
Перминов О.Н. Программирование на языке ПАСКАЛЬ. — М.: Радио и связи, 1988. — 220 с.
-
Симонович С.В. Информатика. Базовый курс. – Питер, 2002 г.
-
Ургинович Н. Информатика и информационные технологии. – М.: Бином, 2003 г.