[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 3123»
Форум » Другое » Юмор и развлечения » Логические задачки по скриптингу (Нечем занятся? Тебе сюда!)
Логические задачки по скриптингу
wmysterio
Администраторы
Скриптер
25.07.13 23:49
Offline
В общем в этой теме будут добавляться всякие задачки по скриптингу. Если вы ищите задания или хотите задать задание всем, которые можно развязать на досуге, то эта тема для вас! Задачки должны касаться Sanny Builder или C#. Старайтесь, что бы код был как можно короче. Сам код бросайте СЮДА! Используйте кнопку  для вставки. Другие варианты размещения кода не принимаются!
Суть первой задачки(Sanny Builder):
Код
Дана переменная с дробным числом. Например: 10@ = 32.25.     
   Нужно сделать так, что бы получить из неё два числа - целую часть и остаток. Например:   
   0@ = 32, 1@ = 25.   

   Условия:   
   - Входящее число может быть любое;   
   - Входящее число обязательно должно быть в диапазоне от 10.01 до 99.99 и иметь 2   
    числа после запятой;   
   - Нельзя использовать сторонние библиотеки

KiLLeR96
Модераторы
Модератор
26.07.13 11:33
Offline
0007: 10@ = 32.25
008E: 0@ = float 10@ to_integer
0063: 10@ -= 0@ // (float)
0012: 10@ *= 100
0085: 1@ = 10@
Отредактировал KiLLeR96 - Пятница, 26.07.13, 11:56
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.07.13 11:47
Offline
KiLLeR96, напиши пожалйста опкоды к этим строкам. Хочу проверитиь

SanKing
Друзья
26.07.13 11:50
Offline
KiLLeR96, а если число цифр после точки не 2?!

KiLLeR96
Модераторы
Модератор
26.07.13 11:55
Offline
отредактировал
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.07.13 11:56
Offline
KiLLeR96, Вот что мне выдавало при тестировании:

или

или

------------------------------
SanKing, только 2
Прикрепления: 3530533.png(12Kb) · 8224199.png(38Kb)

KiLLeR96
Модераторы
Модератор
26.07.13 12:37
Offline
Код
0007: 10@ = 32.25   
0092: 0@ = float 10@ to_integer
0093: 3@ = integer 0@ to_float   
0063: 10@ -= 3@ // (float)
0013: 10@ *= 100.0   
0092: 1@ = float 10@ to_integer
Отредактировал KiLLeR96 - Пятница, 26.07.13, 12:49
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.07.13 16:06
Offline
KiLLeR96, Правильно! Лови плюсик в репу smile
----------------------------------------------------------------------------------------------
Задачка №2 (Sanny Builder):
Код
Есть две переменные: 0@ и 1@, в которых хранятся некие значение. Сделать так,     
что бы эти значения поменялись местами с переменными. Например: изначально  
переменные равны 0@ = 43, 1@ = 54. Сделать так, что бы переменные имели значения:
0@ = 54, 1@ = 43.

Задачку нужно решить двумя способами:
а) с дополнительной переменной;
б) без дополнительной переменной

Условия:
- Значения обеих переменных не должны быть одинаковыми;
- Нельзя использовать сторонние библиотеки

KiLLeR96
Модераторы
Модератор
26.07.13 22:25
Offline
Код
А) 0006: 0@ = 43
0006:  1@ = 54
005A: 0@ += 1@ // (int)
0A8E: 1@ = 0@ - 1@ // int
0A8E: 0@ = 0@ - 1@

Б) 0006: 0@ = 43
0006: 1@ = 54
0085: 2@ = 0@ // (int)
0085: 0@ = 1@  
0085: 1@ = 2@
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
26.07.13 22:32
Offline
KiLLeR96, Перепутал варианты smile

Вариант Б (который является в задании А) принят.

Вариант А (который является в задании Б) не принят. Результат:

Если логично подумать, то алгоритм правильный:

0006: 0@ = 43
0006:  1@ = 54

005A: 0@ += 1@ // 0@ = 97, 1@ = 54
0A8E: 1@ = 0@ - 1@ // 0@ = 97, 1@ = 43
0A8E: 0@ = 0@ - 1@ // 0@ = 54, 1@ = 43

Вот только ГТА этого не поняла
Прикрепления: 3901455.png(15Kb)

wmysterio
Администраторы
Скриптер
27.07.13 12:13
Offline
KiLLeR96, Ладно, ответ принимается smile Плюсик твой. Решение задачки тут.
-------------------------------------------------------------------------
Задачка №3 Sanny Builder:
Код
Есть массив из 10 целых чисел. Нужно отсортировать массив по возрастанию.   
Например если массив имеет комбинацию чисел: -5 6 100 65 5 -51 0 99 -54 7,  
то на выходе мы должны получить комбинацию: -54 -51 -5 0 5 6 7 65 99 100.

Условия:
- Массив заполняется случайными числами в диапазоне от -101 до 100;
- Нельзя использовать сторонние библиотеки

KiLLeR96
Модераторы
Модератор
27.07.13 15:59
Offline
wmysterio, я просто не нашел опкод типа @ = @ - @
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
27.07.13 20:28
Offline
KiLLeR96, Я кстати тоже искал опкод по твоему шаблону и не нашел. К счастью, документация по Cleo 4.1 помогла smile
========================================
Задачка 4. C#
Код
Пользователь вводит некую строку. Вывести в консоль эту строку задом наперёд.    
Например, при вводе "Hello" нам должно показать "olleH".

Условия:
- Как можно меньше строк исходного кода(по одной команде на строку, завершающейся символом ; )
- Использовать только стандартные команды c#.
Ответ на эту задачку дал Vital в этом видео:
Но я хочу посмотреть как это сделаете вы на C# smile

KiLLeR96
Модераторы
Модератор
27.07.13 21:51
Offline
Вот кароч:
Код
using System;
namespace ConsoleApplication12
{
     class Program
     {
         static void Main(string[] args)
         {
             string s;
             Console.Write("Введите строку: ");
             s = Console.ReadLine();
             Console.Write("Исходная строка: ");           
             for (int a = s.Length-1; a >= 0; a-- )
             {
                 Console.Write(s[a]);
                 
             }
             Console.ReadKey();
         }
     }
}
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
27.07.13 22:47
Offline
KiLLeR96, что же, похоже ты справился с заданием! Очередной плюсик твой! Моё решение задачки - без использования циклов - тут, думаю стоит посмотреть.

KiLLeR96
Модераторы
Модератор
27.07.13 22:57
Offline
wmysterio, а я и не знал об этой функции biggrin
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
31.07.13 19:24
Offline
Цитата (KiLLeR96)
а я и не знал об этой функции
Так в этом и цель форума - узнать быстрые варианты решения
============================
Задачку 3, с массивом, никто не выполняет? smile Дать ответ?

KiLLeR96
Модераторы
Модератор
01.08.13 01:25
Offline
Цитата (wmysterio)
Задачку 3, с массивом, никто не выполняет? Дать ответ?

Давай
МоДиРатОр)))000)))))

wmysterio
Администраторы
Скриптер
01.08.13 01:40
Offline
KiLLeR96, выполнено happy

KiLLeR96
Модераторы
Модератор
01.08.13 10:54
Offline
Как все просто оказалось biggrin
МоДиРатОр)))000)))))

Форум » Другое » Юмор и развлечения » Логические задачки по скриптингу (Нечем занятся? Тебе сюда!)
Страница 1 из 3123»
Поиск: