Одно число одновременно в 2-е переменные.

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Одно число одновременно в 2-е переменные.

Сообщение Леонид » 31.03.2017 11:12:56

Бодрого дня, господа.
Возник такой вопрос - можно ли (и как) число, введенное с клавиатуры присвоить сразу двоим переменным?
Пимер:
Код: Выделить всё
program proga;
uses crt;
var Ind1,Ind2:integer;
begin
    write('Введи число: ');
//      readln или read ... - как тут быть?
//      или так:
        readln(Ind1);
        Ind2:=Ind1    // ???. Как-то не комильфо получается. Не красиво.
end.
Леонид
новенький
 
Сообщения: 16
Зарегистрирован: 23.03.2017 13:19:20

Re: Одно число одновременно в 2-е переменные.

Сообщение Дож » 31.03.2017 11:20:49

Код: Выделить всё
program proga;
uses crt;

procedure BeautifulRead(out A, B: Integer);
begin
  Read(A);
  B := A;
end;

var Ind1,Ind2:integer;
begin
    write('Введи число: ');
    BeautifulRead(Ind1, Ind2);
end.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 661
Зарегистрирован: 12.10.2008 16:14:47

Re: Одно число одновременно в 2-е переменные.

Сообщение Лекс Айрин » 31.03.2017 11:25:19

А чем именно не комильфо?

Вообще, есть вариант с объявлением

[code]
Var
Ind1:integer;
Ind2:integer absolute Ind1;
/code]
Но это, фактически, использование псевдонима переменной. Так как значения всегда будут одинаковыми.
Вообще, не понял смысл? Если переменные на одном уровне и одного типа, то необходимость присваивания Ind2:=Ind1 сомнительна, если речь не идет о временном хранении, а в этом случае лучше делать присваивание явно.

Добавлено спустя 1 минуту 28 секунд:
Дож,, имхо, в данном случае, твоя прога ничем не отличается от проги ТС.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3930
Зарегистрирован: 19.02.2013 16:54:51

Re: Одно число одновременно в 2-е переменные.

Сообщение Леонид » 31.03.2017 14:28:46

Дож. Те же яйца, только в профиль.
Я думал, что можно как-то write(Ind1,Ind2); или еще как-то.
Ладно. Не пожар и не трагедия. Просто хотелось как-то красиво это сделать.
Леонид
новенький
 
Сообщения: 16
Зарегистрирован: 23.03.2017 13:19:20

Re: Одно число одновременно в 2-е переменные.

Сообщение zub » 31.03.2017 14:45:03

Странные у вас тут понятия о красоте.
zub
долгожитель
 
Сообщения: 2137
Зарегистрирован: 14.11.2005 23:51:26

Re: Одно число одновременно в 2-е переменные.

Сообщение Лекс Айрин » 31.03.2017 14:52:18

zub, каждый затачивает карандаши по своему. Я, кстати, тоже удивился.

Добавлено спустя 2 минуты 6 секунд:
Леонид, никого данный вопрос просто не заморачивал.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3930
Зарегистрирован: 19.02.2013 16:54:51

Re: Одно число одновременно в 2-е переменные.

Сообщение pupsik » 31.03.2017 15:03:42

Я думал, что можно как-то write(Ind1,Ind2);


Код: Выделить всё
var
  a, b : integer;
begin
  WriteLn('a, b');
  Read(a, b);
  WriteLn('a =', a);
  WriteLn('b =', b);
  ReadLn;     

Или вы что то иное хотели?
pupsik
энтузиаст
 
Сообщения: 991
Зарегистрирован: 20.08.2014 16:20:13

Re: Одно число одновременно в 2-е переменные.

Сообщение Лекс Айрин » 31.03.2017 15:17:37

pupsik, он же явно сказал -- один раз прочитать сразу в две переменные что-то типа a:= b := c; (или a:= b, c)
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3930
Зарегистрирован: 19.02.2013 16:54:51

Re: Одно число одновременно в 2-е переменные.

Сообщение tema » 31.03.2017 16:13:40

Дож писал(а):
Код: Выделить всё
program proga;
uses crt;

procedure BeautifulRead(out A, B: Integer);
begin
  Readln(A);
  B := A;
end;

var Ind1,Ind2:integer;
begin
    write('Введи число: ');
    BeautifulRead(Ind1, Ind2);
end.

Это самый чёткий и правильный ответ на вопрос ТС. Именно то, что и запрошено.
tema
постоялец
 
Сообщения: 318
Зарегистрирован: 24.03.2011 20:19:27

Re: Одно число одновременно в 2-е переменные.

Сообщение Лекс Айрин » 31.03.2017 16:21:53

tema, в контексте темы этот ответ не проходит, так как он просто оборачивает проблемный участок. А с учетом оптимизации процедура может и вообще быть удалена. А если нет, то "за такое бьют больно и сажают надолго" (с).

Правильнее все же было признать, что такого механизма тупо нету.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3930
Зарегистрирован: 19.02.2013 16:54:51

Re: Одно число одновременно в 2-е переменные.

Сообщение pupsik » 31.03.2017 22:58:49

ввело в заблуждение: "write(Ind1,Ind2);"...

Тогда у меня вопрос: какой смысл в данной хм... Назначать одно и то же десятке переменных это что за кх..м "удобство"? Какое то новое веяние что ли?
pupsik
энтузиаст
 
Сообщения: 991
Зарегистрирован: 20.08.2014 16:20:13

Re: Одно число одновременно в 2-е переменные.

Сообщение Леонид » 01.04.2017 11:24:13

pupsik писал(а):у меня вопрос: какой смысл в данной хм... Назначать одно и то же десятке переменных это что за кх..м "удобство"? Какое то новое веяние что ли?


Если спросил - значит хотелось. Вообще это был больше теоретический вопрос. А тут такие страсти разгорелись...

Считаю тему закрытой и не достойной обсуждения.
Леонид
новенький
 
Сообщения: 16
Зарегистрирован: 23.03.2017 13:19:20

Re: Одно число одновременно в 2-е переменные.

Сообщение Лекс Айрин » 01.04.2017 11:27:17

Леонид, расслабься. Просто люди (и я в том числе, каюсь) реально не понимают зачем надо, вот и интересуются.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3930
Зарегистрирован: 19.02.2013 16:54:51

Re: Одно число одновременно в 2-е переменные.

Сообщение pupsik » 01.04.2017 18:45:35

Если спросил - значит хотелось.
и какова логическая постановка "хотелось"? Смысл плодить переменные и заполнять одним значением? Вот это реально хотелось бы узнать...
pupsik
энтузиаст
 
Сообщения: 991
Зарегистрирован: 20.08.2014 16:20:13

Re: Одно число одновременно в 2-е переменные.

Сообщение java73 » 01.04.2017 19:09:16

Может вам еще
Код: Выделить всё
a,  b := b,  a
или лямбды принести? Или переменные не объявлять заранее? И foreach для любой структуры?
Меня уже тоже тут пообламывали с хотелками. В других темах.
java73
постоялец
 
Сообщения: 191
Зарегистрирован: 21.11.2013 09:08:10

След.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru