Questão 1
O que o seguinte programa (dado na forma de pseucódigo) imprime?
a = 8
b = 8
se b >= 1, então b = b * 2
a = a + b
imprime (a + b)
Resultado:
A | B
8 | 8
SE B >= 1, então B = B * 2
SENAO a = a + b
A | B
8 | 8 * 2 = 16
IMPRIME (A+B) = 24
Questão 2
Quantas vezes o trecho de pseudocódigo seguinte imprime ‘oi’? (obs: na nossa pseudo-linguagem, o laço inclui os extremos, ou seja, 1 até 4 significa 1, 2, 3, 4.)
para i = 1 até 9
se i != 4, então
para j = 1 até 5
imprime ‘oi’
DECLARE @I INT,
@J INT,
@CONTADOR INT
SELECT @I = 1,
@J = 1,
@CONTADOR = 0
WHILE @I<=9
BEGIN
IF @I<>4
BEGIN
WHILE @J<=5
BEGIN
SET @CONTADOR = @CONTADOR+1
PRINT 'OI'
SET @J = @J+1
END
SET @J = 1
END
SET @I = @I+1
END
PRINT @CONTADOR
Questão 3
Entre 83 and 3329 (inclusive), quantos números são pares e também divisíveis por 5? (Dica: você pode escrever um programa para ajudar no cálculo)
DECLARE @CONTADOR INT,
@CONSIDERAR INT
SELECT @CONTADOR = 83,
@CONSIDERAR = 0
WHILE @CONTADOR <= 3329
BEGIN
IF @CONTADOR%2=0 AND @CONTADOR%5=0
BEGIN
PRINT @CONTADOR
SET @CONSIDERAR = @CONSIDERAR+1
END
SET @CONTADOR = @CONTADOR+1
END
PRINT '---- QUANTIDADE TOTAL ------> '+CAST(@CONSIDERAR AS VARCHAR)
Questão 4
Marcela é uma pessoa muito supersticiosa.
Para ela, um número é sortudo se ele contém o dígito 3
mas não o dígito 8.
Então, na opinião dela, quantos números sortudos existem
entre 14638 e 27333, incluindo os extremos?
-- CRIA TABELA
CREATE TABLE ZQUESTAO4 (
NUMERO INT)
-- LOOPING QUE ARMAZENA OS NUMEROS NA TABELA
DECLARE @CONTADOR INT
SET @CONTADOR = 14638
WHILE @CONTADOR<=27333
BEGIN
INSERT INTO ZQUESTAO4 VALUES (@CONTADOR)
SET @CONTADOR = @CONTADOR+1
END
-- RESULTADO
SELECT COUNT(*)
FROM ZQUESTAO4
WHERE CAST(NUMERO AS VARCHAR) LIKE '%3%'
AND CAST(NUMERO AS VARCHAR) NOT LIKE '%8%'
Questão 5
Na pacata vila campestre de Arquivonaoencontradoville, todos os telefones têm 6 dígitos.
A companhia telefônica estabelece as seguintes regras sobre os números:
Não pode haver dois dígitos consecutivos idênticos, porque isso é chato;
A soma dos dígitos tem que ser par, porque isso é legal;
O último dígito não pode ser igual ao primeiro, porque isso dá azar.
Então, dadas essas regras perfeitamente razoáveis, bem projetadas e maduras,
quantos números de telefone na lista abaixo são válidos?
215228,218415, 221632, 224722, 229644, 230847, 233798, 237903, 239224, 241832,
242112, 243248, 246147, 247652, 250688, 252940, 255721, 256882, 259134, 262578,
263327, 266656, 268796, 270350, 272863, 275245, 278601, 278606, 281963, 283751,
288259, 291562, 296545, 298528, 302103, 303431, 307561, 311979, 315548, 320440,
322278, 324469, 324740, 327417, 330263, 331179, 334147, 334932, 336085, 338096,
338106, 342991, 347187, 347590, 348863, 350187, 353246, 354032, 358616, 363056,
363251, 366141, 369906, 371046, 372684, 377077, 381177, 382086, 385627, 385694,
386105, 388179, 390251, 392624, 394225, 395328, 398698, 400102, 404224, 408064,
410386, 411711, 413621, 415653, 417168, 419269, 424197, 427202, 430639, 432570,
437462, 442412, 444990, 447613, 452039, 456750, 459927, 462532, 465756, 467051,
468297, 469089, 471562, 474900, 475534, 476833, 478910, 480437, 482085, 485647,
487736, 489897, 493033, 495182, 498463, 502539, 502785, 505926, 508246, 511720,
515395, 515595, 516362, 520927, 525025, 529957, 530139, 531015, 533760, 534588,
538184, 541403, 542913, 546141, 548038, 549095, 552509, 556808, 560382, 563503,
565304, 567165, 567675, 572218, 573856, 576408, 578085, 578997, 579553, 584487,
589220, 590967, 593234, 597867, 599823, 603666, 607878, 611482, 611854, 612811,
614119, 615956, 617547, 621070, 621309, 626105, 626885, 631080, 635911, 639606,
640175, 641607, 645158, 647958, 652199, 656507, 658615, 662663, 662947, 664704,
666668, 667544, 669440, 673512, 675931, 676963, 677113, 678606, 682716, 682998,
684883, 686140, 688963, 689054, 692042, 695458, 697031, 697457, 697623, 698026
-- Cria Tabela
CREATE TABLE ZQUESTAO5 (
NUMERO VARCHAR(255)
)
GO
-- Popula Tabela
INSERT INTO ZQUESTAO5 VALUES ('215228')
INSERT INTO ZQUESTAO5 VALUES ('218415')
INSERT INTO ZQUESTAO5 VALUES ('221632')
INSERT INTO ZQUESTAO5 VALUES ('224722')
INSERT INTO ZQUESTAO5 VALUES ('229644')
INSERT INTO ZQUESTAO5 VALUES ('230847')
INSERT INTO ZQUESTAO5 VALUES ('233798')
INSERT INTO ZQUESTAO5 VALUES ('237903')
INSERT INTO ZQUESTAO5 VALUES ('239224')
INSERT INTO ZQUESTAO5 VALUES ('241832')
INSERT INTO ZQUESTAO5 VALUES ('242112')
INSERT INTO ZQUESTAO5 VALUES ('243248')
INSERT INTO ZQUESTAO5 VALUES ('246147')
INSERT INTO ZQUESTAO5 VALUES ('247652')
INSERT INTO ZQUESTAO5 VALUES ('250688')
INSERT INTO ZQUESTAO5 VALUES ('252940')
INSERT INTO ZQUESTAO5 VALUES ('255721')
INSERT INTO ZQUESTAO5 VALUES ('256882')
INSERT INTO ZQUESTAO5 VALUES ('259134')
INSERT INTO ZQUESTAO5 VALUES ('262578')
INSERT INTO ZQUESTAO5 VALUES ('263327')
INSERT INTO ZQUESTAO5 VALUES ('266656')
INSERT INTO ZQUESTAO5 VALUES ('268796')
INSERT INTO ZQUESTAO5 VALUES ('270350')
INSERT INTO ZQUESTAO5 VALUES ('272863')
INSERT INTO ZQUESTAO5 VALUES ('275245')
INSERT INTO ZQUESTAO5 VALUES ('278601')
INSERT INTO ZQUESTAO5 VALUES ('278606')
INSERT INTO ZQUESTAO5 VALUES ('281963')
INSERT INTO ZQUESTAO5 VALUES ('283751')
INSERT INTO ZQUESTAO5 VALUES ('288259')
INSERT INTO ZQUESTAO5 VALUES ('291562')
INSERT INTO ZQUESTAO5 VALUES ('296545')
INSERT INTO ZQUESTAO5 VALUES ('298528')
INSERT INTO ZQUESTAO5 VALUES ('302103')
INSERT INTO ZQUESTAO5 VALUES ('303431')
INSERT INTO ZQUESTAO5 VALUES ('307561')
INSERT INTO ZQUESTAO5 VALUES ('311979')
INSERT INTO ZQUESTAO5 VALUES ('315548')
INSERT INTO ZQUESTAO5 VALUES ('320440')
INSERT INTO ZQUESTAO5 VALUES ('322278')
INSERT INTO ZQUESTAO5 VALUES ('324469')
INSERT INTO ZQUESTAO5 VALUES ('324740')
INSERT INTO ZQUESTAO5 VALUES ('327417')
INSERT INTO ZQUESTAO5 VALUES ('330263')
INSERT INTO ZQUESTAO5 VALUES ('331179')
INSERT INTO ZQUESTAO5 VALUES ('334147')
INSERT INTO ZQUESTAO5 VALUES ('334932')
INSERT INTO ZQUESTAO5 VALUES ('336085')
INSERT INTO ZQUESTAO5 VALUES ('338096')
INSERT INTO ZQUESTAO5 VALUES ('338106')
INSERT INTO ZQUESTAO5 VALUES ('342991')
INSERT INTO ZQUESTAO5 VALUES ('347187')
INSERT INTO ZQUESTAO5 VALUES ('347590')
INSERT INTO ZQUESTAO5 VALUES ('348863')
INSERT INTO ZQUESTAO5 VALUES ('350187')
INSERT INTO ZQUESTAO5 VALUES ('353246')
INSERT INTO ZQUESTAO5 VALUES ('354032')
INSERT INTO ZQUESTAO5 VALUES ('358616')
INSERT INTO ZQUESTAO5 VALUES ('363056')
INSERT INTO ZQUESTAO5 VALUES ('363251')
INSERT INTO ZQUESTAO5 VALUES ('366141')
INSERT INTO ZQUESTAO5 VALUES ('369906')
INSERT INTO ZQUESTAO5 VALUES ('371046')
INSERT INTO ZQUESTAO5 VALUES ('372684')
INSERT INTO ZQUESTAO5 VALUES ('377077')
INSERT INTO ZQUESTAO5 VALUES ('381177')
INSERT INTO ZQUESTAO5 VALUES ('382086')
INSERT INTO ZQUESTAO5 VALUES ('385627')
INSERT INTO ZQUESTAO5 VALUES ('385694')
INSERT INTO ZQUESTAO5 VALUES ('386105')
INSERT INTO ZQUESTAO5 VALUES ('388179')
INSERT INTO ZQUESTAO5 VALUES ('390251')
INSERT INTO ZQUESTAO5 VALUES ('392624')
INSERT INTO ZQUESTAO5 VALUES ('394225')
INSERT INTO ZQUESTAO5 VALUES ('395328')
INSERT INTO ZQUESTAO5 VALUES ('398698')
INSERT INTO ZQUESTAO5 VALUES ('400102')
INSERT INTO ZQUESTAO5 VALUES ('404224')
INSERT INTO ZQUESTAO5 VALUES ('408064')
INSERT INTO ZQUESTAO5 VALUES ('410386')
INSERT INTO ZQUESTAO5 VALUES ('411711')
INSERT INTO ZQUESTAO5 VALUES ('413621')
INSERT INTO ZQUESTAO5 VALUES ('415653')
INSERT INTO ZQUESTAO5 VALUES ('417168')
INSERT INTO ZQUESTAO5 VALUES ('419269')
INSERT INTO ZQUESTAO5 VALUES ('424197')
INSERT INTO ZQUESTAO5 VALUES ('427202')
INSERT INTO ZQUESTAO5 VALUES ('430639')
INSERT INTO ZQUESTAO5 VALUES ('432570')
INSERT INTO ZQUESTAO5 VALUES ('437462')
INSERT INTO ZQUESTAO5 VALUES ('442412')
INSERT INTO ZQUESTAO5 VALUES ('444990')
INSERT INTO ZQUESTAO5 VALUES ('447613')
INSERT INTO ZQUESTAO5 VALUES ('452039')
INSERT INTO ZQUESTAO5 VALUES ('456750')
INSERT INTO ZQUESTAO5 VALUES ('459927')
INSERT INTO ZQUESTAO5 VALUES ('462532')
INSERT INTO ZQUESTAO5 VALUES ('465756')
INSERT INTO ZQUESTAO5 VALUES ('467051')
INSERT INTO ZQUESTAO5 VALUES ('468297')
INSERT INTO ZQUESTAO5 VALUES ('469089')
INSERT INTO ZQUESTAO5 VALUES ('471562')
INSERT INTO ZQUESTAO5 VALUES ('474900')
INSERT INTO ZQUESTAO5 VALUES ('475534')
INSERT INTO ZQUESTAO5 VALUES ('476833')
INSERT INTO ZQUESTAO5 VALUES ('478910')
INSERT INTO ZQUESTAO5 VALUES ('480437')
INSERT INTO ZQUESTAO5 VALUES ('482085')
INSERT INTO ZQUESTAO5 VALUES ('485647')
INSERT INTO ZQUESTAO5 VALUES ('487736')
INSERT INTO ZQUESTAO5 VALUES ('489897')
INSERT INTO ZQUESTAO5 VALUES ('493033')
INSERT INTO ZQUESTAO5 VALUES ('495182')
INSERT INTO ZQUESTAO5 VALUES ('498463')
INSERT INTO ZQUESTAO5 VALUES ('502539')
INSERT INTO ZQUESTAO5 VALUES ('502785')
INSERT INTO ZQUESTAO5 VALUES ('505926')
INSERT INTO ZQUESTAO5 VALUES ('508246')
INSERT INTO ZQUESTAO5 VALUES ('511720')
INSERT INTO ZQUESTAO5 VALUES ('515395')
INSERT INTO ZQUESTAO5 VALUES ('515595')
INSERT INTO ZQUESTAO5 VALUES ('516362')
INSERT INTO ZQUESTAO5 VALUES ('520927')
INSERT INTO ZQUESTAO5 VALUES ('525025')
INSERT INTO ZQUESTAO5 VALUES ('529957')
INSERT INTO ZQUESTAO5 VALUES ('530139')
INSERT INTO ZQUESTAO5 VALUES ('531015')
INSERT INTO ZQUESTAO5 VALUES ('533760')
INSERT INTO ZQUESTAO5 VALUES ('534588')
INSERT INTO ZQUESTAO5 VALUES ('538184')
INSERT INTO ZQUESTAO5 VALUES ('541403')
INSERT INTO ZQUESTAO5 VALUES ('542913')
INSERT INTO ZQUESTAO5 VALUES ('546141')
INSERT INTO ZQUESTAO5 VALUES ('548038')
INSERT INTO ZQUESTAO5 VALUES ('549095')
INSERT INTO ZQUESTAO5 VALUES ('552509')
INSERT INTO ZQUESTAO5 VALUES ('556808')
INSERT INTO ZQUESTAO5 VALUES ('560382')
INSERT INTO ZQUESTAO5 VALUES ('563503')
INSERT INTO ZQUESTAO5 VALUES ('565304')
INSERT INTO ZQUESTAO5 VALUES ('567165')
INSERT INTO ZQUESTAO5 VALUES ('567675')
INSERT INTO ZQUESTAO5 VALUES ('572218')
INSERT INTO ZQUESTAO5 VALUES ('573856')
INSERT INTO ZQUESTAO5 VALUES ('576408')
INSERT INTO ZQUESTAO5 VALUES ('578085')
INSERT INTO ZQUESTAO5 VALUES ('578997')
INSERT INTO ZQUESTAO5 VALUES ('579553')
INSERT INTO ZQUESTAO5 VALUES ('584487')
INSERT INTO ZQUESTAO5 VALUES ('589220')
INSERT INTO ZQUESTAO5 VALUES ('590967')
INSERT INTO ZQUESTAO5 VALUES ('593234')
INSERT INTO ZQUESTAO5 VALUES ('597867')
INSERT INTO ZQUESTAO5 VALUES ('599823')
INSERT INTO ZQUESTAO5 VALUES ('603666')
INSERT INTO ZQUESTAO5 VALUES ('607878')
INSERT INTO ZQUESTAO5 VALUES ('611482')
INSERT INTO ZQUESTAO5 VALUES ('611854')
INSERT INTO ZQUESTAO5 VALUES ('612811')
INSERT INTO ZQUESTAO5 VALUES ('614119')
INSERT INTO ZQUESTAO5 VALUES ('615956')
INSERT INTO ZQUESTAO5 VALUES ('617547')
INSERT INTO ZQUESTAO5 VALUES ('621070')
INSERT INTO ZQUESTAO5 VALUES ('621309')
INSERT INTO ZQUESTAO5 VALUES ('626105')
INSERT INTO ZQUESTAO5 VALUES ('626885')
INSERT INTO ZQUESTAO5 VALUES ('631080')
INSERT INTO ZQUESTAO5 VALUES ('635911')
INSERT INTO ZQUESTAO5 VALUES ('639606')
INSERT INTO ZQUESTAO5 VALUES ('640175')
INSERT INTO ZQUESTAO5 VALUES ('641607')
INSERT INTO ZQUESTAO5 VALUES ('645158')
INSERT INTO ZQUESTAO5 VALUES ('647958')
INSERT INTO ZQUESTAO5 VALUES ('652199')
INSERT INTO ZQUESTAO5 VALUES ('656507')
INSERT INTO ZQUESTAO5 VALUES ('658615')
INSERT INTO ZQUESTAO5 VALUES ('662663')
INSERT INTO ZQUESTAO5 VALUES ('662947')
INSERT INTO ZQUESTAO5 VALUES ('664704')
INSERT INTO ZQUESTAO5 VALUES ('666668')
INSERT INTO ZQUESTAO5 VALUES ('667544')
INSERT INTO ZQUESTAO5 VALUES ('669440')
INSERT INTO ZQUESTAO5 VALUES ('673512')
INSERT INTO ZQUESTAO5 VALUES ('675931')
INSERT INTO ZQUESTAO5 VALUES ('676963')
INSERT INTO ZQUESTAO5 VALUES ('677113')
INSERT INTO ZQUESTAO5 VALUES ('678606')
INSERT INTO ZQUESTAO5 VALUES ('682716')
INSERT INTO ZQUESTAO5 VALUES ('682998')
INSERT INTO ZQUESTAO5 VALUES ('684883')
INSERT INTO ZQUESTAO5 VALUES ('686140')
INSERT INTO ZQUESTAO5 VALUES ('688963')
INSERT INTO ZQUESTAO5 VALUES ('689054')
INSERT INTO ZQUESTAO5 VALUES ('692042')
INSERT INTO ZQUESTAO5 VALUES ('695458')
INSERT INTO ZQUESTAO5 VALUES ('697031')
INSERT INTO ZQUESTAO5 VALUES ('697457')
INSERT INTO ZQUESTAO5 VALUES ('697623')
INSERT INTO ZQUESTAO5 VALUES ('698026')
-- Resultado
SELECT NUMERO
FROM (
SELECT NUMERO,
(CAST(SUBSTRING(NUMERO,1,1) AS INT)+
CAST(SUBSTRING(NUMERO,2,1) AS INT)+
CAST(SUBSTRING(NUMERO,3,1) AS INT)+
CAST(SUBSTRING(NUMERO,4,1) AS INT)+
CAST(SUBSTRING(NUMERO,5,1) AS INT)+
CAST(SUBSTRING(NUMERO,6,1) AS INT)) SOMA
FROM
-- SEQUENCIA DIFERENTE
(SELECT NUMERO
FROM
-- PRIMEIRO E ULTIMO DIGITOS
(SELECT NUMERO, SUBSTRING(NUMERO,1,1) PRIMEIRO, SUBSTRING(NUMERO, LEN(NUMERO),1) ULTIMO
FROM ZQUESTAO5) PRIULT
WHERE PRIULT.PRIMEIRO<>PRIULT.ULTIMO
AND NUMERO NOT LIKE '%'
AND NUMERO NOT LIKE '%11%'
AND NUMERO NOT LIKE '%22%'
AND NUMERO NOT LIKE '%33%'
AND NUMERO NOT LIKE '%44%'
AND NUMERO NOT LIKE '%55%'
AND NUMERO NOT LIKE '%66%'
AND NUMERO NOT LIKE '%77%'
AND NUMERO NOT LIKE '%88%'
AND NUMERO NOT LIKE '%99%') SEQDIF) SOMAPARES
WHERE SOMA%2 = 0