Имя: Пароль:
1C
1С v8
Задача простая. 2 Числовых поля и надо рассчитать сумму квадратов
0 eleon
 
16.01.15
14:49
На форме 2 поля числовых. Первое меньше второго должно быть (проверять ввод пользователя) если введено неправильно, сообщить и обнулить поле. По кнопке выполнить необходимо рассчитать сумму квадратов всех нечетных чисел между числом из первого поля и числом из второго.
1 Злопчинский
 
16.01.15
14:51
Не возражаю
2 piter3
 
16.01.15
14:57
собеседование?
3 Ненавижу 1С
 
гуру
16.01.15
14:59
скорее всего домашнее задание
4 eleon
 
16.01.15
15:00
домашнее задание. а я новичок и только начинаю въезжать в эту тему
5 senior
 
16.01.15
15:01
скоро будет так, кнопку кинул на форму - прошел собеседование
6 Локи-13
 
16.01.15
15:04
(4) какой класс?
7 unregistered
 
16.01.15
15:04
(0) Запросом?...
8 eleon
 
16.01.15
15:06
(7) да
9 Дмитрий
 
16.01.15
15:07
Ответ=0;
Для П=Число1+1 По Число2-1 Цикл
  Если Не П/2 = Цел(П/2) Тогда
    Ответ = Ответ + П*П;
  КонецЕсли;
КонецЦикла;
10 palladyi
 
16.01.15
15:08
(9) дык это не запросом.
11 StaticUnsafe
 
16.01.15
15:09
500р
12 palladyi
 
16.01.15
15:10
(11) экий ты жадный..
13 Ненавижу 1С
 
гуру
16.01.15
15:11
(9) учи матчасть:

Если П%2 = 1 Тогда
14 Локи-13
 
16.01.15
15:12
каким запросом? что за ремонт мотора через выхлопную трубу?
15 StaticUnsafe
 
16.01.15
15:12
(12) и тупой
16 Бубка Гоп
 
16.01.15
15:16
(13) вам бы самому подучить :D
Если П%2 = 0 Тогда
17 Бубка Гоп
 
16.01.15
15:18
(16) а пардон, НЕчетных... тогда да
18 StaticUnsafe
 
16.01.15
15:19
(16) по условию нужны нечетные.
П%2 = 0 - это четное.

это фэйл, чувак

ПС. Зачем вы пишете П%2 = 1 , можнож просто

Если П%2 Тогда
19 palladyi
 
16.01.15
15:21
(15) Настоящий 1с-ник)))
20 НЕА123
 
16.01.15
15:22
Ответ=0;
Для П=Число1+1+П%2 По Число2-1 Цикл
    Ответ = Ответ + П*П;
    П=П+1;
КонецЦикла;
21 Ненавижу 1С
 
гуру
16.01.15
15:22
(18) вот так бы я точно не стал бы сокращать
22 Бубка Гоп
 
16.01.15
15:22
(18) см (17)
23 Дмитрий
 
16.01.15
15:23
(10) дык я когда писал, еще не знал всех условий ))
24 palladyi
 
16.01.15
15:25
(23) ааа))) а вот никто не знал, но телепатия тебе на что?))
25 Бубка Гоп
 
16.01.15
15:26
ТС а ты уверен что запросом? уж больно извращенный подход к решению поставленной задачи. или обучают на извращенцев?
26 Надо работать
 
16.01.15
15:26
(0) Лови

ВЫБРАТЬ
    1 КАК Поле1
ПОМЕСТИТЬ Цифры

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    3

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    4

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    5

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    6

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    7

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    8

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    9

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    10
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    (Цифры.Поле1 - 1) * 10 + Цифры1.Поле1 КАК Число
ПОМЕСТИТЬ Числа
ИЗ
    Цифры КАК Цифры,
    Цифры КАК Цифры1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(Числа.Число * Числа.Число) КАК Поле1
ИЗ
    Числа КАК Числа
ГДЕ
    Числа.Число > &Число1
    И Числа.Число < &Число2
    И (ВЫРАЗИТЬ(Числа.Число / 2 КАК ЧИСЛО(10, 0))) <> Числа.Число / 2
27 Ненавижу 1С
 
гуру
16.01.15
15:28
(26) для миллионов не взлетит
28 palladyi
 
16.01.15
15:28
(26) а если трехзначные числа будут?
29 palpetrovich
 
16.01.15
15:30
(20) "Для П=Число1+1+П%2" - меня ввело в ступор, честно ...это-ж что, можно цикл делать так?
Для Нач=Нач+1 По Кон Цикл
30 НЕА123
 
16.01.15
15:33
(29)
пардон.
    

Ответ=0;
Для П=Число1+1+ Число1 %2 По Число2-1 Цикл
    Ответ = Ответ + П*П;
    П=П+1;
КонецЦикла;
31 Fish
 
16.01.15
15:34
(29) "это-ж что, можно цикл делать так? " - делать-то можно. Весь вопрос в том, будет ли это работать :)
32 Timon1405
 
16.01.15
15:37
ВЫБРАТЬ
((ВЫРАЗИТЬ(&Число2 / 2 КАК ЧИСЛО(10, 0))) * (4 * (ВЫРАЗИТЬ(&Число2 / 2 КАК ЧИСЛО(10, 0))) * (ВЫРАЗИТЬ(&Число2 / 2 КАК ЧИСЛО(10, 0))) - 1) - (ВЫРАЗИТЬ(&Число1 / 2 КАК ЧИСЛО(10, 0))) * (4 * (ВЫРАЗИТЬ(&Число1 / 2 КАК ЧИСЛО(10, 0))) * (ВЫРАЗИТЬ(&Число1 / 2 КАК ЧИСЛО(10, 0))) - 1)) / 3 КАК Сумма
33 palpetrovich
 
16.01.15
15:39
(30) фух,  отлегло :)
34 Aceforg
 
16.01.15
16:05
(32) Сказано "между", а не "включая".
Как формула называется, впервые вижу?
35 AlexITGround
 
16.01.15
16:17
(9) ттою ж ... что это такое?
36 Бубка Гоп
 
16.01.15
16:21
37 Надо работать
 
16.01.15
16:36
(28) лови до 100000000

ВЫБРАТЬ
    1 КАК Поле1
ПОМЕСТИТЬ Цифры

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    3

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    4

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    5

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    6

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    7

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    8

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    9

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    10
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    (Цифры.Поле1 - 1) * 10 + Цифры1.Поле1 КАК Число
ПОМЕСТИТЬ Числа
ИЗ
    Цифры КАК Цифры,
    Цифры КАК Цифры1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    (Числа.Число - 1) * 100 + Числа1.Число КАК Число,
    Числа1.Число КАК Число1
ПОМЕСТИТЬ Числа2
ИЗ
    Числа КАК Числа,
    Числа КАК Числа1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    (Числа2.Число - 1) * 10000 + Числа21.Число КАК Число
ПОМЕСТИТЬ Числа3
ИЗ
    Числа2 КАК Числа2,
    Числа2 КАК Числа21
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(Числа.Число * Числа.Число) КАК Поле1
ИЗ
    Числа3 КАК Числа
ГДЕ
    Числа.Число > &Число1
    И Числа.Число < &Число2
    И (ВЫРАЗИТЬ(Числа.Число / 2 КАК ЧИСЛО(10, 0))) <> Числа.Число / 2
38 Бубка Гоп
 
16.01.15
16:41
(37) (32) побыстрее отработает
39 palladyi
 
16.01.15
16:41
(37) так мало же) это 9 символов, ты выражаешь как число(10,0), то есть допускаешь появление 10-значного числа. то есть нужно 11 символов учесть)))
40 palladyi
 
16.01.15
16:42
а ТС-а кто-нибудь видел? Ему это вообще надо?