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

Записывайся на этот курс на 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.)