Программирование - это просто
Advertisement
Главная arrow Компьютер для блондинок arrow Программирование для блондинок arrow Программирование для блондинок. Типы переменных
26.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Программирование для блондинок. Типы переменных Печать E-mail
Автор megabax   
08.04.2013 г.
Привет

Программирование для блондинок. Типы переменных

В прошлый раз Колян обещал нам рассказать про типы переменных. Но вместо этого зачем то начал говорить про то, что существует очень много разных языков программирования. Таких как Visual Basic (Вижуал бэйсик), C# (Си Шарп), Delphi (Делфи), PHP (Пэ-хэ-пэ) и прочие.

- Но ты же обещал про типы..., - напомнила Лена.

- А что типы, давай про языки тоже послушаем.

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

- А как вы, девочки, научитесь программировать, не зная языка программирования? - спросил Коля, - Это все равно что научиться говорить на японском, не зная японского.

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

- А почему именно японский? - спросила я.

- Ну это так, первое что в голову пришло, - сказал Коля, - а вообще, вот представьте что вы решили иностранный язык изучать. Какой бы вы, девочки, стали изучать?

- Английский, разумеется, - ответила я.

- А почему?

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

- Не в любой, - не согласилась Лена, - ты уверена, что где нибудь в Африке, в племени Тумба Юмба, местные аборигены английский знают? Его даже в России то не все знают...

- Вот вот, - поддакнул Коля, - может, вы хотите ехать в Японию и продавать там "Гербалайф" или еще какую нибудь фигню, а японцы английский не знают и знать не хотят. Или, может, вы хотите быть переводчицами с португальского на японский и получать за свою работу нехилый профит.... Короче, к чему я все этого говорю... Вот как вы выберите, на каком языке программировать?

- Ну, на самом лучшем, разумеется, - сказала я.

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

- Ну разумеется, цель - написать программу, - произнесла Лена.

- Какую программу?

- Как какую? Компьютерную!

- Ну а что она должна делать?

- Работать!

- Как работать?

- Ну вот, сидит за компом чел и так щелк щелк щелк..., - она изобразила работу мышки.

Кажется, Коля начал уже закипать.

- Ну, допустим, мы хотим написать вторую 1С, - вмешалась я, что бы компьютерщик окончательно не взорвался.

Он не взорвался. Зато истерический захохотал. Вслед за ним прыснули и мы. И смеялись довольно долго.

- Ладно, - сказал Коля, - поржали и хватит. В общем, что я хочу сказать. Язык программирования надо выбирать исходя из того, что вы на нем хотите писать. Но, поскольку для вас это пока что то из высшей математики, будем разбирать типы переменных на языке Visual Basic, так как именно с него мы начали изучать программирование.

Он немного помолчал, затем продолжил:

- И так, переменные бывают числовые и строковые. Первые хранят числа, а вторые строки.

- А зачем их разделять? - спросила Лена.

- Ну, потому что у строк и чисел разная объектная сущность.

- Чего чего? - переспросила она.

- Ладно, выразимся иначе: числа и строки - это разные вещи. И, соответственно, в компьютере они хранятся разным способом. Вы, вообще, девченки, знаете, как в компьютер храниться информация?

- В двоичном коде? - решила блеснуть эрудицией я.

- Совершенно верно, в двоичном коде, - подтвердил Коля, - в виде нулей и единиц. Единица - это когда есть сигнал, нуль - когда его нет. И вот таким вот образом, в компьютере всё и кодируется. Последовательностью нулей и единиц.

- Что, прямо таки всё? - спросила Лена, - Даже фильмы про лубофф, которые мы скачиваем  с торрента?

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

- А почему компьютер хранит числа в двоичном виде? - продолжала задавать вопросы Лена.

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

- Тогда как компьютер переводит свои двоичные коды наш язык?

- Есть специальный алгоритм перевода.

- Так он все таки понимает человеческий язык?

- Нет.

- Ну как нет, если есть этот, как его  там ... алгоритм?

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

- Ха! - усмехнулась Лена, - теперь понятно, почему он иногда тормозит.

- Ладно, - говорю я, - а какое отношение все эти рассуждения о словарях имеют к типам переменных?

- Ну, если сказать кратко, то строки и числа просто по разному кодируются в эти самые двоичные коды. Например, что бы закодировать число от 0 до 255, используется 8 комбинаций нулей и единиц. Иными словами, 8 бит, или 1 байт. От нуля до 65536 надо уже два байта. Добавлением третьего байта мы можем кодировать числа в 256 раз больше, чем 65536.

- А четвертого еще в 256 раз больше, чем для трех байтов? - догадалась я.

- Совершенно верно.

- А почему?

- Потому что 8 бит дают 256 комбинаций. Каждый бит число комбинаций увеличивает в два раза.

- А почему именно в два?

- Ты че, Юленция? - подруга удивленно подняла брови, - понятно же почему в два раза - система то двоичная.

- Да, именно поэтому, - подтвердил Коля, - в десятичной системе каждый разряд в 10 раз больше, чем в предыдущий. Тоесть, число 10 в десять раз больше чем 1, 100 тоже в 10 раз больше чем 10. Каждый нуль, добавленный сзади к числу увеличивает его в десять раз. А в двоичной системе только в два раза.

- Но почем именно в два? - то, что 100 может быть не в десять раз больше 10, а только в два, для меня казалось какой то дикостью.

- Ладно, - спокойно сказал Коля, вот смотри, - он написал на листке бумаги цифру 0, - Это первая комбинация, - а вот вторая, - он написал единицу. Сколько их всего?

- Две, - ответила я.

- Хорошо. А сколько комбинаций можно составить из двух цифр, каждая из которых либо 0 либо 1?

Я немножко подумала и изрекал:

- Ну, наверное, четыре. Два раза по одной и два раза по другой цифре.

- А если три?

- Тогда, наверное, восемь. Два раза по четыре...

- А-а-а! - радостно закричала я, - поняла!!!!

- Очень хорошо, - констатировал программист, - а теперь перейдем к строковым переменным. Как по вашему, компьютер будет кодировать текст?

- Хороший вопрос, - хмыкнула я.

- А очень просто. Каждую букву, знак препинания и прочее мы обозначим число от 0 до 255. Это достаточно что бы закодировать и русский и английский алфавит и всякие знаки, в том числе и цифры. Таким образом, текст - это просто последовательность байт. И еще одно отличие от чисел. Строки можно только складывать между собой. А числа - вычитать, делить, умножать...

- Подожди, - прервала его Лена, - как это строки можно складывать?

- Ну как? Были две строки, а стала одна, где вторая добавилась в конец первой. Но, собственно, давайте продемонстрирую это на примере.

И он набрал вот такую программу в редакторе макросов:

Sub Макрос1()

'

' Макрос1 Макрос

' Макрос записан 04.04.2013 (megabax)

'

    s1 = "Это первая строка"

    MsgBox (s1)

    s2 = "Это вторая строка"

    MsgBox (s2)

    s3 = s1 + s2

    MsgBox (s3)

   

'

End Sub

Запустил ее. Сначала вылезло вот такое окно*:

Программирование для блондинок. Типы переменных

потом такое*:

Программирование для блондинок. Типы переменных

а затем, когда мы в очередной раз нажали на ОК, вылезло вот это*:

Программирование для блондинок. Типы переменных

- А если складывать числа, то они будут складываться как числа, - продолжал объяснять Коля, - вот смотрите, - он ввел новую программу:

Sub Макрос1()

'

' Макрос1 Макрос

' Макрос записан 04.04.2013 (megabax)

'

    a = 2

    b = 3

    c = a + b

    MsgBox (c)

   

'

End Sub

- И заметьте, - сказал Коля, - строки пишутся в кавычках, а числа без кавычек.

Он запустил программу и мы увидели результат*:

Программирование для блондинок. Типы переменных

- Ладно, - сказала я, - а какой толк от складывания строк? С числа тут все понятно, считать можно? А со строками?

- Ну, в разных случаях. Допустим, у нас отдельно храниться фамилия и отчество А нам надо вывести их вместе. в этом случае мы можем просто сложить строки.

- А почему они хранятся отдельно?

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

- А зачем? - не унималась я, хотя и заметила, что Лене уже не терпится закончить и идти домой.

- А вдруг мы знаем только фамилию но не помним точно имя. Например, забыли, Александр это или Андрей. Тогда мы можем запросить у компьютера список людей с фамилией, и узнать, а какие же есть имена.

- А ну, тогда примерно понятно...

- А еще  есть переменные булева типа, есть числа с плавающей точкой, целые и длинные целые числа...

- Стоп, - прервала его Лена, - и так уже голова пухнет. Давай в следующий раз, а?

- Ладно.

 


Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями   программного продукта "Microsoft Excel", авторское право на который принадлежит "Microsoft"


 

Последнее обновление ( 08.04.2013 г. )
 
Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги