Арифметические операции или учим компьютер считать

Обновлено: 07.07.2024

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

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

Эти арифметические действия производятся над числами, представленными в принятой для них системе счисления, в заданных форматах и с использованием специальных машинных кодов.

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

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

Например: 15 и 51

Во всех вычислительных машинах применяется позиционная система счисления

В позиционной системе счисления каждое число представляется последовательностью цифр, причем позиции каждой цифры x i присвоен определенный вес b i , где b – основание системы:

Алгебра логики (булева алгебра) – это раздел математики, возникший в XIX веке благодаря усилиям английского математика Дж. Буля. Поначалу булева алгебра не имела никакого практического значения. Однако уже в XX веке ее положения нашли применение в разработке различных электронных схем. Законы и аппарат алгебры логики стали использоваться при проектировании различных частей компьютеров (память, процессор).

Алгебра логики оперирует с высказываниями. Под высказыванием понимают повествовательное предложение, относительно которого имеет смысл говорить, истинно оно или ложно. Над высказываниями можно производить определенные логические операции, в результате которых получаются новые высказывания. Наиболее часто используются логические операции, выражаемые словами «не», «и», «или».

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

Конъюнкция (логическое умножение). Сложное высказывание А & В истинно только в том случае, когда истинны оба входящих в него высказывания. Истинность такого высказывания задается следующей таблицей:

Обозначим 0 – ложь, 1 – истина


Дизъюнкция (логическое сложение). Сложное высказывание A В истинно, если истинно хотя бы одно из входящих в него высказываний. Таблица истинности для логической суммы высказываний имеет вид:

A B


Инверсия (логическое отрицание). Присоединение частицы НЕ ( NOT ) к данному высказыванию называется операцией отрицания (инверсии). Она обозначается Ā (или ¬ А )и читается не А . Если высказывание А истинно, то В ложно, и наоборот. Таблица истинности в этом случае имеет вид

¬ А


Алгоритм – система точных и понятных предписаний (команд, инструкций, директив) о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа. Как всякий объект, алгоритм имеет название (имя). Также алгоритм имеет начало и конец.

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

Алгоритм обладает следующими свойствами .

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

Детерминированность (от лат. determinate – определенность, точность) указывает, что любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае.

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

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

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

Способы описания алгоритмов

словесный (на естественном языке);

графический (с помощью стандартных графических объектов (геометрических фигур) – блок-схемы);

программный (с помощью языков программирования)

hello_html_6b360a00.jpg

Компьютер или ЭВМ (электронно-вычислительная машина) – это универсальное техническое средство для автоматической обработки информации.
Аппаратное обеспечение компьютера – это все устройства, входящие в его состав и обеспечивающие его исправную работу.
Несмотря на разнообразие компьютеров в современном мире, все они строятся по единой принципиальной схеме, основанной на фундаменте идеи программного управления Чарльза Бэббиджа (середина XIX в). Эта идея была реализована при создании первой ЭВМ ENIAC в 1946 году коллективом учёных и инженеров под руководством известного американского математика Джона фон Неймана , сформулировавшего следующие общие принципы:

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

2. Принцип однородности памяти . Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм).

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

С тех пор структуру (архитектуру) современных компьютеров часто называют неймановской.

ОБЩАЯ СХЕМА КОМПЬЮТЕРА

hello_html_46cab250.jpg

В основе строения ПК лежат два важных принципа: магистрально-модульный принцип и принцип открытой архитектуры .

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

hello_html_5a714107.jpg

Второй принцип построения ПК – открытая архитектура – предполагает возможность сборки компьютера из независимо изготовленных частей, доступную всем желающим (подобно детскому конструктору).

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

Задачи урока

  • Ввод и вывод числовых данных.
  • Преобразование из строкового типа в целочисленный и обратно.

Выполнение упражнения

В этом упражнении мы создадим простейший калькулятор, который будет находить сумму двух чисел. Приложение будет состоять из двух однострочных редакторов для ввода чисел, кнопки «Вычислить» и ещё одного однострочного редактора для вывода результата (рисунок 1).


Рисунок 1. Окно приложения

1. Дизайн приложения

  1. Поместите на форму компоненты, как показано на рисунке 2а.

а) б)
Рисунок 2

В результате получится форма, показанная на рисунке 2б.

2. Назначение компонентам имён

Теперь корректно назовите компоненты на форме (т. е. измените значения свойства Name):

Имя, которое

было

Ничего не изменили, т. к. форма одна

Label1, Label2, Label3

LabelNum1, LabelNum2, LabelResult

Эти метки ничего не делают. Они просто информируют пользователя

