Buscar

Exercício 8 - Paradigmas de Linguagens de Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS.
	
	 
		
	
		1.
		Assinale a opção que apresenta a expressão que equivale a soma +=num
	
	
	
	num=soma
	
	
	soma=soma+num
	
	
	num=soma+1
	
	
	num=soma-1
	
	
	num=num+soma
	
Explicação:
soma +=num, é o mesmo que soma = soma + num;
	
	
	
	 
		
	
		2.
		Como se chama o comando estruturado que representa uma estrutura que permite a repetição de outros comandos?
	
	
	
	atribuição
	
	
	desvio incondicional
	
	
	decisão
	
	
	iteração
	
	
	desvio condicional
	
Explicação:
para permitir que outros comandos sejam repetidos devem ser usadas as estruturas de repetição ou iteração
	
	
	
	 
		
	
		3.
		Avalie as assertivas a seguir pertinentes a comandos de atribuição em linguagens de programação diversas.
I. A atribuição sempre é associação de um valor a uma e somente uma variável, em qualquer linguagem de programação
II. A diferença entre  as 2 atribuições a variável b em:  b=a++ , b=++a, é que no primeiro a variável "a" é atribuída a variável "b" e depois incrementada de 1 unidade e na segunda atribuição, o valor da variável "a" é incrementado de 1 unidade e depois atribuído a variável "b"
III. A atribuição  soma+= num equivale a soma=soma+num, ou seja a variável soma é incrementada de num
IV. Em todas as LPs o comando de atribuição é o mesmo e representado pelo símbolo  "=".
Está correto, apenas o que se afirma em:
	
	
	
	I, II e III
	
	
	II e III
	
	
	II, III e IV
	
	
	III e IV
	
	
	I, II e IV
	
Explicação:
I. A atribuição sempre é associação de um valor a uma e somente uma variável  FALSO, pois temos em algumas LPs a atribuição múltipla, onde o mesmo valor é atribuído a mais de 1 variável, como o comando em C:  a=b=c=d=e=0
II. A diferença entre  as 2 atribuições a variável b em:  b=a++ , b=++a, é que no primeiro a variável ¿a¿ é atribuída a variável ¿b¿ e depois incrementada de 1 unidade e na segunda atribuição, o valor da variável ¿a¿ é incrementado de 1 unidade e depois atribuído a variável ¿b¿ ¿ VERDADE. São as chamadas atribuições unárias.
III. A atribuição  soma+= num equivale a soma=soma+num, ou seja a variável soma é incrementada de num  VERDADE. É uma atribuição composta
IV. Em todas as LPs o comando de atribuição é o mesmo e representado pelo símbolo  ¿=¿.  FALSO, varia conforme a LP. Em Pascal, por exemplo a atribuição é representada pelo símbolo ¿:=¿ (dois pontos seguido do igual).
	
	
	
	 
		
	
		4.
		Considere o trecho de código abaixo, escrito na linguagem C,
for (ind=5; ind >= 1 ; ind++)
{
          scanf("%d", &num);
            if (num == 0) break;
            printf("%d\n", num); 
}
Printf ("Fim");
Quantas vezes os comandos dentro do FOR, serão executados?
	
	
	
	1 vez
	
	
	Nenhuma vez
	
	
	3 vezes
	
	
	Infinitas vezes
	
	
	5 vezes
	
Explicação:
Ind começa com 5
5 é maior ou igual a 1 
entra na repetição
Ind vai para 6
6 é maior ou igual 1 
entra na repetição
.. e assim vai, pois ind ao invés de decrescer, esta sendo incrementado, logo va repetir infinatamente, o chamado LOOP
	
	
	
	 
		
	
		5.
		I. O desvio incondicional deve ser usado sempre que possível
PORQUE
II. O desvio incondicional desloca a execução para qualquer parte do programa, especificado por um rótulo (nome)
Analisando a relação de causa e efeito entre as assertivas I e II, responda com a opção correta:
	
	
	
	As 2 assertivas são verdadeiras e a assertiva II não justifica a assertiva I
	
	
	As 2 assertivas são verdadeiras e a assertiva II justifica a assertiva I
	
	
	A assertiva I é falsa e assertiva II é verdadeira,
	
	
	As 2 assertivas são falsas
	
	
	A assertiva I é verdadeira e a assertiva II é falsa
	
Explicação:
A assertiva I é falsa, pois o desvio incondicional deve ser evitado, pois afeta a legibilidade e manutenibilidade do código.
A assertiva I é verdadeira e justamente por esse desvio da execução natural do programa, o desvio incondicional deve ser evitado.
 
 
	
	
	
	 
		
	
		6.
		Sobre os comandos de atribuição implementados pelas LPs:
Acompanhe e avalie a execução do trecho de código, abaixo, na LP C e responda.
        int main(void)
        {int iQtdSegundos, iHoras, iMinutos, iSegundos
         printf("\nEntre com o valor em segundos:");
                    scanf("%d", &iQtdSegundos);
         iHoras = iQtdSegundos / 3600;
         iMinutos = (iQtdSegundos - (iHoras*3600)) / 60;
         iSegundos = (iQtdSegundos - (iHoras/3600)) % 60;
      printf("\nHora convertida %02d:%02d:%02d", iHoras, iMinutos,   iSegundos);  }
 
1. Considerando que o  dado de entrada seja 5400, qual será exatamente a saída que o programa vai exibir?
	
	
	
	Hora convertida  01:20:00
	
	
	Hora convertida  01:20:20
	
	
	01:30:00
	
	
	Hora convertida  01:30:00
	
	
	Hora convertida  01:30:20
	
Explicação:
1. iQtdeSegundos = 5400
a. iHoras = 5400/3600 = 1   (apenas parte inteira)
b. iMunutos = (5400-3600)/60 = 30 (apenas parte inteira)
c. iSegundos = Resto (5400 ¿ 3600)/60 = 0 (Resto)
d. A saída será:  Hora convertida  01:30:00

Continue navegando