Buscar

Resposta dos exercicios...

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 22 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 22 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 9, do total de 22 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

Prévia do material em texto

SLIDE 1
CONHECENDO A LINGUAGEM QUE REVOLUCIONOU. SIMPLESMENTE, C
1- Na história da linguagem C, alguns momentos foram marcantes devido a acréscimos e/ou modificações significativas embora nem todos os compiladores tenham aderido. Abaixo estão relacionadas alguns deles:
- Surge o tipo long long para inteiros;
- As funções matemáticas passam a aceitar todos os tipos numéricos;
- O caracter // para comentário de uma linha, pode ser usado também;
Assinale a opção que contem o nome do documento onde apareceram, pela primeira vez, as modificações acima.
	Padrão C95
	ISO/IEC 9899:1990
 Certo	Padrão C99
	Padrão C89
	C tradicional
2- Um dos grandes problemas de empresas que desenvolvem software é a variedade hardware. Como por exemplo, em grandes redes de supermercados, o software instalado não pode ser trocado sem maiores custos e traumas. A linguagem C possui a capacidade de ser compilado ou executado em diferentes arquiteturas (seja de hardware ou de software). Identifique abaixo a capacidade descrita.
 Certo	Portabilidade
	Reuso
	Flexibilidade
	Polimorfismo
	Modularidade
3- A Linguagem C tem algumas características importantes e uma delas é a Portabilidade, Isso significa dizer que:
	Por ser considerada uma linguagem de baixo nível é mais simples migrar para outra plataforma.
	Podemos dividir o programa em parte menores.
	A linguagem possui um propósito específico.
	Um programa executável gerado na plataforma Windows é executado na Plataforma Linux.
 Certo	Com pequenas alterações, o programa poderá ser compilado em várias plataformas.
4- Uma das características mais marcantes da linguagem C é a sua portabilidade. Os códigos escrito em C são portáveis, o que significa que é possível executa-los nos mais diferentes tipos de arquiteturas. Tendo um programa C compilado para Windows, para executa-lo em Linux, identifique a opção CORRETA:
	Ocorrerá erro, pois os programas C não rodam em Linux.
	Ocorrerá erro, pois todas as instruções da linguagem C são incompatíveis com o Linux.
	Só é possível copiar o código executável do Linux para o Windows e executa-lo.
 Certo	Precisamos recompilar o código fonte para o Linux.
	Basta apenas copiar o código executável para o Linux e executa-lo.
5- No ambiente Dev-cpp, temos algumas facilidades. Uma delas é quando desejarmos compilar e executar logo em seguida com um único clique ou um pressionamento de uma tecla.
Analise as afirmativas abaixo e escolha a opção correta
I Pressionar F9(pode ser F11 em versões mais novas)
II Clicar no ícone Compilar
III Clicar no ícone Executar
IV Clicar no ícone Compilar e Executar
	Só a II possibilita isso
	Só a IV possibilita isso
	Só a I possibilita isso
	Só a III possibilita isso
 Certo	Tanto a I quanto a IV possibilitam isso
 6- Em relação à variável global, podemos afirmar:
I Somente a função principal pode alterar o valor armazenado
II Todas as funções podem alterar o valor armazenado
III É declarada dentro da função principal
IV É declarada fora de todas as funções
V Pode ser declarada em qualquer posição
	I e III
 Certo	II e IV
	II e III
	I, III e V
 Errado	II, IV e V
 7- Todo programa codificado na linguagem C pode incluir uma, ou várias bibliotecas, mas existe uma que tem que estar nessa lista, na maioria das vezes, devido a necessidade da interação com o usuário..
Assinale a alternativa que apresenta essa biblioteca.
	iostream.h 
 	iostream 
	stdin.h 
 Certo	stdio.h 
 Errado	studio.h 
 8- Sabe-se que a linguagem C é uma das mais utilizadas no mundo. Desenvolvida em 1972 é uma linguagem voltada para programadores. Dentre as opções abaixo é incorreto afirmar:
 Certo	Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo
	Possibilita o desenvolvimento de funções próprias
	Possui características de Linguagem de alto nível.
	Permite a compilação de softwares para plataforma Windows, Linux e Unix.
 Errado	Possui características de Linguagem de baixo níve
SLIDE 2
EXIBINDO NO DISPLAY
1- Qual o nome da função matemática que calcula a potenciação de um número?
	elevado
 Certo	pow
	pot
	double
 Errado	sqrt
2- No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, compilar e executar um programa codificado na linguagem C como temos no Windows.
Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um programa?
 Certo	Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ no terminal para executá-lo.
	Usar um editor de texto para digitar o código/ salvar com extensão c/ digitar uma linha de comando no terminal, usando o compilador gcc que irá gerar o executável e executá-lo em seguida.
	Usar um editor de texto para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
 Errado	Usar o terminal para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
	Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável / digitar o nome do executável no terminal para executá-lo.
3- Assinale a função que não é disponível na plataforma Linux.
 Certo	system()
 Errado	return
	scanf()
	printf()
	main()
4- Um Engenheiro estava construindo um trecho de programa onde pedia que o usuário respondesse com uma letra ou um algarismo.
Se o usuário não tivesse respondido, ele enviaria uma mensagem de erro.
Ele sabia que precisava aprender mais alguma estrutura, mas, no momento, pensou em experimentar uma função que pudesse lhe dar um retorno.
Pesquisou nas bibliotecas estudadas na aula 2 e achou.
Qual o nome dessa função?
	isspace()
	isnotalphadigit()
 Errado	isdigit()
	isalpha()
 Certo	isalnum()
5- Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h.
Assinale o trecho correto que possibilita incluí-las.
	#define 
#define 
#define 
	#include
	#include
	#include 
#include 
#include 
 Certo	#include stdio.h
#include stdlib.h
#include math.h
6- Um Engenheiro Mecânico tinha um arquivo onde ele gostaria que os nomes dos materiais fossem todos convertidos para letras minúsculas.
Observe as linhas abaixo e assinale a opção que contem a função que realiza essa conversão e a biblioteca a qual pertence.
 Certo	tolower() e ctype.h
	toupper() e stdlib.h
 Errado	isalpha() e stdlib.h
	atoi() e math.h
	atof() e stdlib.h
7- Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
#include 
int main() 
{ 
printf ("%s%d%%","Juros de ",10);
}
	% Juros de 10
	Nada porque tem muitos %
	%s%d%% Juros de 10
 Certo	Juros de 10%
	10 Juros de
8- Você estava trabalhando na plataforma Windows e foi definindo várias funções específicas para sua área de atuação.
Um dia, resolveu criar uma biblioteca e nomeou de minhasFuncoes.h, salvando em uma pasta de nome funcoes na raiz do drive C.
Quando foi incluir, usou:
 Certo	#include "c:\funcoes\ minhasFuncoes.h"
	#include
	#include "minhasFuncoes.h"
	#include "c:\ minhasFuncoes.h\funcoes"
 Errado	#include minhasFuncoes.h
SLIDE 3
	
CONSTRUINDO OS PRIMEIROS PROGRAMAS QUE INTERAGEM COM O USUÁRIO
 
