Автор работы: Пользователь скрыл имя, 29 Апреля 2013 в 06:12, курсовая работа
На первых порах расширение запаса чисел происходило медленно. Сначала люди овладели счетом в пределах нескольких десятков и лишь позднее дошли до сотни. У многих народов число 40 долгое время было пределом счета и названием неопределенно большого количества. В русском языке слово «сороконожка» имеет смысл «многоножка»; выражение «сорок сороков» означало в старину число, превосходящее всякое воображение. На следующей ступени счет достигает нового предела: десяти десятков, и создается название для числа 100. Вместе с тем слово «сто» приобретает смысл неопределенно большого числа. Такой же смысл приобретают потом последовательно числа тысяча, десять тысяч (в старину это число называлось «тьма»), миллион.
Глава 1.История развития систем счисления……..………………………..2
Зарождение систем счисления………………………………………………2
Образование десятичной системы счисления……………………………....4
Глава 2. Системы счисления…………….…………………………………..5
2.1 Позиционные и непозиционные системы счисления………………………5
2.2 Двоичная(бинарная) система счисления…………………………………….6
2.3. Восьмеричная система счисления…………………………………………..6
2.4. Десятеричная система счисления…………………………………………...6
2.5. Шестнадцатеричная система счисления……………………………………7
Глава 3. Представление чисел в ЭВМ…………………………………..8
Представление чисел с фиксированной и плавающей запятой.………...…8
3.2 Числа с фиксированной запятой…………………………………………….8
3.3 Числа с плавающей запятой…………………………………………………9
3.3 Прямой, обратный и дополнительный коды. Модифицированный код…10
Глава 4. Перевод чисел…………………………………………………...13
4.1 Представление двоичных чисел и перевод их в десятичные…………….13
4.2 Преобразование десятичных чисел в двоичные…………………………..13
4.2.1 Метод деления……………………………………………………………..13
4.2.2 Метод умножения………………………………………………………….14
5.Постановка задачи………………………………………………………15
6.Внешнее проектирование программы…………………………………15
7.Математическая модель………………………………………………...16
8.Кодирование и отладка программы….……………………………...…17
9.Таблица тестов…………………………………………………………..23
10.Список литературы………………………………………..…………..24
function error1(vv1:string):integer;
begin
for i := 1 to length(vv1) do {цикл от одного до конца строки ввода вспомогательная переменная i}
if vv1 = '' then error1 :=1{Если строка ввода пустая то error1 присваивается 1}
else{иначе, если vv1[i]='0'..'9','a'..'f','A'..
begin
case vv1[i] of
'0'..'9','a'..'f','A'..'F':;
else error1 :=1;
end;
end;
end;
4) Функция возводит целое число в степень. x – это число в которое требуется возвести в степень, N – степень в которую надо возвести число вывод информации в типе integer.
function step(n:integer; x : integer): integer;
var
y: integer;
begin
y:=1;
for i:= 1 to n do{Цикл задает число умножений}
y := y*x;{умножает число которое требуется возвести в цикл на Y и присваивает значение Y}
step := y;
end;
5) Присваивает переменной vv1 входные данные.
procedure TForm1.Edit1Change(Sender: TObject);
begin
vv1:= edit1.text;
end;
6)Функция присваивает радиогруппе «Исходная система» значение.
procedure TForm1.RadioGroup1Click(
begin
case radiogroup1.ItemIndex of { Определяет ItemIndex и присваивает m данные типа integer согласно условию}
0: m:=2;
1: m:=8;
2: m:=10;
3: m:=16;
end;
end;
7)Функция срабатывает на нажатие кнопки «Перевести». Переводит из 2,8,10,16-ой системы счисления в десятичную систему передаёт данные b выполняет функцию perevod0.Так же выводит полученный результат на экран.
procedure TForm1.Button1Click(Sender: TObject);
var
n : integer;
begin
if error1(vv1) <> 1 then {Если error1 не равно 1 то }
begin
ch1 :=0;
for i := 0 to length(vv1)-1 do {Начало цикла FOR}
begin n
n:=perevod0(vv1[length(vv1)-i]
ch1 := ch1+n;
end;
label1.Caption := perevod1(ch1,m1);{На экран выводиться переведённое число}
end
else label1.Caption := 'ОШИБКА ВВОДА!!!'; {иначе на экран выводиться 'ОШИБКА ВВОДА!!!'; }
end;
8) Функция присваивает радио группе Исходная
система значение. procedure TForm1.RadioGroup2Click(
begin
case radiogroup2.ItemIndex of{ Определяет ItemIndex и присваивает m данные типа integer согласно условию}
0: m1:=2;
1: m1:=8;
2: m1:=10;
3: m1:=16;
end;
end;
end.
9.Таблица тестов.
№ |
Входные данные |
Полученное число |
Примечание | ||
Переводимое число |
Исходная система |
Конечная система | |||
1 |
1011 |
2 |
2 |
1011 |
Тесты предложенные на проверку правильности перевода |
2 |
1011 |
2 |
8 |
13 | |
3 |
1011 |
2 |
10 |
11 | |
4 |
1011 |
2 |
16 |
B | |
5 |
17 |
8 |
2 |
1111 | |
6 |
17 |
8 |
8 |
20 | |
7 |
17 |
8 |
10 |
15 | |
8 |
17 |
8 |
16 |
F | |
9 |
254 |
10 |
2 |
11111110 | |
10 |
254 |
10 |
8 |
376 | |
11 |
254 |
10 |
10 |
254 | |
12 |
254 |
10 |
16 |
FE | |
13 |
adf34 |
16 |
2 |
10101101111100100000 | |
14 |
adf34 |
16 |
8 |
2557464 | |
15 |
adf34 |
16 |
10 |
712500 | |
16 |
adf34 |
16 |
16 |
ADF34 | |
17 |
212 |
16 |
10 |
530 | |
18 |
ропл |
2 |
16 |
ОШИБКА ВВОДА!!! |
Тесты на ошибку ввода |
19 |
adf323g |
2 |
16 |
ОШИБКА ВВОДА!!! | |
20 |
пустая строка |
8 |
10 |
ОШИБКА ВВОДА!!! |
10.Список литературы.