Created
February 22, 2025 11:54
-
-
Save Mark-Uri/2cb0e681df89bc5ce5c87bc96425e1b6 to your computer and use it in GitHub Desktop.
DZ 8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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