Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: Algoritmo e Programação (LIN12) Avaliação: Avaliação Final (Objetiva) - Individual FLEX ( Cod.:514784) ( peso.:3,00) Prova: Nota da Prova: 10,00 Legenda: Resposta Certa Sua Resposta Errada Parte superior do formulário 1. Cada informação a ser armazenada ou utilizada em um algoritmo pertence a um tipo de dado definido. Considerando que o nome de cada uma das variáveis a seguir representa o conteúdo que ela armazenará, defina o tipo de dado ideal para cada variável: Nome_do_carro Placa_do_carro Salário Quantidade_de_carros a) Caractere, caractere, real, inteiro. b) Real, lógico, inteiro e inteiro. c) Real, lógico, inteiro e real. d) Caractere, caractere, real, real. 2. As estruturas de repetição implementadas pelas linguagens de programação possibilitam a repetição de blocos de comandos. As estruturas " for..do " repetem uma sequência de comandos por um determinado número de vezes. Com base na estrutura " para..faça ", analise as sentenças a seguir: 01 Program multiplo ; 02 var 03 04 i: integer ; 05 Begin 06 for i:= 0 to 100 do 07 begin 08 if (i mod 10 = 0 ) then 09 writeln(' o numero ',i,' e par '); 10 end; 11 End. I- A saída de dados imprimirá os número de 0 a 100, sendo que o primeiro a ser impresso será 0 e o último será 100. II- A variável utilizada como contador é a " i ". III- É somado o valor 1 ao valor da variável " i " a cada duas repetições. IV- Para exibir os múltiplos de 2, pode-se alterar a linha 10 para " if(i mod 10 = 2) then". Assinale a alternativa CORRETA: a) As sentenças II e IV estão corretas. b) As sentenças I e III estão corretas. c) As sentenças III e IV estão corretas. d) As sentenças I e II estão corretas. 3. A estrutura de dados vetor é um agrupamento de variáveis do mesmo tipo, o qual é acessado por um único nome de variável. O acesso para cada variável deste agrupamento se dá por meio de um índice. A quantidade de índices disponíveis, ou a quantidade de variáveis que podem ser armazenadas, é definida no momento da criação do vetor. Com base na definição de vetor e analisando o código a seguir, classifique V para as sentenças verdadeiras e F para as falsas: 01 program ordenasel; 02 const nmax=50; 03 var 04 v: array[1..nmax] of integer; 05 i,j,n,posMenor,temp: integer; 06 begin 07 writeln('Digite um inteiro menor ou igual a ' ,nmax, ' : '); readln(n); 08 writeln('Digite ',n,' inteiros separados por espacos'); 09 for i:=1 to n do read(v[i]); 10 for i:=1 to n-1 do begin 11 posMenor:=i; 12 for j:=i+1 to n do 13 if v[j] < v[posMenor] then posMenor := j; 14 if i <> posMenor then begin 15 temp := v[i]; 16 v[i] := v[posMenor]; 17 v[posMenor] := temp; 18 end; 19 end; 20 writeln; 21 for i:=1 to n do write(v[i]); 22 end. ( ) Caso seja informado um número maior que a constante o algoritmo não faz verificação. ( ) As variáveis I e J não podem ser do tipo Real. ( ) A linha 21 fará a impressão das 50 posições do vetor. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F. b) F - V - F. c) V - F - F. d) V - F - V. 4. Utilizamos o comando "CASO" para que seja possível escolher uma opção dentre várias existentes, sem a necessidade de se usar diversos "Se..Então". Com base nessa estrutura, analise o cenário apresentado no enunciado do algoritmo: "Foi requerido o desenvolvimento de um algoritmo que solicitasse as 4 notas de um aluno e calculasse a média". Após o cálculo, verificar a situação do aluno, seguindo as regras: - Se a nota inferior a 4 está reprovado. - Acima de 8 aprovado. - No intervalo de 4 a 8 em exame. - Senão a nota está incorreta. Algoritmo "nota_semestre" var Nota1, Nota2, Nota3, Nota4, Media: Real Inicio Escreva ("Digite a Primeira nota: ") Leia (Nota1) Escreva ("Digite a Segunda nota: ") Leia (Nota2) Escreva ("Digite a Terceira nota: ") Leia (Nota3) Escreva ("Digite a Quarta nota: ") Leia (Nota4) media:=(Nota1+Nota2+Nota3+Nota4)/4 escolha media ... Sobre o trecho de código que complementa o algoritmo, assinale a alternativa CORRETA: a) caso 0 e 3 escreval("Reprovado.") caso 4 e 7 escreval("Em exame final.") caso 8 e 10 escreval("Aprovado") senao escreval("Nota inválida.") fimescolha Fimalgoritmo b) caso 0 e 3 escreval("Reprovado.") caso 4 e 7 escreval("Em exame final.") senao escreval("Nota inválida.") fimescolha Fimalgoritmo c) caso 0,1,2,3 escreval("Reprovado.") caso 4 ate 7 escreval("Em exame final.") caso 8 ate 10 escreval("Aprovado") outrocaso escreval("Nota inválida.") fimescolha Fimalgoritmo d) caso nota entre 1 e 3 escreval("Reprovado.") caso >4 e < 7 escreval("Em exame final.") caso > 8 escreval("Aprovado") outrocaso escreval("Nota inválida.") fimescolha Fimalgoritmo 5. Os tipos de dados influenciam na forma como o algoritmo trabalhará, no desempenho dele e no seu consumo de memória. Temos linguagens de programação que chamamos de linguagens tipadas, pois todo dado deve ter seu tipo definido, diferente das não tipadas, que não tem essa exigência, embora, os dados tratados pelos scripts seguem a mesma definição de tipagem de dados de linguagens tipadas. Dentre os tipos de dados, podemos destacar três tipos bases: números, caracteres e booleanos. Sobre os dados tipicamente usados como resultados de expressões condicionais ou como variáveis identificadoras de estado, assinale a alternativa CORRETA: FONTE: http://www.tiexpert.net/programacao/algoritmo/tipos-de-dados.php. Acesso em: 7 dez. 2018. (adaptado) a) Inteiro. b) Booleano. c) Data. d) Primitive. 6. Existem três técnicas de estrutura de repetição na pseudolinguagem PORTUGOL, cada qual com características específicas, com o intuito de atender às mais variadas situações. Com relação à técnica de estrutura de repetição REPITA-ATÉ, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O teste da condição é realizado no início da estrutura. ( ) A saída da estrutura de repetição ocorre quando o resultado da condição é verdadeiro. ( ) As instruções contidas nesta estrutura de repetição são executadas pelo menos uma vez. ( ) A execução permanece no loop enquanto o resultado da condição for verdadeiro. Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - F. b) V - F - V - V. c) F - F - F - V. d) V - V - F - F. 7. A decomposição de um problema é fator determinante para a redução da complexidade. Com base nisso, surgem os subalgoritmos, que são trechos de programas que podem ser utilizados dentro de um programa maior, sempre que necessário ou conveniente. Permite, desta forma, focalizar a atenção em um problema pequeno de cada vez, o que ao final produzirá uma melhor compreensão do todo. Diante do exposto, analise as sentenças a seguir: I- Os subalgoritmos podem ser do tipo função ou procedimento, sendo que o segundo sempre retornará um valor para o algoritmo que o chamou. II- Um subalgoritmo pode receber parâmetros, que são valores advindos de outro algoritmo. III- Um algoritmo somente poderá realizar a chamada de um tipo de subalgoritmo. IV- Os parâmetros utilizados no algoritmo principal, no ato da chamada da função, devem manter uma correspondência (número, ordem e tipo) com os parâmetros definidos na função. Assinale a alternativa CORRETA: a) As sentenças I e III estão corretas. b) Somente a sentença III está correta. c) As sentenças II e IV estão corretas. d) As sentenças I, II e III estão corretas. 8. Ao desenvolver um algoritmo, para calcular a média final de 30 alunos de determinado curso, verificou-se a necessidade de armazenar alguns dados, como o nome e as notas obtidas pelos mesmos. Diante dessa diversidade de alunos, tornou-seinviável a criação de uma variável para cada aluno; logo, deve o desenvolvedor utilizar-se de outro recurso. Com base nessa informação, assinale a alternativa CORRETA que apresenta o recurso a ser utilizado pelo desenvolvedor: a) Estrutura de escolha. b) Subalgoritmos. c) Vetores. d) Funções. 9. As linguagens de programação permitem que as estruturas de controle condicionais executem um bloco de instruções caso a condicional declarada no início da estrutura não seja atendida. Esse bloco é chamado de "ELSE". Com base na análise das sentenças do algoritmo a seguir, assinale a alternativa CORRETA: 1 Program consultaanobissexto ; 2 var 3 ano: integer; 4 Begin 5 writeln( 'informe o ano '); 6 readln(ano); 7 if ((ano mod 4 = 0) and (ano mod 100 <> 0)) or (ano mod 400 = 0) then 8 writeln( 'O ano: ', ano ,' e bissexto') 9 else 10 writeln( 'O ano: ', ano ,' nao e bissexto') 11 End. a) De acordo com o algoritmo, um ano não pode ser bissexto e não bissexto ao mesmo tempo. b) Caso o usuário informe o ano 2012, o resultado será "O ano: 2012 não é bissexto". c) O comando "div", presente na linha 07, tem a mesma função do comando mod. d) Caso sejam retiradas as linhas 10 e 11, o algoritmo retornará que o ano é bissexto, independentemente do ano informado. 10. Um conceito fundamental para os cursos de sistemas de informação e cursos afins é o conceito de algoritmo. Consideraremos um algoritmo como uma sequência de instruções, cuja execução resulta na realização de uma tarefa determinada. Podemos listar alguns tipos de algoritmos que estão presentes no nosso dia a dia, não necessariamente envolvendo aspectos computacionais, como uma receita de bolo e uma partitura musical são algoritmos. Qual é a origem da palavra algoritmo? a) Vem da junção das palavras "alguma" e "matemático." b) A palavra foi usada no trabalho dos pastores de ovelhas. c) O filósofo grego Algoritmis usava o conceito em seus trabalhos. d) Apelido de um matemático árabe do século IX, Al-Khwarizmi. 11. (ENADE, 2008) Com relação ao algoritmo apresentado, que manipula um vetor de inteiros, julgue os itens a seguir: I Quando as variáveis I e J valerem, respectivamente, 0 e 1 , a linha 13 apresentará a sequência de valores 0,2,4,3,1. II Quando as variáveis I e J valerem, respectivamente, 1 e 0, a linha 13 apresentará a sequência de valores 0,2,3,1 ,4. III Quando as variáveis I e J valerem, respectivamente, 1 e 2, a linha 13 apresentará a sequência de valores 0,3, 4,1,2. Assinale a opção correta: a) Apenas os itens I e III estão corretos. b) Apenas os itens II e III estão corretos. c) Apenas os itens I e II estão corretos. d) Apenas o item III está correto. 12. (ENADE, 2008) Analise o código apresentado: a) Apresenta erros de atribuição de tipo inválido, divisão por zero e estrutura condicional. b) Apresenta somente erro de divisão por zero. c) O apresenta erros de atribuição de tipo inválido, divisão por zero e expressão relacional inválida. d) Apresenta erros de estrutura condicional e expressão relacional inválida. Parte inferior do formulário
Compartilhar