Number (переводится как число) — поля для ввода 1-го и 2-го чисел

Result (переводится как результат) — поле для вывода результата

Сalculation (переводится как вычислить ) — кнопка для вычисления

3. Обработка события

  1. Сохраните приложение, затем запустите. Проверьте работу приложения: сложите числа 6 и 9. Вас удивил ответ? (рисунок 3а). Мы получили результат сложения символов из однострочных редакторов.

а) б)
Рисунок 3

  1. Дело в том, что свойство Text компонента Edit имеет тип String, поэтому получился результат сложения двух текстовых строк: к первой строке была присоединена вторая. Убедитесь в этом, введя строковые значения и нажав на кнопку (рисунок 3б).

Напомним, что операция присоединения одной строки к другой называется конкатенацией.

4. Преобразование типов

Для того чтобы компьютер работал с данными как с числами, необходимо перевести их из строкового типа в числовой, сложить, а затем результат перевести обратно в строковый для вывода на экран. Для перевода из строки в целое число служит функцияStrToInt, а для обратного перевода — IntToStr (перейти к функциям преобразования).

  1. Опишите три локальные переменные: две будут служить для хранения исходных чисел, а третья — для хранения результата. Ниже приведён правильный код процедуры:

В переменную Num1 записывается целое число, преобразованное из однострочного редактора EditNum1, в переменную Num2 — число из EditNum2. Затем в переменную Result заносится их сумма. После этого ответ преобразовывается в строку и выводится в однострочном редакторе EditResult.

  1. Запустите приложение. Теперь калькулятор будет работать так, как надо (рисунок 4).


Рисунок 4

5. Коротко о главном

У каждого компонента есть множество событий. Но одно, наиболее используемое (по мнению разработчиков среды Delphi), создаётся после двойного щелчка по компоненту.

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

6. Выполнение заданий

Особенности заданий

  • Для полей ввода Edit необходимо ввести поясняющие надписи с помощью компонента Label.
  • Компоненты должны иметь осмысленные имена.
  • Кнопка выхода из приложения — обязательна!
  • Комментируйте код программы!
  • Перед размещением компонентов на форме желательно нарисовать их расположение на листе бумаги.

Задания I уровня сложности

2. Создайте приложение с одной кнопкой и двумя областями ввода. В области ввода пользователь вводит размеры окна формы (ширину и высоту). При нажатии на кнопку размеры соответствующим образом изменяются.

6. Создайте приложение с двумя кнопками и областью ввода Edit. В область ввода пользователь вводит шаг (целое число). При нажатии на первую кнопку все края окна увеличиваются на значение, равное шагу. При нажатии на вторую кнопку окно соответственно уменьшается. Причём центр окна остаётся неизменным! По умолчанию шаг равен 5.

Задания II уровня сложности

3. Создайте приложение для нахождения корней квадратного уравнения. Коэффициенты при неизвестных вводятся в три области ввода Edit. Результат выдаётся в компоненте Label после нажатия на кнопку. Если решения нет, то в компоненте Label появляется соответствующая надпись.



Старинная запись на квитанции в уплате подати («ясака»). Она означает сумму 1232 руб. 24 коп. Иллюстрация из книги: Яков Перельман «Занимательная арифметика»

Ещё Ричард Фейнман в книге «Вы конечно шутите, мистер Фейнман!» поведал несколько приёмов устного счёта. Хотя это очень простые трюки, они не всегда входят в школьную программу.

Например, чтобы быстро возвести в квадрат число X около 50 (50 2 = 2500), нужно вычитать/прибавлять по сотне на каждую единицы разницы между 50 и X, а потом добавить разницу в квадрате. Описание звучит гораздо сложнее, чем реальное вычисление.

52 2 = 2500 + 200 + 4
47 2 = 2500 – 300 + 9
58 2 = 2500 + 800 + 64

Молодого Фейнмана научил этому трюку коллега-физик Ханс Бете, тоже работавший в то время в Лос-Аламосе над Манхэттенским проектом.

Ханс показал ещё несколько приёмов, которые использовал для быстрых вычислений. Например, для вычисления кубических корней и возведения в степень удобно помнить таблицу логарифмов. Это знание очень упрощает сложные арифметические операции. Например, вычислить в уме примерное значение кубического корня из 2,5. Фактически, при таких вычислениях в голове у вас работает своеобразная логарифмическая линейка, в которой умножение и деление чисел заменяется сложением и вычитанием их логарифмов. Удобнейшая вещь.



Логарифмическая линейка

