Имя: Пароль:
1C
1С v8
Вывод на экран Таблицы умножения
🠗 (Волшебник 13.12.2022 14:15)
,
0 wirew09
 
13.12.22
14:01
Подскажите пж как вывести на экран в виде сообщений всю таблицу умножения в одном Цикле ? - это возможно в рамках начального курса , Урока "Циклический Оператор"?

1 * 1 = 1
1 * 2 = 2
1 * 3 =3

2 * 1 = 2
2 * 2= 4

—---— и т.д. вся таблица умножения ...
9 * 1 = 9
9 * 2 = 18 ...

не могу ее именно как таблицу умножения отобразить ... Цикл по счетчику переходит на следующий итератор 2-3-4 и т.д. и таблица получается в разброс ...

при таком решении получается не таблица, а винегрет , а я хочу как обычную таблицу ее увидеть в сообщениях : ( - нормальная таблица получается только для одной цифры
- пж подскажите, кто знает ? 🙏

   Для ТекущееЧисло = 1 По 10 Цикл

         Сообщить( " 1 * " + ТекущееЧисло + " = " + 1 * ТекущееЧисло );
         Сообщить( " 2 * " + ТекущееЧисло + " = " + 2 * ТекущееЧисло );
         Сообщить( " 3 * " + ТекущееЧисло + " = " + 3 * ТекущееЧисло );
          - и т.д.
1 Strogg
 
13.12.22
14:03
Чтобы получилось оливье, или хотя бы крабовые палочки - используй вложенный цикл
2 Kigo_Kigo
 
13.12.22
14:07
Для ТекущеЧислоМножимое = 1 По 10 Цикл
Для ТекущееЧислоМножитель = 1 По 10 Цикл
Сообщить ("Умножения для " + ТекущеЧислоМножимое + Символы.ПС);
Сообщить(  ТекущеЧислоМножимое " * " + ТекущееЧислоМножитель + " = " + Строка (ТекущеЧислоМножимое  * ТекущееЧислоМножитель );
3 hockeyist
 
13.12.22
14:08
(0) Количество элементов в таблице умножения не 10, а 81 (это если как в тетрадке)
4 Kigo_Kigo
 
13.12.22
14:08
а в одном цикле?
5 Kigo_Kigo
 
13.12.22
14:09
А тз, массив можно?
6 Serg_1960
 
13.12.22
14:11
Для Множимое = 1 По 10 Цикл
   Для Множитель = 1 По 10 Цикл
      Сообщить("" + Множимое + " * "+ Множитель + " = " + Множимое * Множитель);
   КонецЦикла;
КонецЦикла;
7 Kigo_Kigo
 
13.12.22
14:14
(6) Я тоже повелся, в одном цикле
8 NorthWind
 
13.12.22
14:14
(0) Проще вложенным, но можно и одним.
10 Eiffil123
 
13.12.22
14:21
может еще и запросом? раз уж мы в контексте 1с
11 АгентБезопасной Нацио
 
13.12.22
14:21
а в чем сложност сделать в одном?
просто цикл будет 9*9
12 АгентБезопасной Нацио
 
13.12.22
14:22
(10) да тоже ничего сложного.
13 NorthWind
 
13.12.22
14:23
(10) На СКД вроде готовое задание на знание оной. Некоторые работодатели заставляют.
14 hockeyist
 
13.12.22
14:27
(7) ChatGPT говорит:

# This loop iterates over the elements of the table
for i in range(1, 121):
    # Calculate the row and column indices for the current element
    row = (i - 1) // 10 + 1
    col = (i - 1) % 10 + 1
    # Print the element at position (row, col) in the table
    print(f"{row} x {col} = {row * col}")
15 АгентБезопасной Нацио
 
13.12.22
14:31
(13) там вроде 3 способа есть?
16 hockeyist
 
13.12.22
14:37
(14) Что в переводе на 1С

для й=1 по 121 цикл
   мн1=цел((й-1)/10)+1);
   мн2=(й-1)%10+1;
   сообщить(строка(мн1)+" Х "+строка(мн2)+"="+строка(мр1*мн2));
конеццикла;
17 NorthWind
 
13.12.22
15:14
Выбрать Ряд1.Поле1, Ряд2.Поле1, Ряд1.Поле1*Ряд2.Поле1
Из
(Выбрать 1
Объединить
Выбрать 2
Объединить
Выбрать 3
Объединить
Выбрать 4
Объединить
Выбрать 5
Объединить
Выбрать 6
Объединить
Выбрать 7
Объединить
Выбрать 8
Объединить
Выбрать 9) Как Ряд1,

(Выбрать 1
Объединить
Выбрать 2
Объединить
Выбрать 3
Объединить
Выбрать 4
Объединить
Выбрать 5
Объединить
Выбрать 6
Объединить
Выбрать 7
Объединить
Выбрать 8
Объединить
Выбрать 9) Как Ряд2
18 NorthWind
 
13.12.22
15:14
ну или с ВТ по вкусу :)
19 NorthWind
 
