Имя: Пароль:
1C
1C 7.7
v7: Как переменные могут поменятся местами без использования промеж-ной переменной
, ,
0 sr_deadman
 
29.11.12
19:59
3. В некотором модуле объявлены две переменные «Начислено» и «Выплачено». В этих
переменных содержаться определенные числовые величины.
Необходимо написать программный код, который меняет значения этих переменных. Например,
если «Начислено» равно 1000, «Выплачено» = 2000, то необходимо, чтобы «Начислено» стало
равным 2000, а «Выплачено» = 1000. Проверьте работу алгоритма и на другом наборе данных:
Начислено = 150, Выплачено = 301.
Эту задачу можно решить двумя вариантами:
• С использованием промежуточной переменной;
• Без ее использования.
Предложите оба варианта.
1 Kreont
 
29.11.12
20:04
Без обид, но такое вообще то в школе проходили :)
2 zulu_mix
 
29.11.12
20:05
жесть жестяная
начислено=начислено+выплачено;
выплачено=начислено-выплачено;
начислено=начислено-выплачено;
3 sr_deadman
 
29.11.12
20:06
sorry я только учусь
4 zulu_mix
 
29.11.12
20:08
промперем=начислено;
начислено=выплачено;
выплачено=промперем;
5 It happens
 
29.11.12
20:08
Начислено = Начислено + Выплачено;
Выплачено = Начислено - Выплачено;
Начислено = Начислено - Выплачено;
6 zulu_mix
 
29.11.12
20:13
а как шикарно это на ассемблере делается мммм....
xchg ax,bx
7 mehfk
 
29.11.12
20:21
(2)
начислено = Запрос.Выполнить().Выгрузить();
выплачено = "42";

или

начислено = "Вася";
выплачено = Перечисления.ВидыДвиженийПриходРасход.Приход;

че делать будешь?
8 zulu_mix
 
29.11.12
20:22
(7) чукча писатель?
>>В этих переменных содержаться определенные числовые величины.
9 mehfk
 
29.11.12
20:23
(7)+ Ниче, что на 8-ке?
10 mehfk
 
29.11.12
20:24
(8) невнимательно прочитал
11 Fragster
 
гуру
29.11.12
20:26
12 zulu_mix
 
29.11.12
20:33
кстати. я таких работодальцев накуй сразу посылаю.
13 mehfk
 
29.11.12
20:34
(12) а кандидатов?
14 zulu_mix
 
29.11.12
20:35
(13) я не такой идиот задавать кандидатам такие идиотские вопросы
15 mehfk
 
29.11.12
20:37
(6)
формально и это подходит
push ax
push bx
pop ax
pop bx

(14) А кандидатов, которые на такие вопросы не могут ответить "на такие идиотские вопросы"?
16 zulu_mix
 
29.11.12
20:39
(15) посчитай количество тактов и сделай выводы.
+ меня больше интересует стиль программирования и профильное образование
17 mehfk
 
29.11.12
20:42
(16) сам считай - на i7.
18 ВалераОшкин
 
29.11.12
20:46
(0) А если переменные не "число" и не "строка"?
19 mehfk
 
29.11.12
20:50
(16) То есть чтишь традицию выровненного "на два пальца" кода?
20 Jstunner
 
29.11.12
20:56
(6) (15) как то вы оба застряли в шестнадцатибитной эпохе
21 zulu_mix
 
29.11.12
21:06
(19) отыбись. я про стиль а не про красоту для глаза. хочешь знать что такое стиль? вот за такой код v8: Надо сообщение вбухать в цикл как не возьму а за v8: Надо сообщение вбухать в цикл как возьму

(20) лень было лишнее набирать :)
22 Fragster
 
гуру
29.11.12
21:08
(21) никого из них нельзя брать, ибо у обоих неправильно
23 zulu_mix
 
29.11.12
21:09
(22) чо это в моей функции неправильно??
24 zulu_mix
 
29.11.12
21:10
+23 я о второй мессаге в той теме
25 Fragster
 
гуру
29.11.12
21:15
(23) 1 мая - выходной?
26 zulu_mix
 
29.11.12
21:16
(25) да пох. я опять же про стиль :)
27 Fragster
 
гуру
29.11.12
21:21
(25)+ если ты посмотришь в код, автора которого ты бы "не взял на работу", то увидел бы, что попытка ввести праздники там была.

(26) а что стиль? Возврат сложноелогическоеусловие лучше чем Если Условие Тогда Возврат Истина КонецЕсли; ? Я тебя умоляю.
28 zulu_mix
 
29.11.12
21:23
не надо меня умолять. человек беспричинно расставляющий условия в функции возвращающей булево не понимает в программировании чуть меньше чем нихрена.
29 Fragster
 
гуру
29.11.12
21:25
(28) каков критерий "бепричинности"? То, что результат может быть вычислен одним выражением?
30 zulu_mix
 
29.11.12
21:26
(29) критерий такой, что человек не понимает булеву алгебру.
31 Fragster
 
гуру
29.11.12
21:29
(30) причем тут понимание булевой алгебры? условие у вас одинаковое. просто у тебя возврат сразу, а у него - в "если".
32 zulu_mix
 
29.11.12
21:29
я тебе сейчас объясню.

функция равно(а,б)
  если а=б тогда
     ц=истина
  иначе
     ц=ложь
  конецесли
  возврат ц
конецфункции

функция равно(а,б)
  возврат а=б
конецфункции

и какой вариант ты выберешь?
33 Fragster
 
гуру
29.11.12
21:33
(32) это синтетический пример. если именно так было бы в коде - менять одно на другое бы не стал. просто в реальности как правило условия несколько сложнее, и в 80% случаев разбив их на несколько маленьких - читаемость улучшается.


в (21) я бы заюзал регл. календарь запросом вместо адских циклов.
34 zulu_mix
 
29.11.12
21:38
(33) не кизди, а? вот че ты уперся как баран? не нужны тебе будут 80%. ты выберешь производительность и размер а не читаемость.

+ про конфу не было ни слова. не факт что РК вообще есть.
35 Fragster
 
гуру
29.11.12
21:43
(34) я ответил в ту ветку. если календаря нет, то весь вопрос той ветки сводится к его изобретению. Правильнее будет впилить календарь из БСП, чем плодить функции по типу сабжевых.
36 Serg_1960
 
29.11.12
21:44
(32) Для красоты стиля я бы написал "Возврат (А = Б);"... а на практике - "Возврат ?(а=б,Истина,Ложь);"
  Не из-за того, что я - конформист :)  - а из-за банального "вдруг". Вдруг, внезапно потребуется изменить возвращаемые значения.
37 Flyd-s
 
29.11.12
21:51
(34), экономия на спичках до добра не доводит
39 Fragster
 
гуру
29.11.12
21:56
айайай!
40 zulu_mix
 
29.11.12
22:03
- как обозвать одинэсника тупым и жадным и не попасть в бан?
- назовите его "коллега"

зы спокойной ночи коллеги :))
41 Serg_1960
 
29.11.12
22:15
Спокойной ночи, коллега.