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

Записывайся на этот курс на 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
Спасибо, стараемся!
Сергей
Нажимаем педаль акселератора - машина ускоряется
Gannasit
срочный займ онлайн: https://citycredits.com.ua/dinero/
Максим
Человек - самый сложный и "навороченный" черный ящик. Для жизни ему в принципе нужно немного (жилье, пища, общение), зато на "выходе" от него можно ожидать чего угодно!!! От глобальных идей изменения мира, до, пардон "отрыжки".
Елена да
модель чёрного ящика. Например, на вход поступает логин и пароль, а на выходе получаем доступ к своей учетной записи где-либо.
Нажимаю кнопку "записи" в Яндекс.Переводчик и говорю в динамик, а на выходе вижу текст того,что сейчас сказала. Нарушаю скорость дорожного движения под камерами, а на выходе штраф))
Scecy
Кто установил себе такое устройство UKP-66. что знаете пишите, говорят не всем подходит.
BrandonPhype
Здравствуйте!
Мне недавно пришло требование оплатить задолженность от Билайна за сим карты, которыми я много лет не пользовался.
Они были с оплатой по факту, а недавно в одностороннем порядке Билайн поменял тарифы на всех моих СИМ-картах на Пакетные и самое интересное оповестил на те самые неиспользуемые СИМ-карты И ВСЁ!!!
И тут я вспомнил, что у меня на Теле2 больше 25-ти таких СИМ-карт оформлено...
Посчитал это может вылится в Триллионы рублей только у Билайна и всё на законных основаниях.
Расторгнуть договор нельзя не погасив образовавшуюся задолженность и ни что не мешает продолжать начислять.
Инетересно? Билайнxyz - тут я разбираю по всем плоскостям - потихоньку!
Gurzufruu
«Шале Ла Рош» Сдаю квартиру в Артеке в приморском поселке – Гурзуф. https://www.avito.ru/yalta/kvartiry/1-k_kvartira_38_m_110_et._1695891128
Сдаю квартиру в Артеке все условия для отдыха. https://www.avito.ru/yalta/kvartiry/2-k_kvartira_65_m_110_et._1469223699
Сдаю 2к квартиру в Артеке все удобства,парковка. https://www.avito.ru/yalta/kvartiry/2-k_kvartira_65_m_110_et._1101605612
Jamestug
<a href=http://bit.ly/2JtK2xr><img src="https://bizzilions.com/images/eng/time/bizzilion_time-has-come_580_400.jpg"></a>
game of thrones 2019 new york
game of thrones fandom wikia
game of thrones season 8 trailer 2 release date
game of thrones season 8 episode 2 hbo go time
game of thrones season 8 schedule uk
game of thrones season 7 episode 6 part 2 subtitles
game of thrones reddit season 8 episode 4 stream
game of thrones episode 3 season 8 online stream
game of thrones season 7 finale runtime
game of thrones online stream english
game of thrones theme sheet music trumpet
game of thrones stream online staffel 1
game of thrones season 8 episode length 1
game of thrones season 8 episode 4 look
game of thrones season 1 episode 2 cast
game of thrones plot leak season 8 episode 3
game of thrones season 4 episode 10 soundtrack download
game of thrones season 8 episode 2 leak download link
game of thrones season 8 episode 1 leak torrentcounter
game of thrones season 5 episode 9 length
game of thrones board game expansion dance with dragons
game of thrones season 8 episode 1 watch free 123movies
how do you watch game of thrones on netflix
game of thrones podrick actor
game of thrones season 8 episode 4 plot leak reddit
can i watch game of thrones on netflix streaming
game of thrones season 8 episode 1 русские субтитры
game of thrones wiki season 5
game of thrones board game tutorial
game of thrones 8 season 4 episode live
game of thrones saison 8 episode 2 teaser
game of thrones season 1 watch online free with subtitles
game of thrones season 7 episode 2 recap vulture
game of thrones season 7 theme music
game of thrones cast and their roles
watch game of thrones free online season 7 episode 6