Baixe o app para aproveitar ainda mais
Prévia do material em texto
LOGICA DE PROGRAMAÇÃO MODULO II MODULO III 1. (MS CONCURSOS ‒ 2016 ‒ Creci ‒ 1° Região (RJ) ‒ Analista de TI) Qual alternativa representa a declaração de uma variável do tipo texto, na linguagem de programação Python? R: texto = ‘texto de exemplo’ Lembre-se de que em Python as variáveis não são declaradas com o tipo vinculado. Assim, basta atribuir um valor inicial à variável para que ela possa ser usada. Isto ocorre com a variável texto, que recebe o valor inicial ‘texto de exemplo’. ================================================== = 2. Considere as expressões a seguir: – not(5 > 2) – 2 <= 2 – 13//2 – 13/2 – 13%2 Assinale a opção com os valores corretos, em Python. R: False – True – 6 – 6.5 – 1 A expressão not(5>2) tem valor False, já que 5>2 é verdadeiro. A expressão 2<=2 tem valor True, já que 2 é igual a 2. Os operadores //, / e % efetuam, respectivamente, a divisão comum, a divisão inteira e o resto da divisão. ================================================== === 1. (FGV ‒ 2018 ‒ MPE-AL ‒ Adaptada) Considere os seguintes operadores: Exponenciação – Comparação de igualdade – Módulo (resto da divisão) Assinale a lista dos símbolos que, respectivamente, representam esses operadores no Python. R: ** == % Lembre-se de que os símbolos ^ e mod não são utilizados em Python, embora sejam comuns em outras linguagens. Lembre-se também de que o símbolo = é da operação de atribuição, não podendo ser usado para comparação. Para comparar, é necessário usar o operador ==. ================================================== === 2. Considere a expressão a seguir: 2 + 3 – 4 ** 2 + 5 / 2 – 5 // 2 Assinale a opção com o valor correto desta expressão, em Python. R: -10.5 Lembre-se de que o operador ** tem precedência maior que os operadores / e //, que por sua vez têm precedência sobre + e -. Ou seja, primeiro será efetuada a exponenciação (4**2), depois as divisões, comum (5/2) e inteira (5//2), para só depois serem efetuadas as somas e subtrações. =========================================================================== 1. Considere o seguinte trecho de código, escrito em Python: valor = input(‘Entre com um numero inteiro: ‘) sucessor = valor + 1 Suponha que o usuário informe o valor 10, pelo console, ao ser solicitado. Após a entrada de dados pelo usuário, é correto afirmar que: R: Será exibida mensagem de erro porque uma string não pode ser adicionada a um número. Lembre-se de que toda entrada de dados pela função input() é tratada como uma string. Por isso, a entrada informada pelo usuário não é um inteiro, mas, sim, a string ‘10’. ========================================================================== 2. Considere o seguinte trecho de código, escrito em Python: prenome = input(‘Entre com seu nome proprio: ‘) sobrenome = input(‘Entre com seu sobrenome: ‘) print(prenome + sobrenome) Suponha que o usuário informe, na sequência, ao ser solicitado: Paulo Silva Após a entrada de dados pelo usuário, é correto afirmar que será impresso: R: Será impresso: PauloSilva. A função print() permite a impressão da string passada como parâmetro (entre parênteses). O operador +, quando utilizado com strings, faz a concatenação gerando uma nova string, que é a junção das duas originais. Ou seja, será impressa uma string com a concatenação das duas que o usuário informou. ============================================================================= 1. Considere o seguinte trecho de um programa escrito em Python: lado1 = eval(input(‘Entre com o maior lado do triângulo: ‘)) lado2 = eval(input(‘Entre com o segundo lado do triângulo: ‘)) lado3 = eval(input(‘Entre com o terceiro lado do triângulo: ‘)) if (lado1**2 == lado2**2 + lado3**2): #condição1 print(‘O triângulo é retângulo’) elif (lado1**2 < lado2**2 + lado3**2): #condição2 print(‘O triângulo é acutângulo’) else: print(‘O triângulo é obtusângulo’) Suponha que o usuário, quando solicitado, tenha inserido os valores (nesta ordem): 6, 4 e 3. Qual será o resultado? R: Será impresso na tela ‘O triângulo é obtusângulo’. As estruturas if e elif do trecho de código testam a relação entre os valores lado1 ao quadrado e a soma lado2 ao quadrado mais lado3 ao quadrado. Para os valores inseridos pelo usuário, temos a comparação de 36 (6 ao quadrado) e 25 (4 ao quadrado + 3 ao quadrado). Assim, a condição1 é falsa (36 == 25? Não. Condição FALSA). Com isso, é testada a condição2, que também é falsa (36 < 25? Não. Condição FALSA). Logo, o fluxo do programa vai para o else do elif, que representa a impressão da frase O triângulo é obtusângulo. ============================================================================= 2. Considere a seguinte tabela, que relaciona a temperatura em °C a mensagens que devem ser exibidas aos usuários. Temperatura ambiente (em °C) Mensagem Maior que 38 Atividade física não recomendada Maior que 32 e menor ou igual a 38 Atividade física recomendada com restrições Menor ou igual a 32 Atividade física recomendada sem restrições Suponha que a tabela tenha sido traduzida para um programa em Python. Assinale a opção que apresenta o trecho correto de código-fonte para representar a tabela. R: if temp > 38: print('Atividade física não recomendada') else: if temp > 32: print('Atividade física recomendada com restrições') else: print('Atividade física recomendada sem restrições') 1. Considere o seguinte trecho de um programa escrito em Python: a = 1 b = 2 for i in range(3): a = a + b b = a + b print(b) Assinale a opção que apresenta corretamente o que será impresso na tela. R:5 13 34 O laço for vai ser repetido 3 vezes, já que range(3) retorna 3 valores. Na primeira iteração, a variável a recebe o valor 3 e a variável b recebe o valor 5 (3 + 2). Assim, será impresso o valor 5 da variável b. Na segunda iteração, a variável a recebe o valor 8 (3 + 5) e a variável b recebe o valor 13 (8 + 5). Assim, será impresso o valor 13 da variável b. Na terceira iteração, a variável a recebe o valor 21 (8 + 13) e a variável b recebe o valor 34 (21 + 13). Assim, será impresso o valor 34 da variável b. 2. Considere o seguinte trecho de um programa escrito em Python: s = 0 for i in range(5): s += 3*i print(s) Assinale a opção que apresenta corretamente o que será impresso na tela. R: 30 Parabéns! A alternativa "C" está correta. O laço for vai ser repetido 5 vezes, já que range(5) retorna à sequência (0, 1, 2, 3, 4). Vale observar que a instrução print(s) está fora do laço for, o que leva a ser executada apenas uma vez, quando o laço se encerrar. Isso elimina as opções (A) e (B). A variável s começa com valor zero e é acrescida, a cada iteração, do valor 3*i, sendo que i pertence à sequência (0, 1, 2, 3, 4). Ou seja, s recebe os acréscimos: 0 + 3 + 6 + 9 + 12. Assim, ela termina o laço com o valor 30, que será impresso pela instrução print(s). 1. Considere o seguinte trecho de um programa escrito em Python: s = 0 a = 1 while s < 5: s = 3*a a += 1 print(s) Assinale a opção que apresenta corretamente o que será impresso na tela. R: 3 6 2. Considere o seguinte trecho de um programa escrito em Python: a = 1 escolha = input(‘Você deseja sair? S/N’) while escolha != ‘S’: print(a) a += 1 escolha = input(‘Você deseja sair? S/N’) Suponha que o usuário tenha inserido, SE e QUANDO solicitado, nesta ordem: SAIR Sair sair S s Assinale a opção que apresenta corretamente o que será impresso na tela. R: 1 2 3 1. Considere o seguinte trecho de um programa escrito em Python: a = 1 while a < 10: if a % 2 == 0: breakelse: a += 1 print(a) Assinale a opção que apresenta corretamente o que será impresso na tela. R: 2 2. Considere o seguinte trecho de um programa escrito em Python: a = 0 for i in range(30): if a%2 == 0: a += 1 continue else: if a%5 == 0: break else: a += 3 print(a) Assinale a opção que apresenta corretamente o que será impresso na tela. R: 5 1. Em qual modalidade de reuso de software os componentes reutilizáveis são genéricos e os benefícios esperados da reutilização, como produtividade, qualidade etc. podem ser vistos em pouco tempo? R: Reuso horizontal 2. No exemplo a seguir, temos um programa em que declaramos uma lista com alguns números. Após a declaração, percorremos os itens da lista utilizando o laço for. Para cada item da lista, utilizamos uma expressão que será avaliada pelo assert. Essa expressão verifica se um número é par. Confira o código a seguir e responda: >>> lista = [0, 2, 4, 6, 7, 8, 9] >>> for numero in lista: ... assert numero % 2 == 0, "Número ímpar encontrado! -> " + str(numero) Quantas mensagens de erro "Número ímpar encontrado! ...” serão exibidas? R: 1 1. No exemplo a seguir, temos um programa onde definimos a função teste (linha 1), que espera dois parâmetros: entrada e saída. Nas linhas 6 e 7, chamamos essa função de duas formas diferentes. Qual será a saída impressa pelas linhas 6 e 7 do programa? R: carro moto carro moto 2. Para o exemplo a seguir, qual o valor de c: R: 35 1. Considere o código a seguir e marque a alternativa que represente a interface produzida por esse código. R: 2. Baseado na interface a seguir, como poderia ser definido o grid da etiqueta 4, dado que a variável se chama etiqueta_4: R: etiqueta_4.grid(row=3, column=0) 1. Considere o código a seguir: >>> from numpy import array >>> vetor1 = array([1, 2, 3, 4], dtype=int) >>> vetor2 = array([0, 0, 0, 0], dtype=int) >>> aux = 0 >>> for elemento in vetor1: ... vetor2[aux] = elemento*10 ... aux+=1 ... >>> print(vetor2) Quais seriam os valores impressos pelo programa? R: [10, 20, 30, 40] 2. Considere o código a seguir: >>> from numpy import array >>> matriz = array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=int) >>> aux_linha = 0 >>> aux_coluna = 0 >>> for linha in matriz: >>> for elemento in linha: >>> if aux_linha == aux_coluna: >>> print(elemento) >>> aux_coluna += 1 >>> aux_linha += 1 >>> aux_coluna = 0 Quais seriam os valores impressos pelo programa? R: 1, 5, 9 1. Qual o valor correto de minha_lista? >>> minha_lista = [ 0.5*item for item in [0, 1, 2, 3] ] R: [0.0, 0.5, 1.0, 1.5] 2. Observe o programa a seguir: >>> lista = [10, 20, 30, 40] >>> lista.append([1, 2, 3, 4]) >>> print(len(lista)) Qual será a saída do programa? R: 5 1. (FAURGS - 2018) Observe abaixo a estrutura de dados, em forma de tabela. 1 2 3 4 Nesta tabela, foi realizada uma série de operações de inserção e retirada de elementos, conforme descrito e ilustrado abaixo. • Inserir A, B, C e D. A B C D 1 2 3 4 • Retirar D. A B C 1 2 3 4 • Inserir E e F. A B C E F 1 2 3 4 5 • Retirar F, E e C. A B 1 2 3 4 5 • Inserir G. A B G 1 2 3 4 Pode-se deduzir, pelas operações realizadas, que tal estrutura é: R: Uma pilha 2. Observe os conjuntos 1 e 2 definidos a seguir: >>> conjunto1 = {100, 200, 300} >>> conjunto2 = {200, 400, 500} Como podemos obter os itens que estão em 1, mas não estão em 2, de forma a obter o conjunto {100, 300} como resultado? R: conjunto1.difference(conjunto2)
Compartilhar