13.12.22
15:15
(15) ну я так понимаю, способ по сути один, отличие только в том, что послужит источниками данных для СКД. Можно запросы, можно предварительно заполненные ТЗ.
20 1Сергей
 
13.12.22
15:23
(14) (16) а почему 121?
21 hockeyist
 
13.12.22
15:49
(20) Фиг его знает. Видимо, в ходу таблица от 1 до 12
22 hockeyist
 
13.12.22
15:53
(20) А ну да. На 1С будет 120. Я не очень силен в Python
23 1Сергей
 
13.12.22
16:09
(21) если до 12, то должно быть 144. не?
24 hockeyist
 
13.12.22
16:23
(23) 12*10=120
25 1Сергей
 
13.12.22
16:46
(24) 11*11=121
26 ejikbeznojek
 
13.12.22
16:48
пока истина цикл
множитель=1
множимое =1

если множитель*множимое>100 тогда прервать конецесли

если множимое = 9 тогда множитель=множитель+1
  сообщить(множитель * множимое = произведение)
конецесли

множимое = множимое+1
27 ejikbeznojek
 
13.12.22
16:48
(26) забыл обнуление множимого
28 АгентБезопасной Нацио
 
13.12.22
16:50
(17) строго говоря, нужно еще "упорядочить", потому как "порядок не гарантируется". Хотя без него фактически отрабатывает правильно (но это необязательно будет всегда)
(19) не помню. вроде первый способ - запрос типа твоего, второй - два запроса отдельно в источниках, и их объединение, третий - из ТЗ.
(24) а на 10 умножение точно нужно?
29 Serg_1960
 
13.12.22
16:58
В первый раз в первый класс :)

    Для Счетчик = 21 По 100 Цикл
        Множимое    = Цел(Счетчик/10);
        Множитель    = Счетчик%10;
        Если Множитель = 0 Тогда
            Множимое = Множимое - 1;
            Множитель = 10;
        КонецЕсли;
        Произведение = Множимое * Множитель;
        Сообщить("" + Множимое + ?(Множитель < 10, " *  ", " * ") + Множитель + ?(Произведение < 10, " =  ", " = ") + Произведение +?(Множитель = 10, Символы.ПС, ""));
    КонецЦикла;
30 Serg_1960
 
13.12.22
17:08
(28) Если мне память не изменяет, то классическая таблица умножения в школьных тетрадях в клеточку была "полная" - множитель с единицы до десяти включительно.
31 hockeyist
 
13.12.22
17:53
(25) Нет, она не это имела ввиду
32 hockeyist
 
13.12.22
17:54
(30) С 2 до 9
33 hockeyist
 
13.12.22
17:55
(28) Сам у нее спроси
34 hockeyist
 
13.12.22
17:58
(29) Вот не зря говорят, что GPT умнее некоторых. Посмотри на (14) и (16)
35 hockeyist
 
13.12.22
18:08
(32) с 2 до 10, тьфу
36 NorthWind
 
13.12.22
20:23
(28) насколько я понимаю (хотя и не могу дать пруфов), "поплыть" порядок может, если внутри подзапросов, связанных через ОБЪЕДИНИТЬ, есть индексированные таблицы. Тогда часть запроса может оказаться отсортированной по индексированному столбцу. В случае же применения конструкции ВЫБРАТЬ <значение> никаких индексов нет, а значит, за неимением лучшего варианта все будет отсортировано по порядку, описанному в запросе.
37 АгентБезопасной Нацио
 
14.12.22
07:53
(36) просто по определению реляционных баз, порядок в выборке не гарантируется, если нет упорядочивания.
38 Serg_1960
 
14.12.22
11:48
(35) Не принципиально... но :)
https://b.itemimg.com/i/209223651.0.jpg
https://r4.mt.ru/r23/photo2783/20608540187-0/jpg/bp.jpeg
https://dekatop.com/wp-content/uploads/2014/04/svesca_08.jpg
PS: просто мы в разное время учились.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший