Created
January 22, 2024 15:11
-
-
Save SlavikArt/2def6689e44cd4bea9e6a8d9a1cbee7b to your computer and use it in GitHub Desktop.
This file contains 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
-- 1. показать среднее арифметическое трёх | |
-- вещественных чисел, записанных в переменные | |
PRINT 'Задание 1:' | |
DECLARE @num1 float = 15.3 | |
DECLARE @num2 float = 8.6 | |
DECLARE @num3 float = 12.2 | |
PRINT 'Среднее арифметическое чисел: ' + CHAR(10) | |
+ cast(@num1 AS nvarchar) + ', ' | |
+ cast(@num2 AS nvarchar) + ', ' | |
+ cast(@num3 AS nvarchar) + ' --> ' | |
+ cast(((@num1 + @num2 + @num3) / 3.0) AS nvarchar) | |
-- 2. скрипт проверяет, какое сейчас время суток на сервере, | |
-- и выдаёт приветствие "добрый вечер!" или "добрый день!" | |
-- (проверки ифами-элс ифами-элсом) | |
PRINT CHAR(10) + 'Задание 2:' | |
DECLARE @hour_now int = DATEPART(HOUR, GETDATE()) | |
IF @hour_now BETWEEN 5 AND 11 | |
PRINT 'Доброе утро!' | |
ELSE IF @hour_now BETWEEN 12 AND 16 | |
PRINT 'Добрый день!' | |
ELSE IF @hour_now BETWEEN 17 AND 23 | |
PRINT 'Хорошего вечера!' | |
ELSE | |
PRINT 'Спокойной ночи!' | |
-- 3. проверить, является ли шестизначное число | |
-- номером счастливого трамвайного билета | |
-- (сумма первых трёх цифр совпадает с суммой последних трёх цифр). | |
-- например, число 123006 - счастливое, 234567 - нет | |
-- 1 способ | |
PRINT CHAR(10) + 'Задание 3, способ 1:' | |
DECLARE @number int = 123006 | |
DECLARE @firstThreeDigits int | |
DECLARE @lastThreeDigits int | |
IF @number BETWEEN 100000 AND 999999 | |
BEGIN | |
SET @firstThreeDigits = (@number / 1000) % 1000 | |
SET @lastThreeDigits = @number % 1000 | |
IF ((@firstThreeDigits / 100) + (@firstThreeDigits / 10 % 10) + (@firstThreeDigits % 10)) = | |
((@lastThreeDigits / 100) + (@lastThreeDigits / 10 % 10) + (@lastThreeDigits % 10)) | |
PRINT 'Число ' + cast(@number AS nvarchar) + ' - счастливое!' | |
ELSE | |
PRINT 'Число ' + cast(@number AS nvarchar) + ' - не счастливое(' | |
END | |
ELSE | |
PRINT 'Число ' + cast(@number AS nvarchar) + ' не является шестизначным' | |
-- 2 способ | |
PRINT CHAR(10) + 'Задание 3, способ 2:' | |
DECLARE @number2 nvarchar(6) = '001010' | |
DECLARE @firstThreeDigitsSum int | |
DECLARE @lastThreeDigitsSum int | |
IF LEN(@number2) = 6 | |
BEGIN | |
SET @firstThreeDigitsSum = | |
CAST(SUBSTRING(@number2, 1, 1) AS int) | |
+ CAST(SUBSTRING(@number2, 2, 1) AS int) | |
+ CAST(SUBSTRING(@number2, 3, 1) AS int) | |
SET @lastThreeDigitsSum = | |
CAST(SUBSTRING(@number2, 4, 1) AS int) | |
+ CAST(SUBSTRING(@number2, 5, 1) AS int) | |
+ CAST(SUBSTRING(@number2, 6, 1) AS int) | |
IF @firstThreeDigitsSum = @lastThreeDigitsSum | |
PRINT 'Число ' + @number2 + ' - счастливое!' | |
ELSE | |
PRINT 'Число ' + @number2 + ' - не счастливое(' | |
END | |
ELSE | |
PRINT 'Число ' + @number2 + ' не является шестизначным' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment