Теор_часть (537409)
Текст из файла
Лабораторная работа № 4
«Передача значений»
Теоретическая часть
С++ поддерживает 2 способа передачи переменных между функциями. Это передача по значению и передача по адресу или ссылке.
Передача по значению:
main( )
{
int i = 5;
pr_it (i);
return 0;
}
pr_it (int i);
{
cout << i;
return;
}
В принимающую функцию передается не сама переменная i, а ее фактическое значение равное 5. В результате переменная i не одна, а их фактически две. Первый из них является локальной по отношению к main( ), а вторая по отношению pr_it .
Обе переменные имеют одинаковые имена, но так как они локальны в своих функциях, то конфликта не возникает. В принимающую функцию посылается только значение i , поэтому не важно как назвать в этой функции переменную, принимающую это значение. Однако на практике при передаче и приеме переменных между функциями лучше и понятнее использовать одинаковые имена, несмотря на то, что это разные переменные так как они содержат одинаковые значения. В приведенном примере значение 5 передается из переменной i в функцию main в переменную i pr_it . Поскольку в этом случае происходит передача значений переменной i , то при изменении i в функции pr_it будет изменена только копия этой переменной, а не сама i функции main . Используя этот метод мы можем передавать копии переменных, принимающей функции, но она не может изменять значения этой переменной, вызывающей функции. Для передачи переменных по значению нужно указать их в списке аргументов, вызывающей функции в списке параметров принимающей функции.
Передача по адресу или по ссылке.
При передаче аргумента по адресу параметра функции присваивается адрес указанной переменной. При объявлении переменной С++ находит свободное место в памяти и закрепляет его за этой переменной. При передаче переменной по адресу принимающей функции происходит копирование её адреса, а не значения. Если принимающая функция изменяет переменную, которая была передана в неё по адресу, то при возврате в вызванную функцию все изменения сохраняются. В С++ по адресу передаются массивы.
Программа запрашивает вес пользователя:
# include
void moon (int Weight)
{
int S; // Объявление передаваемого параметра
S = Weight / 6
cout << “your Weight on the moon = “ << S << “\n”; // Вычисления.
return;
}
main( )
{
int Weight; // Локальная переменная функции main
cout << “how many pound do you Weight? \ “ ;
cin >> Weight;
moon (Weight); // Вызов функции moon и передача ей значения
return 0;
}
Описание программы:
Программа высчитывает вес пользователя на Луне при вводе веса на Земле.
Программа передаёт вес пользователя в функцию, которая вычисляет вес на луне. Принимающая функция moon использует переданные значения для соответствующих подсчетов. Как только функция получает это значение, она обрабатывает его как локальную переменную.
Задание:
напишите программу для передачи по значению.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.