среда, 12 сентября 2012 г.

Вычитание столбиком


  • При вычитании столбиком числа записываются друг под дружкой так, чтобы самая правая цифра первого числа была под самой правой цифрой второго числа. Большее число (уменьшаемое) записывается сверху. Слева между числами ставим знак действий. В данном примере это "-" ( вычитание).
  • Вычитание в столбик
  • Вычитание столбиком начинаем с самой правой цифры. Вычитаем по цифре (знаку). 2 - 1 = 1. Результат, записываем под чертой.
  • Вычитание в столбик
  • Далее вычитаем из 1 ноль. 1 - 0 = 1.
  • Вычитание в столбик
  • Теперь нам нужно вычесть из 3 девять. Это сделать нельзя. Поэтому займем десяток у соседа слева от 3. Это 4. Поставим над четверкой точку. Занятый десяток прибавим к 3. 10 + 3 = 13. Из 13 вычтем 9. 13 - 9 = 4. Так как мы заняли десяток у 4, значит 4 уменьшилось на 1. Об этом нам напоминает точка над 4. 4 - 1 = 3.
    В итоге получаем:
  • Вычитание в столбик
Вычитание в столбик полезно при выполнении действий с большими числами.

Вычитание столбиком из чисел содержащих нули

Пример:
Вычитание столбиком из чисел содеражащих нули
  • Записываем числа в столбик. Большее сверху. Вычитаем справа налево по одной цифре. 9 - 3 = 6.
  • Вычитание столбиком из чисел содеражащих нули
  • Так как из нуля нельзя вычесть 2 занимаем у соседа слева. Это ноль. Ставим над 0 точку. Но у нуля занять нельзя, поэтому идем к следующему соседу. Занимаем у 1. Ставим над 1 точку. Теперь мы вычитаем не из 0 двойку, а из 10. Получим:
  • Вычитание столбиком из чисел содеражащих нули
    • У нас над нулем стоит точка. По правилу выше ноль превращается в 9. Вычитаем из 9 четыре. 9 - 4 = 5. Над 1 верхнего числа стоит точка. Единица уменьшается на 1. 1 - 1 = 0. Если в полученном результате ( разности) левее всех цифр стоит ноль, то его записывать не надо.
    • Вычитание столбиком из чисел содеражащих нули

воскресенье, 9 сентября 2012 г.

Объектно-ориентированные языки программирования

Объектно-ориентированный язык программирования (ОО-язык) — язык, построенный на принципах объектно-ориентированного программирования.
В основе концепции объектно-ориентированного программирования лежит понятие объекта — некоей субстанции, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).
Например, объект человек может иметь поля имяфамилия и методы есть и спать. Соответственно, в программе можем использовать операторы Человек.Имя:="Иван" и Человек.Есть(пища).
В современных ОО языках используются механизмы:
  • Наследование. Создание нового класса объектов путём добавления новых элементов (методов). В данный момент ОО языки позволяют выполнять множественное наследование, то есть объединять в одном классе возможности нескольких других классов.
  • Инкапсуляция. Сокрытие деталей реализации, которое позволяет вносить изменения в части программы безболезненно для других её частей, что существенно упрощает сопровождение и модификацию ПО.
  • Полиморфизм. При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается. С полиморфизмом тесно связано позднее связывание.
    Неполный список объектно-ориентированных языков программирования: 
    Кроме ОО-языков общего назначения существуют и узкоспециализированные ОО-языки.
    Вопросы реализации программного обеспечения, разработка которого велась с применением одной из объектно-ориентированных методологий, рассматриваются в разделе 5. Реализация программного обеспечения связана с использованием одного из языков программирования. Показано, что наиболее удобными для реализации программных систем, разработанных в рамках объектно-ориентированного подхода, являются объектно-ориентированные языки программирования, хотя возможна реализация и на обычных (не объектно-ориентированных) языках (например, на языке C и на языке Fortran).
    Объектно-ориентированные языки программирования пользуются в последнее время большой популярностью среди программистов, так как они позволяют использовать преимущества объектно-ориентированного подхода не только на этапах проектирования и конструирования программных систем, но и на этапах их реализации, тестирования и сопровождения.
    Первый объектно-ориентированный язык программирования Simula 67 был разработан в конце 60-х годов в Норвегии. Авторы этого языка очень точно угадали перспективы развития программирования: их язык намного опередил свое время. Однако современники (программисты 60-х годов) оказались не готовы воспринять ценности языка Simula 67, и он не выдержал конкуренции с другими языками программирования (прежде всего, с языком Fortran). Прохладному отношению к языку Simula 67 способствовало и то обстоятельство, что он был реализован как интерпретируемый (а не компилируемый) язык, что было совершенно неприемлемым в 60-е годы, так как интерпретация связана со снижением эффективности (скорости выполнения) программ.
    Но достоинства языка Simula 67 были замечены некоторыми программистами, и в 70-е годы было разработано большое число экспериментальных объектно-ориентированных языков программирования: например, языки CLU, Alphard, Concurrent Pascal и др. Эти языки так и остались экспериментальными, но в результате их исследования были разработаны современные объектно-ориентированные языки программирования: C++, Smalltalk, Eiffel и др.
    Наиболее распространенным объектно-ориентированным языком программирования безусловно является C++. Свободно распространяемые коммерческие системы программирования C++ существуют практически на любой платформе. Широко известна свободно распространяемая система программирования G++, которая дает возможность всем желающим разобрать достаточно хорошо и подробно прокомментированный исходный текст одного из образцовых компиляторов языка C++. Завершается работа по стандартизации языка C++: последний Draft стандарта C++ выпущен в июне 1995 г. (он доступен по Internet).
    Разработка новых объектно-ориентированных языков программирования продолжается. С 1995 года стал широко распространяться новый объектно-ориентированный язык программирования Java, ориентированный на сети компьютеров и, прежде всего, на Internet. Синтаксис этого языка напоминает синтаксис языка C++, однако эти языки имеют мало общего. Java интерпретируемый язык: для него определены внутреннее представление (bytecode) и интерпретатор этого представления, которые уже сейчас реализованы на большинстве платформ. Интерпретатор упрощает отладку программ, написанных на языке Java, обеспечивает их переносимость на новые платформы и адаптируемость к новым окружениям. Он позволяет исключить влияние программ, написанных на языке Java, на другие программы и файлы, имеющиеся на новой платформе, и тем самым обеспечить безопасность при выполнении этих программ. Эти свойства языка Java позволяют использовать его как основной язык программирования для программ, распространяемых по сетям (в частности, по сети Internet).