Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная по информатики.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
212.53 Кб
Скачать

Логические основы компьютерной техники

Вся информация, используемая при вычислениях, в цифровых машинах изображается в виде числа. Выбор системы счисления для работы машины осуществляется с учетом двух требований: минимум оборудования и удобство связи человек ≈ машина. Исследования показали, что первому требованию удовлетворяет система счисления с основанием е==2,7, т.е. практически двоичная или троичная система. Для построения машин удобна двоичная система. Человек привык считать в десятичной системе счисления, поэтому входная информация переводится машиной из десятичной в двоичную, а выходная ≈ наоборот.

В двоичной системе счисления любое число N может быть представлено комбинацией двух цифр 0 и 1, которые являются коэффициентами разложения числа по степеням основания 2:

N=А(n)*2^n + A(n-1)*2^(n-1) + ...+ A(0)*2^0 + A(-1)*2^(-1) + A(-2)*2^(-2) + ...A(i)=0 или 1.

В качестве примера приведем запись числа одиннадцать (N (10)=11) в двоичной системе счисления (N (2) ):

11(10)=1*2^3 + 0*2^2 + 1*2^1 + 1*2^0=1011

Нецелое число, например 5*3/4, может быть представлено в виде:

(5*3/4)(10)=1*2^2 + 0*2^1 + 1*2^0 + 0*2^(-1) + 1*2^(-2) + 1*2^(-3)=101,011(2)

Применение в вычислительной технике двоичной системы счисления обусловлено также тем, что такую систему легче всего реализовать с помощью двухпозиционных элементов, например полупроводниковых, находящихся в двух состояниях: открыт, закрыт. Поэтому она дает возможность значительно упростить конструкцию арифметических и запоминающих устройств. Двухпозиционные элементы наиболее экономичны и надежны. Использование двоичной системы счисления упрощает также арифметические действия, выполняемые по тем же правилам, что и действия над десятичными числами:

1000+100=1100 <=> 8(10)+4(10)+12(10) - сложение;

1000-100=900 -вычитание;

1011*101=1011+00000+101100=110111 - умножение;

1110101/1001=1110101-1001000-...=1101-вычитание.

Из приведенных примеров видно, что операция умножения может быть сведена к сложению частных произведений, которые представляют собой множимое число, сдвинутое влево на определенное число разрядов. Операция деления сводится к последовательному вычитанию делителя из остатка, полученного от предыдущего вычитания; вычитание можно заменить сложением уменьшаемого с использованием обратного кода вычитаемого.

Пусть А =1000 (8(10)), В=100(4(10));

1000(8(10))-100(4(10))=100(4(10))=C;

1000+011=1011 (обратный код);

011(3(10))+1(1(10))=100(4(10))=С

Действия А≈В=С в прямом коде и с применением обратного кода дают один и тот же результат С=100 (алгоритмы вычитания с применением обратного кода требуют отбрасывания старшего разряда суммы и сложения полученного результата с единицей). Таким образом, все четыре арифметических действия могут быть сведены к операции сложения и поразрядному сдвигу чисел.

Для построения узлов и устройств компьютера, а также как аппарат при составлении программ решения задач на вычислительной машине используется алгебра логики. Алгебра логики (часть математической логики) оперирует с предложениями (высказываниями), каждое из которых может быть либо истинным (кодируется ╚1╩), либо ложным (кодируется ╚0╩); других оценок предложение иметь не может. В основе решения сложных логических задач лежит несколько основных логических функций. Задать функцию алгебраической логики≈значит определить ее значение (╚0╩ или ╚1╩) при каждом возможном наборе значений аргументов. Возможные значения аргументов А, В, С,... и значений функций Q1, Q2, ... на каждом наборе аргументов задаются таблицей истинности.

Основными (элементарными) логическими функциями являются:

1. Функция ╚НЕ╩ (отрицание) читается: ╚не A╩, в таблице обозначена X:

 Х

F

0

1

1

0

Набор функций "И", "ИЛИ", "НЕ" является функционально полным, т. е. любая сложная логическая функция может быть представлена комбинацией элементарных функций. В алгебре логики доказывается также, что минимальной функционально полной системой являются функции

"ИЛИ ≈ НЕ" ≈ отрицание дизъюнкции или инверсное логическое сложение,

"И ≈ НЕ" ≈ отрицание конъюнкции или инверсное логическое отрицание.

2. Функция ╚И╩ (конъюнкция) умножения обозначается: А/\В (А*В), чи­тается ╚А и В╩.

Функция ╚И╩ принимает значение 1 только тогда, когда оба аргумента Л и В равны 1.

Таблица истинности для этой функции, где X-результат конъюнкции, имеет вид:

Х1

Х2

Х3

0

0

0

0

1

0

1

0

0

1

1

1

Из таблицы видно, почему функцию ╚И╩ называют также функцией логического умножения.

3. Функция ╚ИЛИ╩ (дизъюнкция) логическое сложение, обозначается А\/ В (А +5); читается ╚Л или В╩. Дизъюнкция принимает значение 1, если хотя бы один из аргументов А или В равен 1. Таблица истинности для функции ╚ИЛИ╩, где X -результат логического сложения, имеет вид:

 А

В

Х

0

0

0

1

0

1

0

1

1

1

1

1

Применительно к компьютерным технологиям, это означает, что все устройства машины, работа которых описывается сложными логическими функциями, могут быть построены из набора основных логических элементов.

Практическая часть.

Задача 1. Перевести число 101110 из 2 СС в 8,10,16 СС и сделать проверку

Решение:

= 1* +0* +1* +1* +1* +0* =1*32+0*16+1*8+1*4+1*2+0*1=32+8+4+2= 46

= 5 =40+6= 46

= 4 = 40+6= 46

= 2 = 32+14= 46

Ответ: 46

Задача 2. Перевести число 202 из 3 СС в 9 СС и сделать проверку

Решение:

20 = 2* +0* +2* =18+0+2= 2 Переведём 2 в 9-ричную

20

9

18

20-9*2

2

2

9

0

2-9*0

2

Получилось 2 =2

Ответ: 20 =2

Задача 3. Перевести число 808 из 9 СС в 7 СС и сделать проверку

Решение:

80 = 8* +0* +8* = 648+0+8= 65

Переведём 65 в 7-ричную

656

7

93

656-93*7

5

93

7

13

93-13*7

2

13

7

1

13-1*7

6

1

7

0

1-0*0

1

Получилось 65 = 162

Ответ: 80 =162

Задача 4. Перевести число 39,125 из 10 СС во 2 СС и сделать проверку

Решение:

Разделим, число 39,125 на целую и дробную части и найдём 2 СС по отдельности

39

2

19,5

39-19*2

1

19

2

9,5

19-9*2

1

9

2

4,5

9-4*2

1

4

2

2

4-2*2

0

2

2

1

2-1*2

0

1

2

0

1-0*2

1

Получилось 3 = 10011

0,125

2

0,25

0,25

0

0,25

2

0,5

0,5

0

0,5

2

1

0

1

Получилось 0,12 = 0,00

Сложим вместе, целую и дробные части: 10011 +0,00 = 100111,00

Ответ: 39,12 = 100111,00

III

Алгоритмический язык – это набор символов и правил для образования и толкования конструкций из этих символов для записи алгоритмов.

Язык программирования предназначен для реализации программ на компьютере. Программа содержит на ряду, с описанием команды, в какой последовательности и над какими данными будет выполнять машина операции, а так же в какой форме будет получен результат. Этим занимаются различные операторы.

Данные – это факты и идеи, предоставленные в формизованном виде, позволяющий передавать и обрабатывать их с помощью некоторого процесса.

Оператор – совокупность символов указывающих операцию и значения (местонахождение значений её элементов).

А; = В+5

Переменная А Оператор присвоения

Переменная - это объект, который в ходе выполнения программы меняет своё значение.

Переменная:

  1. Является не определённой, пока не получит своё значение, либо вводом извне, либо занесением константы, либо занесением другой ранее определённой программой.

  2. В каждый момент времени переменная либо определённая, либо не определённая.

  3. Последующее значение уничтожает (стирает предыдущее значение последующим), при этом выбор переменной не влияет на значение переменной.

Для разработки программ используются системы программирования. Это средства автоматизации, включающие в себя системы программирования, операционные системы, комплекс программ технического обслуживания.

Язык программирования – это транслятор с этого языка, а так же средство подготовки и выполнения программы.

Базовые конические структуры алгоритмов;

  • Следование – последовательность

  • Развилка – условный оператор

  • Повторение – оператор цикла

Любую программу можно написать, используя эти 3 управляющие структуры.

  1. Следование

А

В

- -

  1. Развилка

А

- Р

В

  1. Повторение

А

- Р

Р - предикат

Сначала проходит проверка предиката, если истина, то выполняется оператор А, если лож то выполняется В.

Развилка может быть не полной, то есть отсутствует ветка, где выполняется действие при ложном значении Р.

Проверка условия предиката, если истина то выполняется А, если лож то управление передаётся следующему оператору.

Программа, составленная из канонической структуры, называется регулярной и имеет один вход и один выход, каждый оператор, может быть, достигнут при переходе обратно.

В таких программах управление передаётся сверху вниз и снабжённые комментариями они хорошо читаются.