Skip to content

Instantly share code, notes, and snippets.

@Mark-Uri
Created February 22, 2025 11:54
Show Gist options
  • Save Mark-Uri/2cb0e681df89bc5ce5c87bc96425e1b6 to your computer and use it in GitHub Desktop.
Save Mark-Uri/2cb0e681df89bc5ce5c87bc96425e1b6 to your computer and use it in GitHub Desktop.
DZ 8
111111111
1. Показать среднее арифметическое трёх вещественных чисел, хранящихся в переменных
--DECLARE @a decimal(10,2) = 15.75;
--DECLARE @b decimal(10,2) = 23.45;
--DECLARE @c decimal(10,2) = 18.90;
--DECLARE @average DECIMAL(10,2);
--SET @average = (@a + @b + @c) / 3;
--SELECT @average AS [AVG];
222222
2. Показать количество цифр числа, хранящегося в переменной
--DECLARE @a int = 12345;
--DECLARE @count int;
--SET @count = LEN(CAST(@a AS VARCHAR));
--SELECT @count AS [Count]
333333
3. Показать горизонтальную линию из звёздочек длиной @L
--DECLARE @L INT = 10;
--DECLARE @stars VARCHAR(100) = '';
--WHILE LEN(@stars) < @L
--BEGIN
-- SET @stars = @stars + '*'
--END
--SELECT @stars AS [Линия]
77777777
7. Показать все простые числа от 3 до 1 000 000
--DECLARE @start int = 3;
--DECLARE @end int = 1000000;
--DECLARE @num int = @start;
--DECLARE @isPrime bit;
--DECLARE @i int;
--CREATE TABLE #Primes (
-- Number int
--);
--WHILE @num <= @end
--BEGIN
-- SET @isPrime = 1;
-- SET @i = 2;
-- WHILE @i <= SQRT(@num)
-- BEGIN
-- IF @num % @i = 0
-- BEGIN
-- SET @isPrime = 0;
-- BREAK;
-- END
-- SET @i = @i + 1;
-- END
-- IF @isPrime = 1
-- INSERT INTO #Primes (Number) VALUES (@num);
-- SET @num = @num + 2;
--END
--SELECT Number AS [Простое число]
--FROM #Primes
--ORDER BY Number
4444444
4. Скрипт проверяет, какое сейчас время суток на сервере, и выдаёт приветствие "добрый вечер!" или "добрый день!"
--DECLARE @time time = CAST(GETDATE() as time);
--DECLARE @messenger varchar(50);
--IF @time >= '00:00:00.00' AND @time < '06:00:00.00'
-- SET @messenger = 'Доброй ночи!';
--ELSE IF @time >= '06:00:00.00' AND @time < '12:00:00.00'
-- SET @messenger = 'Доброе утро!';
--ELSE IF @time >= '12:00:00.00' AND @time < '18:00:00.00'
-- SET @messenger = 'Добрый день!';
--ELSE
-- SET @messenger = 'Добрый вечер!';
--SELECT @messenger AS [Приветствие]
555555
5. Скрипт генерирует случайный сложный пароль длиной от @M до @N
DECLARE @start int = 8;
DECLARE @end int = 12;
DECLARE @length int;
DECLARE @password varchar(50) = '';
SET @length = ROUND((@end - @start) * RAND() + @start, 0);
WHILE LEN(@password) < @length
BEGIN
SET @password = @password + 'x';
END
SELECT @password AS [пароль],
@length AS [длина пароля]
STRINGS:
3. Определить, является ли строка палиндромом. Примеры палиндромов:
Нажал кабан на баклажан.
Я так нежен, Катя.
DECLARE @string VARCHAR(100) = 'Нажал кабан на баклажан';
DECLARE @clean_string VARCHAR(100);
DECLARE @reversed_string VARCHAR(100);
DECLARE @result VARCHAR(50);
SET @clean_string = LOWER(REPLACE(REPLACE(REPLACE(REPLACE(@string,' ', ''),',', ''),'.', ''),'!', ''));
SET @reversed_string = REVERSE(@clean_string);
IF @clean_string = @reversed_string
SET @result = 'Это палиндром';
ELSE
SET @result = 'Это не палиндром';
SELECT
@string AS [Исходная строка],
@clean_string AS [Очищенная строка],
@reversed_string AS [Перевернутая строка],
@result AS [Результат]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment