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

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

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

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

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

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

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

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

Рис.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
Спасибо, стараемся!
Сергей
Нажимаем педаль акселератора - машина ускоряется
Елена да
модель чёрного ящика. Например, на вход поступает логин и пароль, а на выходе получаем доступ к своей учетной записи где-либо.
Нажимаю кнопку "записи" в Яндекс.Переводчик и говорю в динамик, а на выходе вижу текст того,что сейчас сказала. Нарушаю скорость дорожного движения под камерами, а на выходе штраф))
Алексей
телефонный справочник
на входе номер телефона, а на выходе ФИО абонента, и на оборот
Сергей
"Для интуитивного понимая понятия" возможно имеется ввиду слово "понимания"?
KaDeaT
Спасибо! Поправил.
Кирилл
1с Конфигурация - черный яшик где исполняется код
На вход поступают действия пользователей в режиме предприятия, на выход исполнение процессов рассчеты и прочее.

Изучаю чтобы работать с arduino, на вход либо цифровые сигналы либо аналоговые, выход, вывод на lcd экран, индикация светодиодов, пищалка и много другое
черный ящик здесь сама arduino плата.
Илья
У меня аналогия связана с хобби. Как происходит при игре на электронных синтезаторах: Настройка параметров электронного синтезатора и нажимание на его клавишы -> {расчёт и применение параметров для извлечения звука} -> воспроизведение звука чётко по заданной инструкции
Александр
Пульт телевизора. Нажимаем на кнопки, переключаются каналы
Seska Solsa
Исковое заявление поданное в суд. Один иск подаешь, на выходе получаешь решение (постановление, определение).
Или крадешь имущество (убиваешь, насилуешь, обманываешь и т.д.) на выходе получаешь уголовное дело с обвинительным или оправдательным приговором (если не было прекращено на стадии следствия). =D
Russianland
Поисковик, переводчик, калькулятор, мессенджер. На входе числа, либо, либо слова - на выходе сообщение, числовой результат, иноязычное слово и тп. Сложно придумать что-то незаурядное.
Сабина
компьютерная программа-решебник дз. (на входе - задачи, на выходе - решения)
Сабина
компьютерная программа-решебник дз. (на входе - задачи, на выходе - решения)
Егор
покупка акций через приложение - выбрал товар и обозначил цену - что то происходит - бумаги записаны на твое имя, имеют определенную стоимость и количество
Scanaviy
ChatGPT
KaDeaT
Ахаха, отличный пример!
Norskiy
Stepik? Это же элементарно! По идее, степик получает данные которые ввел пользователь, и сверяет их уже с созданной переменной, если они равны, то выдается команда то что все правильно, а если нет, то все плохо
Николай
Жизнь :)
Дамир
если людей кто то выдумал, то у нас получается тоже ии
Oleg
Осциллограф, с щупов снимается сигнал и отображается на экране его осциллограмма
Max
Оплата товаров в магазине. На входе запрос оплаты, на выходе кассовый чек
Данис
Игра на пк
В определенных местах хранятся файлы этой игры, и после ее включения происходит запуск входных данных из коренной папки, на выходе запущенная игра.
KRSN
Процессор. Из шины передается инфа в проц, а там он внутри чето тужится,пыжится а потом дает результ.