дгту / ждан / информатика / И4 / Zadanie4
.docx
Фамилия, Имя, Отчество |
Чапаев Василий Иванович |
|
Шифр зачетной книжки |
12456/97 |
|
Группа |
2135 |
|
Специальность |
060815 |
|
№ контрольной работы |
2 |
|
№ варианта |
4 |
|
Дата выполнения работы |
12.12.2003 |
|
Список файлов, созданных в ходе выполнения контрольной работы |
||
zadan1.doc, |
Отчёт к решению задачи |
|
Ref.doc |
Файл Word с текстом реферата |
|
tab.xls |
Таблица Excel c решением задачи |
Задание 1.
1. Выполнить последовательный перевод данных (десятичных) чисел в двоичную и шестнадцатеричную системы счисления: 567,0023;
Переведем число в двоичную систему счисления.
Переведем целую часть числа:
567|_2
-
283|_2
-
141|_2
-
70|_
-
35|_2
1 17|_2
1 8|_2
0 4|_2
0 2|_2
-
1
Остаток от деления записываем в обратном порядке. Получаем число в 2-ой системе счисления: 1000110111.
Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения.
0.0023*2 = 0.0046 (целая часть 0)
0.0046 *2 = 0.0092 (целая часть 0)
0.0092 *2 = 0.0184 (целая часть 0)
0.0184 *2 = 0.0368 (целая часть 0)
0.0368 *2 = 0.0736 (целая часть 0)
0.0736 *2 = 0.1472 (целая часть 0)
0.1472 *2 = 0.2944 (целая часть 0)
0.2944 *2 = 0.5888 (целая часть 0)
0.5888 *2 = 1,1776 (целая часть 1)
Получаем число в 2-ой системе счисления:
0.0023 = 0000000012
Получаем число в двоичной системе счисления:
567,0023(10)=1000110111,000000001(2)
Переведем число из двоичной системы счисления в шестнадцатиричную с помощью специальных таблиц перевода:
567,0023(10)=1000110111,000000001(2)=0010|0011|0111,0000|0000|1000(2)=237,008(16)
2. Выполнить последовательный перевод данных (шестнадцатеричных) чисел в двоичную и десятичную системы счисления: АВ233,Е2;
Переведем число из шестнадцатеричной системы счисления в двоичную с помощью специальных таблиц перевода:
AB233,E2(16)=|1010|1011|0010|0011|0011,|1110|0010|(2)
Переведем число из двоичной системы счисления в десятичную:
10101011001000110011,1110001(2)=1*219+0*218+1*217+0*216+1*215+0*214+1*213+1*212+0*211+0*210+1*29+0*28+0*27+0*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 + 131072 +32768 +8192+ 4096 + 512+32+16+2+1+0,5+0,25+0,125+0,0078= =700979,8828(10)
3. Выполнить последовательный перевод данных (двоичных) чисел в шестнадцатеричную и десятичную системы счисления: 110011,11012;
Переведем число из двоичной системы счисления в шестнадцатеричную с помощью специальных таблиц перевода. Переводим целую часть числа. Заменяем каждую группу на код из таблицы. Получаем:
0011 0011 2 = 3316
Переводим дробную часть числа. Заменяем каждую группу на код из таблицы. Получаем число: 1101 2 = D16, тогда
110011,11012 = 33,D16
Переведем число 33,D16 в десятичную систему счисления:
33,D16 = 3*161+3*160 + 13*16-1 = 48 + 3 + 0,8125 = 51,8125
4. Произвести сложение с проверкой вычитанием:
а) 11010111,1101 + 11001011,1101= ?
б) EFВ47,AD6 + 634ADE,577 = ?
а) Сложение: Проверка вычитанием:
б) Сложение: Проверка вычитанием:
5. Произвести умножение двоичных чисел:
а) 101011,101* 1101,101 = ?
Задание 2.
1. Решить систему нелинейных алгебраических уравнений методами Зейделя или простой итерации, точность данных методов e= 0,001
Решим систему уравнений методом простых итераций.
Выразим переменные х1 и х2:
Выберем вектор начального приближения х1 = 0, х2 = 0 и подставим его в преобразованную систему уравнений. Из первого уравнения получают новое приближение к первой переменной, из второго – второй и т. д. Полученное уточненное значение переменных снова подставляем в эти уравнения и т.д.
Вычисления проводили с помощью MS Excel 2007.
Методом простых итераций получили на 115 итерационном шаге для каждой переменной результаты с точностью до e= 0,001.
х1 = 0,8099, х2 = 0,5866.
Решение в программе Pascal.
Листинг программы
Program It;
uses crt;
var t:text;
x1, x2, eps:real;
begin
write('vvedite nachalnoe priblizenie x1 & x2 =');
readln(x1, x2);
write('vvedite tochnost eps=');
readln(eps);
begin
x1:=sqrt(1-x2*x2);
x2:=x1*sin(x1);
repeat
writeln(x1, x2);
assign (x1, x2,'d:\z2.txt');
rewrite(x1, x2);
writeln(x1, x2,'Resultat ');
writeln(t,x2);
until abs(x1- sqrt(1-x2*x2))<e;
end;
end.
Resultat
х1 = 0,8099, х2 = 0,5866.
2. Для уравнения 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 |
Список использованной литературы
-
Информатика. Базовый курс/ Под ред. С.В. Симонович – СПб: Издательство «Питер», 2000. – 640 с.
-
Информатика: Учебник. /Под ред. Н.В. Макаровой. – М: Финансы и статистика, 2001. – 768 с.
-
Перминов О.Н. Программирование на языке ПАСКАЛЬ. — М.: Радио и связи, 1988. — 220 с.
-
Симонович С.В. Информатика. Базовый курс. — Питер, 2002г.
-
Угринович. Н. A. Информатика и информационные технологии — М., БИНОМ, 2003г.