1-	Na linguagem de programação C, como em outras, na criação de programas, devemos definir os tipos de dados para nossas variáveis de acordo com o problema em questão.
Das opções apresentadas qual possui apenas tipos da linguagem C, conforme o material apresentado nas aulas.
char, integer, float, real, boolean
 Errado	char, int, float, double, boolean
	char, int, real, double, void
	char, int, real, double, boolean
 Certo	char, int, float, double, void
 2- Um programa de cadastro deve solicitar cpf,nome e telefonede alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa?
 Certo	do{ // [bloco de comandos] } 
while (cfp !=0);
	while{ // [bloco de comandos] } 
do (cfp !=0);
	do while (cfp !=0)
{ // [bloco de comandos] }
 Errado	if (cpf != 0)
{ // [bloco de comandos] }
	for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] }
3-	Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas.
De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
 Errado	string.h - Funções para concatenação de strings com inteiros.
	time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
 Certo	math.h - Funções matemáticas
	stdlib.h - Funções de entrada e saida. 
	stdio.h - Funções para gráficos.
4-	As bibliotecas da linguagem C guardam funções predefinidas da linguagem. Veja o código a seguir e marque a alternativa que contém as bibliotecas necessárias para que este código funcione.
#include________
#include________
int main()
{
int a=2, b=2, c=8, delt;
delt=(pow(b, 2)-(4*a*c));
system("pause");
return (0);
}
Não leve em consideração os sinais de maior e menor que envolvem o nome das bibliotecas.
 Certo	math.h - stdlib.h
	stdio.h - ctype.h
	stdio.h - stdlib.h
	cmat.h - ctype.h
	stdlib.h - ctype.h
5-	Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro.
 Errado	((pontos>=10) # (pontos <=20))
	((pontos>=10) ! (pontos <=20))
	((pontos>=10) || (pontos <=20))
 Certo	((pontos>=10) && (pontos <=20))
	((pontos>=10) % (pontos <=20))
6-	Observe abaixo várias funções que recebem dados via teclado. Qual delas permite uma leitura formatada?
 Errado	fgets()
	gets()
	fgetc()
 Certo	scanf()
	getchar()
7-	Um engenheiro precisava calcular o valor do imposto a ser pago no carnê leão.
Sabe-se que o imposto é calculado sobre o salário bruto.
Acompanhe o programa codificado na linguagem C, supondo que você digitou 4000 para primeira solicitação de entrada e 1000, para segunda solicitação. Escolha a opção onde está presente o valor do imposto.
 Certo	Valor do imposto a ser pago: 750.00
	Valor do imposto a ser pago: 850.00
 Errado	Valor do imposto a ser pago: 800.00
	Valor do imposto a ser pago: 650.00
	Valor do imposto a ser pago: 1000.00
8-	Dado o trecho de lógica utilizando o conceito da linguagem de programação C. Diga o resultado das variáveis x, y e z depois da seguinte sequência de operações:
int x,y,z; 
x=y=10; 
z=++x; 
x=-x; 
y++;
x=x+y-(z--); 
	x = 11 
y = 11 
z = 15
	x = -20
y = 20 
z = 10
	x = -13 
y = 11 
z = 13
 Errado	x = -01
y = 01 
z = 10
 Certo	x = -11 
y = 11 
z = 10
SLIDE 4
IF ... / IF ... ELSE /IF ... ELSE ... IF / SWITCH - QUAL ESCOLHER
1.	Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.	
	&&, || e ~
 Errado	&&, >= e ||
	=, > e ||
 Certo	<, > e >=
	+, - e *
2.	Um desenvolvedor estava construindo um código que tinha quatro possibilidades de resposta válidas além de uma mensagem de erro.
O dado testado era do tipo inteiro.
Assinale a opção que ele escolheu.
	três ifs simples e um composto
	quatro ifs simples
 Errado	quatro ifs simples e um composto
 Certo	switch() com quatro cases e um default
	switch() com cinco cases
 Gabarito Comentado
3.	Marque abaixo a instrução que permite parar uma execução dentro de um switch.	
 Certo	break
	case
	open
 Errado	close
	stop
4.	Um programa deve ler um valor inteiro. Caso o valor lido seja positivo deve imprimir a mensagem "Valor positivo". Assinale a opção que apresenta estrutura condicional CORRETA para a solução desse problema.
 if ( valor != 0 )
 Errado	
if ( valor == 0 )
Certo	if ( valor > 0 )
	if (valor < 0 )
	if ( valor <= 0 )
5.	Considere o código abaixo. Considere que o usuário digite 3. O que será impresso para o usuário?
int main (void )
{
 int valor;
 
 printf ("Digite um valor de 1 a 7: ");
 scanf("%d", &valor);
 
 switch ( valor )
 {
 case 1 :
 printf ("Domingo\n");
 break;
 
 case 2 :
 printf ("Segunda\n");
 break;
 
 case 3 :
 printf ("Terca\n");
 break;
 
 case 4 :
 printf ("Quarta\n");
 break;
 
 case 5 :
 printf ("Quinta\n");
 break;
 
 case 6 :
 printf ("Sexta\n");
 break;
 
 case 7 :
 printf ("Sabado\n");
 break;
 
 default :
 printf ("Valor invalido!\n");
 }
 
 return 0;
}
	Quinta
 Certo	Terca
	Segunda
 Errado	Quarta
	Valor invalido
6.	Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.
Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
 
	
O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
	
Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
 Errado	
Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
	
Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
 Certo	
O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
7-	Existe sempre uma dúvida por parte do desenvolvedor se escolhe switch() ou if quando está usando a Linguagem C.
Sabemos que existem algumas exigências para se usar o switch().
Analise as opções abaixo e assinale a opção correta.
I Qualquer tipo pode ser usado. 
II Somente o tipo vetor de char que Não pode ser usado. 
III Não pode ser usado intervalo tipo: 1..3 em um case. 
IV Sempre será obrigatório usar o comando break; ao final de um case. 
V Quando o valor digitado não estiver presente em nenhum dos cases, irá para a opção default, caso exista.	
	II, III e IV são verdadeiras
	I, III, IV e V são verdadeiras
 Errado	II, IV e V são verdadeiras
 Certo	III e V são verdadeiras
	I, III e IV são verdadeiras
8-	Na construção de programas na linguagem C, precisamos utilizar os operadores relacionais para montar nossas expressões relacionais.
Supondo que as variáveis foram devidamente declaradas, dentre as opções apresentadas qual não apresenta uma expressão relacional correta na linguagem C.
	x <= ( a + b )
 Certo	x = ( a + b )
 Errado	x >= ( a + b )
	x == ( a + b )
	x > ( a + b )
SLIDE 5
1-	Considere o trecho de código em C++ a seguir e selecione a opção que indica corretamente o que será exibido ao término da sua execução.
int x=5, y = 10, z, i;
z = x; 
for ( i = y; i >= (x+2) ; i-- ) 
 z = z * i; 
cout << "z = " << z;
 Errado	
z = 3600
z = 151200
z = 50
Certo	
z = 25200
z = 5040
2-	Analise os códigos descritos nas alternativas de 'A' até 'E' e marque qual o código que fornece exatamente a saída descrita a seguir: Ano valor na conta 0 1000.00 1 1050.00 2 1102.50 3 1157.63 4 1215.51 5 1276.28	
	a-	printf("Ano\t valor na conta\n"); for(i==1;i<=5;i++) {	vf=vp*pow(1+0.05,i); printf("%d \t %5.2f \n",i,vf);	}
	c-	printf("Ano\t valor na conta\n"); for(i=0;i==5;i++) {	vf=vp*pow(1+0.05,i); printf("%d \t %5.2f \n",i,vf);	}
	d-	printf("Ano\t valor na conta\n"); for(i=0;i<5;i++) {	vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf);	}
 Errado	b-	printf("Ano\t valor na conta\n"); for(i=1;i>5;i++) {	vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf);	}
 Certo	e-printf("Ano\t valor na conta\n"); for(i=0;i<=5;i++) {	vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf);	}
3-	Considerando com entrada os seguinte números 5 e 8. Marque a alternativa que contém a resposta do programa na tela para os números digitados.
int main() {
int a,b; scanf("%d",&a); scanf("%d",&b);
while (a < b) { printf("%d",a); a = a + 1; }
system("pause");
return 0; }
678
56
Certo- 567
5678
67
4-	Um programa que contém a linha de comando abaixo:
int soma, i = 0;
while ( i < 50000) {
if ( i % 7 == 0) {
soma = soma + i;
 }
 i++ ;
 Qual será a saída:
 Certo	Soma dos números inteiros menores que 50000 divisíveis por 7.
	Soma dos números inteiros menores que 50000.
 Errado	Soma dos números inteiros menores que 50000 ímpares.
	Soma dos números inteiros menores que 50000 com resto 7.
	Soma dos números inteiros menores que 50000 divido por 7.
5-	Analise o trecho de código abaixo e determine qual a saída gerada:
int i, A = 0, B = 1 ;
for (i = 1; i < 5; i++) {
 A = B;
B = i + B * A;
}
cout << " A = " << A << " B = " << B;
	A = 6 B = 39
 Errado	
A = 8 B = 67
 Certo 
A = 39 B = 1525
	
A = 67 b = 4757
	A = 0 B = 1
6-	Considerando com entrada os seguinte números 5 e 10. Marque a alternativa que contém a resposta do programa na tela para os números digitados.
int main() {
int a,b; scanf("%d",&a); scanf("%d",&b);
while (a < b) { printf("%d",a); a = a + 2; }
system("pause");
return 0; }
 Certo	579
	57
	Nenhuma das outras alternativas
	57911
 Errado	56789
7-	Qual será a saída do programa abaixo?
int main() {
int i=0;
do {
i++;
cout << i << endl;
} while (i < 2);
}
 Certo()	1
2
()2
()1 2
0
()1
2
0
()1
8-	Na maioria das linguagens de programação, as estruturas de controle de fluxo são fundamentais para a criação de programas elegantes e de fácil entendimento. Assinale a alternativa correta com relação aos comandos de controle de fluxo da linguagem C, sabendo que o comando for apresenta a seguinte forma geral: for (inicialização;condição;incremento) declaração;	
 Certo	Pode-se omitir a declaração, e, mesmo assim, o comando for ainda será válido.
 Errado	Não é permitido omitir a condição no comando for, pois não existiria maneira de parar o laço infinito.
	Sem os comandos de controle de fluxo, só haveria uma maneira de o programa ser executado: de baixo para cima e comando por comando.
	O comando continue usado dentro de um laço executa a próxima linha de código independentemente do fato de ela estar dentro ou fora do laço.
	O comando for garante que o laço seja executado pelo menos uma vez.

Outros materiais