До появления компьютеров и калькуляторов логарифмическую линейку использовали повсеместно. Это своеобразный аналоговый «компьютер», позволяющий выполнить несколько математических операций, в том числе умножение и деление чисел, возведение в квадрат и куб, вычисление квадратных и кубических корней, вычисление логарифмов, потенцирование, вычисление тригонометрических и гиперболических функций и некоторые другие операции. Если разбить вычисление на три действия, то с помощью логарифмической линейки можно возводить числа в любую действительную степень и извлекать корень любой действительной степени. Точность расчётов — около 3 значащих цифр.

Чтобы быстро проводить в уме сложные расчёты даже без логарифмической линейки, неплохо запомнить квадраты всех чисел, хотя бы до 25, просто потому что они часто используются в расчётах. И таблицу степеней — самых распространённых. Проще запомнить, чем вычислять каждый раз заново, что 5 4 = 625, 3 5 = 243, 2 20 = 1 048 576, а √3 ≈ 1,732.

Ричард Фейнман совершенствовал свои навыки и постепенно замечал всё новые интересные закономерности и связи между числами. Он приводит такой пример: «Если кто-то начинал делить 1 на 1,73, можно было незамедлительно ответить, что это будет 0,577, потому что 1,73 — это число, близкое к квадратному корню из трёх. Таким образом, 1/1,73 — это около одной трети квадратного корня из 3».

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

В наше время люди достают калькулятор, чтобы просто поделить 76 на 3. Удивить окружающих стало гораздо проще. Во времена Фейнмана вместо калькулятора были деревянные счёты, на которых тоже можно было производить сложные операции, в том числе брать кубические корни. Великий физик уже тогда заметил, что использование таких инструментов, людям вообще не нужно запоминать множество арифметический комбинаций, а достаточно просто научиться правильно катать шарики. То есть люди с «расширителями» мозга не знают чисел. Они хуже справляются с задачами в «автономном» режиме.

Вот пять очень простых советов устного счёта, которые рекомендует Яков Перельман в методичке «Быстрый счёт» 1941 года издательства.

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

225 × 6 = 225 × 2 × 3 = 450 × 3
147 × 8 = 147 × 2 × 2 × 2, то есть трижды удвоить результат

2. При умножении на 4 достаточно дважды удвоить результат. Аналогично, при делении на 4 и 8, число делится пополам дважды или трижды.

3. При умножении на 5 или 25 число можно разделить на 2 или 4, а затем приписать к результату один или два нуля.

Здесь лучше сразу оценивать, как проще. Например, 31 × 25 удобнее умножать как 25 × 31 стандартным способом, то есть как 750+25, а не как 31 × 25, то есть 7,75 × 100.

При умножении на число, близкое к круглому (98, 103), удобно сразу умножить на круглое число (100), а затем вычесть/прибавить произведение разницы.

4. Чтобы возвести в квадрат число, оканчивающееся цифрой 5 (например, 85), умножают число десятков (8) на него же плюс единица (9), и приписывают 25.

Почему действует это правило, видно из формулы:

Приём применяется и к десятичным дробям, которые оканчиваются на 5:

5. При возведении в квадрат не забываем об удобной формуле

Когда обучение счёту начинается с классических примеров, ребёнок решает, что считать и заниматься математикой скучно. Попробуйте лучше занимательные игры и задания от ЛогикЛайк. Полезные идеи для детей 3-5 и 6-8 лет.


Попробуйте наш курс в игровой форме!

Первое знакомство с цифрами и игры с ними

Наверняка вы уже перешагнули эту ступеньку и успели использовать самые разные способы, чтобы запомнить цифры: рисовали, вырезали, лепили и т.д. В возрасте 3-5 лет дети на лету схватывают всё, что интересно, поэтому их несложно вовлекать в обучающие игры.

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

«Язык чисел» и математические задачки из воздуха

Мы, взрослые, каждый день думаем числами, но не всегда называем их вслух. А ведь детей может заинтересовать именно «язык чисел»: «Во сколько мы сегодня проснулись? В 7 утра. А какой автобус ждали на остановке? 12-й. Сколько минут ехали? 10».

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


Дома ребёнку всегда есть, что посчитать. Можно следить за стрелками часов, превратить в игру измерение веса и роста. Надолго занимает детей отрывной календарь или календарь-игрушка, в котором нужно каждый день переворачивать кубики с цифрами.


А вот этот Lego-календарь и вовсе нужно каждый месяц разбирать и собирать заново.

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

А вообще, чтобы придумать интересные задачи самостоятельно или найти качественный материал в интернете, потребуется время. Команда ЛогикЛайк уже провела всю методическую и другую подготовительную работу за вас!

Читайте также: