Главная > Уроки > Понятие переменной в языке программирования. Программа как "чёрный ящик"

Записывайся на этот курс на Stepike!

Понятие переменной в языке программирования. Программа как "чёрный ящик"

Пожалуйста, приостановите работу AdBlock на этом сайте.

Одно из самых важных понятий в программировании - переменная. Разберемся что это такое и зачем это нужно.

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

Пример: Программа сложения двух чисел.

Входные данные: два числа, которые нужно сложить.
Выходные данные: одно число, сумма двух чисел поступивших на вход

Схема работы большинства программ

Рис.1. Схема работы большинства программ. Программа как "чёрный ящик".

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

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

Переменная – это область в памяти компьютера, которую мы называем некоторым именем и используем для хранения данных.

Уточненная схема работы программы

Рис.2. Уточненная схема работы программы сложения двух чисел.

Например, для программы выше неплохо бы иметь три переменных. В двух из них мы будем хранить входные данные, а в третьей их сумму. Пусть это будут соответственно переменные A,B и S.

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

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

Расскажи друзьям!
Или поддержи проект.

Практика

  1. Подумайте, как можно применить модель чёрного ящика для описания программ с которыми вы обычно работаете, частей отдельных программ и любых других вещей и явлений, которые вас окружают. Свои примеры пишите в комментарии к этому уроку.
    Например: Интернет-браузер. На вход поступает адрес сайта, а на выходе имеем страницу этого сайта на экране.
  2. Раз вы изучаете программирование, то наверное в будущем хотите написать какую-то крутую и полезную программу, систему управления для робота, компьютерную игру или ещё какой-то проект. Попробуйте найти в нём или его части модель "чёрного ящика"? Какие данные поступаю на вход? Какие данные на выходе?

Дополнительные материалы

Оставить комментарий

Чтобы код красиво отображался на странице заключайте его в теги [code] здесь писать код [/code]

Комментарии

Паровозик_Дима
Думаю это мясорубка(чёрный ящик
KaDeaT
Вполне. Особенно электрическая.
Летта
духовка, соковыжималка, даже человек(в какой-то степени)
KaDeaT
Почему бы и нет. Человек даже больше подходит, чем все остальные. Т.к. процессы происходящие в бытовых приборах описать легче, чем процессы в организме человека.
EVR
Компьютерная мышь(на входе мы кликаем по кнопке а на выходе получаем действие), стиральная машина)
KaDeaT
Наверное всё-таки не сама мышь, а весь компьютер. Хотя если рассматривать за выход сигнал, который передаётся в компьютер, то да.
Андрей
Электрический чайник, пульт управления бытовой техникой, программа управления стиральной машиной, поисковая строка в браузере
Korizza
Игра на гитаре (на входе ноты, на выходе звук)
KaDeaT
А что по-вашему тут выступает в роли чёрного ящика?
SDK
генератор случайных чисел. вход-ввод определённой последовательности чисел(например,от 0 до 25). выход-случайное число, взятое из этой последовательности.
KaDeaT
Да. Отличный пример.
CakeIsALie
Видеоигра. Вход - нажатие клавиш и движение мыши, выход - происходящее на экране (действия персонажа, картинка и т.д.)
KaDeaT
Да, вполне. Хотя это тоже программа)
Анастасия
Фотоаппарат является чёрным ящиком. На входе мы совершаем действие(делаем снимок), а на выходе - готовое изображение.
Дмитрий Банкир
Трансакции. Мы вводим определенную сумму для перевода денег -> человек получает на свой счет деньги.
Евгений
Самый дорогой в мире кофе. На входе обычные кофейные зёрна, на выходе оооочень дорогой кофе
KaDeaT
смешно.
Данил
Школа(входим с маленькой информацией, а выходим с набитой головой(формулы, правила и т.д))
KaDeaT
Не все выходят из школы с набитой головой)
Денис
Мультиварка (на входе ингредиенты, на выходе готовое блюдо)
KaDeaT
Ok.)
Дмитрий_Resolut
Черный ящик для расшифровки данных черных ящиков.
На входе такого ящика "черный" ящик, из которого требуется извлечь зашифрованнуюповрежденную информацию, на выходе - извлеченная информация или ее часть.
KaDeaT
Да. =)
Степан
Музыкальный плеер: вход - адрес файла, выход - звук.
Навигация в игре: вход - команды с клавиатуры, выход - перемещение.
Мозг: на входе - информация от органов чувств, на выходе - действия, мысли и реакции.
KaDeaT
Годно!
Николай
На входе мы вводим значения ширины и долготы на выходе мы получаем месторасположение на карте.
KaDeaT
Отличный пример.
Святослав
Да даже любой физический процесс в природе
KaDeaT
Да, зачастую, на любой процесс в природе можно смотреть, как на чёрный ящик.
RusLAN
Хорошо объяснили
KaDeaT
Спасибо, стараемся!
Сергей
Нажимаем педаль акселератора - машина ускоряется
Елена да
модель чёрного ящика. Например, на вход поступает логин и пароль, а на выходе получаем доступ к своей учетной записи где-либо.
Нажимаю кнопку "записи" в Яндекс.Переводчик и говорю в динамик, а на выходе вижу текст того,что сейчас сказала. Нарушаю скорость дорожного движения под камерами, а на выходе штраф))
Алексей
телефонный справочник
на входе номер телефона, а на выходе ФИО абонента, и на оборот
Сергей
"Для интуитивного понимая понятия" возможно имеется ввиду слово "понимания"?
DanielBip
The moment where many Dutch and Belgian customers <a href=https://www.jackpotbetonline.com/new-download-bet777-app-for-both-android-and-ios/><b>Bet777</b></a> have been waiting for is finally there, the <a href=https://www.jackpotbetonline.com/new-download-bet777-app-for-both-android-and-ios/><b>Bet777 App</b></a> is online! We will give you all information about how to download the Bet777 App for Android and iOS, and let anyone who is not a customer meet at <a href=https://www.jackpotbetonline.com/new-download-bet777-app-for-both-android-and-ios/><b>Bet777</b></a> with a great welcome gift. Existing customers also now benefit from a temporary Mobile Bonus! Now Read more and bet with Bet777 Mobile.


<b>Top Sports betting and Casino Slots Game</b>

<a href=https://www.jackpotbetonline.com/how-to-find-the-best-sports-betting-sites-and-avoid-dodgy-operators/><b>How to Find the Best Sports Betting Sites and Avoid Dodgy Operators</b></a>
Choosing a betting site is an important decision for every sports bettor. A great bookie can motivate you to stay in the game. On the contrary, a poorly managed bookmaker could be a nightmare to use. So, how can you

<a href=https://www.jackpotbetonline.com/genie-jackpots-vegas-millions-slot-game-review/><b>Genie Jackpots Vegas Millions Slot</b></a>
Genie Jackpot Vegas Million Slot for getting the basic information about it. Watch Genie Jackpot Vegas will the options and choices included in it. This casino game will open for the gambler in January, 2020 to cover the

<a href=https://www.jackpotbetonline.com/piggy-riches-megaways-casino-slot-review/><b>Piggy Riches Megaways Casino Slot</b></a>
Piggy Riches Megaways Casino Game with all the inner and the outer options and the features in it.
RobertMyday
here

http://lh2020.jtb-stickers.ddns.net/1813.html
http://oh2020.swfarm.ddns.net/3316.html
http://qr2020.sandytest0722.ddns.net/%E0%A4%A6%E0%A4%BE%E0%A4%A6%E0%A4%BE-%E0%A4%95%E0%A5%80-%E0%A4%A6%E0%A5%87%E0%A4%96%E0%A4%AD%E0%A4%BE%E0%A4%B2-%E0%A4%95%E0%A5%87-%E0%A4%A6%E0%A5%8C%E0%A4%B0%E0%A4%BE%E0%A4%A8-%E0%A4%AC%E0%A4%BF%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A4%B0-%E0%A4%AA%E0%A4%B0-%E0%A4%B8%E0%A4%82%E0%A4%9A%E0%A4%BF%E0%A4%95%E0%A4%BE-%E0%A4%AB%E0%A5%8D%E0%A4%B0%E0%A5%87%E0%A4%82%E0%A4%9A-%E0%A4%97%E0%A4%A1%E0%A4%BC%E0%A4%AC%E0%A4%A1%E0%A4%BC.html
http://oa2020.jtb-stickers.ddns.net/17.html
http://gn2020.mingtianhuigenghao.access.ly/1224.html
http://wc2020.milagros.access.ly/2110.html
http://cf2020.swfarm.ddns.net/2491.html
Alfredefy
<a href=http://nolvadex.ru.com/>http://nolvadex.ru.com</a> - order nolvadex <a href=http://nolvadex.ru.com/#>tamoxifen</a>
Johnesn
<a href=http://paxil.ru.com/>http://paxil.ru.com</a> - paxil cr 37 5mg <a href=http://paxil.ru.com/#>80 mg paxil</a>
DouglasPex
http://canadianpharmacystorm.com m http://viagrawithoutdoctorspres.com s http://canpharmb3.com g http://genericvgrmax.com s http://cialisxtl.com
Ashleyekw
Hi! <a href=http://erectiledysfunctionpills-365.com/>http://erectiledysfunctionpills-365.com</a> - ed pills online great website
Lucyepz
Howdy! <a href=http://onlinegenepharmacy.com/>http://onlinegenepharmacy.com</a> - http://www.indiapharmacyonline.com/ beneficial web site
Aaronfreks
<a href=https://vk.com/public181896656><b>AliExpress Trends. best with aliexpress</b></a>

<a href=https://youtu.be/65vR8vWuuJg><b><u>Xiaomi mi 9 lite 6/64gb Youtube</u></b></a>
<a href=https://youtu.be/kXzjq1VD7Bs><b><u>The smartphone for extreme Blackview BV9900 Youtube</u></b></a>
<a href=https://vk.com/public181896656?w=wall-181896656_1117><b><u>Buy HUAWEI mate 30 Pro</u></b></a>

The entire catalog of goods by category in the online store AliExpress:

<a href=https://vk.com/public181896656?w=wall-181896656_875><u><b>The best gifts for the new year 2019-2020</b></u></a>
<a href=https://vk.com/public181896656?w=wall-181896656_872>HOT goods up to 90% off</a>
<a href=https://vk.com/public181896656><b>HOME APPLIANCES</b> New year, new home! Save up to 60%</a>
<a href=https://vk.com/public181896656><b>CONSUMER ELECTRONICS</b> The best of the best, up to 50% off!</a>
<a href=https://vk.com/public181896656><b>TOY & HOBBIES</b> Spread holiday cheer at up to 60% off</a>
<a href=https://vk.com/public181896656><b>BEAUTE & HEALTH</b> Glow up with year-end deals up to 60% off</a>
<a href=https://vk.com/public181896656><b>PHONES & ACCESSORIES</b> Up to 50% off 2019 best buys!</a>
<a href=https://vk.com/public181896656><b>COMPUTER & OFFICE</b> Up to 50% off on 2019 most useful gadgets!</a>
<a href=https://vk.com/public181896656><b>CARS & MOTORCYCLES</b> 50% off top trendy items for the road ahead</a>

<a href=https://youtu.be/Q4yqbUqL1Zg><b>DACOM U7 TWS Bluetooth
Mayaefb
Hello! <a href=http://pharmacyreth.com/>http://pharmacyreth.com</a> - pharmacy tech schools online excellent site
Johnebd
Hi! <a href=http://pharmacyreth.com/>http://pharmacyreth.com</a> - online pharmacy technician program very good site
Antonioetb
Hello! <a href=http://pharmacyreth.com/>accredited online pharmacy technician programs</a> us pharmacy online <a href=http://pharmacyreth.com/>mexican pharmacy online</a>
Martineqg
Hi! <a href=http://pharmacyreth.com/>united healthcare online pharmacy</a> canada pharmacy no prescription <a href=http://pharmacyreth.com/>online pharmacies reviews</a>
RobertMyday
interesting article

http://felita20.xsl.pt/%D8%A3%D8%AE%D8%A8%D8%A7%D8%B1-24-%7C-%D8%A7%D9%84%D8%B7%D8%A7%D9%82%D8%A9%3A-%D8%A5%D8%B9%D8%A7%D8%AF%D8%A9-%D8%A7%D9%84%D8%AE%D8%AF%D9%85%D8%A9-%D9%84%D8%AC%D9%85%D9%8A%D8%B9-%D8%A7%D9%84%D9%85%D8%B4%D8%AA%D8%B1%D9%83%D9%8A%D9%86-%D9%81%D9%8A.html
http://nerte20.xsl.pt/%E8%A9%B3%E3%81%97%E3%81%8F.html
http://lilly20.xsl.pt/1484.html
http://kizzee20.xsl.pt/2962.html
http://audry20.xsl.pt/Watch-Naked-and-Afraid-Episodes-Online-%7C-SideReel.html
http://lorrayne20.xsl.pt/2246.html
http://aretha20.xsl.pt/Mp3-%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89.html