Добро пожаловать в раздел "Практикум по основам программирования"

сайта "Try Objective-c - программирование для начинающих"!

  В данном разделе приводятся практические примеры программирования на разных языках программирования: на Python, на языке С, на Objective-c

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

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

  В этом случае обучение программированию будет не таким трудоемким и доставит вам только положительные эмоции!

» » 1.12 - Практикум. Часть 1. Арифметические операции 1.

Категория:

Информация к новости
  • Просмотров: 5294
  • Автор: Midav
  • Дата: 29-09-2012, 16:48
29-09-2012, 16:48

1.12 - Практикум. Часть 1. Арифметические операции 1.



Быстрая навигация:
Первый практикум после урока 1.12 основ программирования

Начнем пожалуй первые шаги в программировании.

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

Для этого запустим терминал и воспользуемся интерпретатором Python'а или же, что зачастую намного удобнее, IDLE - интегрированную среду разработки Python

Итак, запускаем терминал и вызываем наш интерпретатор командой:
python

Это команда, которая запускает интерпретатор Питона в операционной системе UNIX

Если все получилось, то в терминале появится приглашение для ввода данных в виде неких строк и трех треугольных кавычек

Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Первые строки – это информация от интерпретатора: номер версии, авторские права, справка...

Три треугольные кавычки являются приглашением для ввода программы.
>>>


Воспользуемся этим предложением и используем наш Python в качестве большого калькулятора:
Введем в терминале команду
2 + 2


После нажатия Enter получаем результат в виде
4



А теперь напечатаем следующую конструкцию:
a = 1
b = 3
a + b


Что мы сделали?
Мы произвели присваивание значений переменным "a" и "b"
Обратите внимание, что "=" это не операция равенства!
В программировании "=" является знаком присваивания.

Введя команду a = 1 ( переменной "а" присвоить единицу) мы дали команду компьютеру:
- выделить ячейку памяти,
- положить туда 1 и
- назвать эту ячейку как "a"
"а" = это идентификатор ячейки

То же самое делается для переменной "b", только туда кладется 3
Далее из ячейки "a" вынимается 1, а из ячейки "b" вынимается 3 и они складываются и на экран выводится результат - 4
Это и есть построчная работа интерпретатора.

Т.е. когда мы только что печатали в окне терминала мы вводили числовые данные.

О данных мы с вами уже говорили ранее


Как вы помните, помимо числовых данных имеются и строковые.
Сейчас мы это и проверим в Python'e.

Присвоим переменной с строковое значение Hello
Строковые значения записываются заключенными в кавычки.
Вводим в терминале:
с = "Hello"


Присвоим переменной d строку World
d = "World"


Что мы увидим в результате следующего выражения?
c + d


Результатом этой операции будет строка вида: 'HelloWorld'

Строка выводится без пробелов!

Чтобы строка выводилась правильно необходимо:
- вставить пробел ПОСЛЕ слова Hello, или
- вставить пробел ПЕРЕД слова World
- вставить пробел в виде переменной (например e = " " ) или так
с + " " + d


В результате получим строку вида:
'Hello World'


Пробел с точки зрения компьютера - это СИМВОЛ который как и любая буква имеет свой код согласно таблице символов (об этом чуть позже)

Обратите внимание на то, что операция описанная символом "+" является не СЛОЖЕНИЕМ, а СЦЕПЛЕНИЕМ (конкатенация) применительно к строкам.

Проверим операции умножения и деления:
Введем в терминале
2 * 4


Получаем
8



Введем
2 / 2

Получаем 1 как и ожидалось

А вот проверка деления на НОЛЬ

введем
5 / 0


В результате получаем сообщение об ошибке:
Traceback (most recent call last):
File "", line 1, in
ZeroDivisionerror: integer division or modulo by zero


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

А теперь попробуйте разделить 15 на 6.
Как вы думаете, что будет выведено в качестве результата?

Вводим в терминал
15 / 6


и получаем, как ни странно 2 вместо ожидаемого 2.5

Почему это происходит?
Если вы помните из прошлого материала - операция "/" является операцией ЦЕЛОЧИСЛЕННОГО деления и это означает, что результатом деления будет ЦЕЛОЕ число при условии, что исходные данные представляют собой целое число (число без запятой)
В результате мы получаем "лишь" целую часть равную 2. А остаток просто отбрасывается.

Чтобы получить в результате ожидаемое 2.5, необходимо чтобы исходные данные имели соответствующий тип данных (число с плавающей точкой... дробное число).
Для этого введите в окне терминала команду:
15.0 / 6.0

В результате мы получим ожидаемые 2.5

Можно поступить и по другому.
Можно использовать точку с нулем лишь одного из двух чисел. Результат будет тот же.
Это говорит о том, что интерпретатор производит НЕЯВНОЕ ПРЕОБРАЗОВАНИЕ ТИПА введенных нами данных.
Однако надо взять за правило использовать в вычислениях одинаковый тип данных.

Идем дальше.
Оператор "-" является не только показателем действия вычитания, но также и для изменения знака.

Напечатав в терминале "b" мы получим его текущее значение, а если введем в терминал "-b", то получим уже отрицательное число.


Порядок выполнения математических операций зависит от приоритета (с ним мы познакомимся позже)

Вводим в терминале
2 + 2 * 3


Если вы помните из школьной программы приоритет математических операций, то в результате мы получаем ожидаемое
8

Поскольку у умножения приоритет выполнения выше, чем у сложения... однако это можно изменить при помощи круглых скобок - ()
Напечатаем в терминале так:
(2 + 2 ) * 3


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


Вычитание производится слева направо
5 - 4 - 3

Результат:
-2


А такая конструкция
5 - (4 - 3)

Даст в качестве результата
4



Деление производится слева направо
5.0 / 4.0 / 3.0

Результат
0.416666...


А такая запись

5.0 / (4.0 / 3.0)
Выдаст результат такой:
3.75


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

Чтобы закончить работу Python в Терминале, нажмите комбинацию клавиш:
Ctrl + D (^D)
или напечатайте в окне терминала:
quit()

Метки к статье: терминал, Python, арифметические операции

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

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *