Buscar

Linguagem Programação Avaliando aprendizado 1 a 10 *Com respostas

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 25 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 25 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 25 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

Exercícios do avaliando aprendizado 
	
	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:
		
	
	
	
	
	#include minhasFuncoes.h
	
	
	#include "minhasFuncoes.h"
	
	
	#include "c:\ minhasFuncoes.h\funcoes"
	
	
	#include
	
	 
	#include "c:\funcoes\ minhasFuncoes.h"
	
	Após o surgimento de várias linguagens de Alto nível, surge a linguagem C . Qual a década em que foi desenvolvida?
		
	
	
	
	
	década de 60
	
	
	década de 80
	
	 
	década de 70
	
	
	década de 90
	
	
	década de 50
	
	Estudamos que a linguagem C apresenta várias características. Analise as afirmativas abaixo e assinale a opção correta.
I Com pequenas modificações, um código poderá ser compilado em várias plataformas.
II Não pode ser modularizada
III Possui um propósito específico
IV Considerada de nível intermediário
		
	
	
	
	
	II, III e IV
	
	
	Todas estão erradas
	
	
	Todas estão corretas
	
	
	I, III e IV estão corretas
	
	 
	I e IV estão corretas
		4.
		A Linguagem C tem algumas características importantes e uma delas é a Portabilidade, Isso significa dizer que:
		
	
	
	
	
	Podemos dividir o programa em parte menores.
	
	
	A linguagem possui um propósito específico.
	
	 
	Com pequenas alterações, o programa poderá ser compilado em várias plataformas.
	
	 
	Um programa executável gerado na plataforma Windows é executado na Plataforma Linux.
	
	
	Por ser considerada uma linguagem de baixo nível é mais simples migrar para outra plataforma.
		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
		
	
	
	
	 
	Tanto a I quanto a IV possibilitam isso
	
	
	Só a III possibilita isso
	
	
	Só a II possibilita isso
	
	 
	Só a I possibilita isso
	
	
	Só a IV possibilita isso
		6.
		Quando precisamos compilar um código na linguagem C na plataforma Linux ,caso não tenhamos um ambiente onde se possa editar e compilar, podemos fazer esse processo no terminal.
Um desenvolvedor experimentou as linhas de comando abaixo.
1) gcc -o nomeExecutável nomedoFonte.c 
2) gcc -o nomedoFonte.c
Analise as opções e escolha a correta.
		
	
	
	
	
	Não será criado um executável na segunda forma, pois aparecerá uma mensagem de erro informando falta de parâmetros.
	
	 
	Ambas linhas de comando não geram executáveis.
	
	
	O compilador gcc não serve para linguagem C.
	
	
	Sempre um executável com o mesmo nome do fonte será criado em ambos os casos.
	
	 
	Será criado um executável com um nome fixo independente do nome do fonte na segunda forma.
		1.
		Qual o nome da função matemática que calcula a potenciação de um número?
		
	
	
	
	
	pot
	
	
	sqrt
	
	
	double
	
	 
	pow
	
	 
	elevado
		2.
		Um Engenheiro estava testando formatação com a função printf()e incluiu a linha abaixo.
printf( "%08.2f",12.3);
		
	
	
	
	 
	Exibiu com oito casas na parte inteira e duas na parte decimal, totalizando 10 posições no display, deixando vazias as não usadas
	
	 
	Exibiu com cinco casas na parte inteira e duas na parte decimal, totalizando 8 posições no display, sendo que seriam três 0 antes do número 12 e um zero depois do 3 e o ponto.
	
	
	Exibiu 12.3 porque o zero anula a formatação
	
	
	Exibiu com oito casas na parte inteira e duas na parte decimal, totalizando 10 posições no display, sendo que seriam seis 0 antes do número 12 e um zero depois do 3.
	
	
	Exibiu com seis casas na parte inteira e duas na parte decimal, totalizando 8 posições no display, deixando vazias as não usadas, exceto a posição do ponto.
		Um Engenheiro Ambiental tinha um arquivo onde ele gostaria retirar algarismos que estavam dentro de várias cadeias de caracteres e que fossem todos convertidos para números reais, uma vez que eles representavam tamanhos de árvores.
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.
		
	
	
	
	 
	isalpha() e stdlib.h
	
	
	toupper() e stdlib.h
	
	
	tolower() e ctype.h
	
	 
	atof() e stdlib.h
	
	
	atoi() e math.h
		4.
		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%
	
	
	10 Juros de
	
	
	% Juros de 10
	
	
	%s%d%% Juros de 10
	
	
	Nada porque tem muitos %
		5.
		Um Engenheiro Civil precisava usar uma função que pudesse arredondar para cima, uma vez que ao compramos pisos/ azulejos sempre usamos um valor inteiro.
Observe as funções abaixo e escolha a função capaz de resolver esse problema.
		
	
	
	
	
	pow()
	
	 
	sqrt()
	
	
	rounder()
	
	 
	ceil()
	
	
	floor()
	
	
		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.
		
	
	
	
	
	atof() e stdlib.h
	
	 
	atoi() e math.h
	
	
	isalpha() e stdlib.h
	
	
	toupper() e stdlib.h
	
	 
	tolower() e ctype.h
	
	Na construção de programas na linguagem C, precisamos tomar muito cuidado com a sintaxe das expressões condicionais, para que não tenhamos resultados inesperados.
Supondo que as variáveis foram devidamente declaradas e levando em conta apenas a linha de código apresentada, dentre as opções qual apresenta erro na sintaxe para a linguagem C.
		
	
	
	
	 
	if x > 0 { a = 2;}
	
	
	if (x > 0) a = 2 else b = 2 ;
	
	
	if (a > 0) {a = 2;} else if (b < 10) {b= 2;}
	
	
	if (a > 0) {a = 2;} else {b= 2;}
	
	
	if (a > 0) { a = 2;}
		2.
		Suponha que as notas digitadas pelo usuário sejam respectivamente (4.5; 8.5; 6.5).
int main()
{
float n1, n2, n3, med;
puts("Digites as notas");
scanf("%f", &n1);
scanf("%f", &n2);
scanf("%f", &n3);
med= (n1+n2+n3)/3;
if(med>=7)
printf("Aluno aprovado com: %.1f\n", med);
else
printf("Aluno reprovado com: %.1f\n", med);
system("pause");
return 0;
}
Desconsidere a necessidade da declaração das bibliotecas.
Qual será a mensagem final exibida para o usuário?
		
	
	
	
	
	Aluno aprovado com: 6.00
	
	 
	Aluno reprovado com: 6.5
	
	
	Aluno reprovado com: 6.50
	
	 
	Aluno aprovado com: 6.5
	
	
	Aluno aprovado com: 6.0
		3.
		A estrutura condicional Switch na linguagem C tem suas peculiaridades.
Avalie cada uma das afirmativas e marque a correta para esta estrutura.
		
	
	
	
	 
	A cláusula default é obrigatória, independentemente de ter ou não opção de uma caso não previsto acontecer.
	
	
	Podemos colocar uma expressão ou uma variável como parâmetro para avaliação do switch, sendo uma expressão deve ter parênteses, do contrário, para variáveis não é necessário utilizar os mesmos.
	
	
	Podemosutilizar variáveis de qualquer tipo para testar.
	
	 
	Para associar comandos para os demais valores possíveis e não especificados nos cases utilizo o parâmetro default.
	
	
	O uso do break, não interfere na ordem de execução do programa.
	
	
Uma empresa que presta serviços de pintura predial, desenvolveu um aplicativo destinado a calcular o número de latas necessárias para pintar uma parede. O programa lê o tipo de pintura(interna ou externa), a largura e a altura em metros(inteiros) da parede. Para calcular a quantidade de tinta e o número de latas, sabe-se que são necessários 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se também que cada lata tem 2 litros de tinta.
Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o cálculo do número de latas de tinta: 
void main(){ 
float altura, largura;
char tipo; int total_latas, tot_metros, aux;
puts("\nDigite E para Externo e I para Interno");
tipo = getchar();
puts("\nDigite a altura da parede: ");
scanf("%f",&altura);
printf("\nDigite a largura da parede: ");
scanf("%f",&largura);
tot_metros = altura*largura;
		
	
	
	
	 
	switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);
break; 
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	
	
	if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	
	 
	if(tot_metros%2) 
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);
break; 
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	
	
	if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'I': break; 
case 'i': break; 
printf("%d",(tot_metros*3)/2+aux);
break; 
case 'E': break; 
case 'e': break; 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
	
	
	if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'I': break; 
case 'i': break; 
printf("%d",(tot_metros*3)/2+aux);
case 'E': break; 
case 'e': break; 
printf("%d",(tot_metros*4)/2+aux);
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
		6.
		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 )
	
	
	x > ( a + b )
	
	
	x <= ( a + b )
	
	
	x == ( a + b )
	
	 
	x = ( a + b )
		5.
		A professora de Linguagem de Programação I pediu aos alunos que construíssem um código para que permitisse a entrada de um número inteiro e exibisse umas das mensagens: Positivo / Zero / Negativo
Eles acharam esse pedido estranho, visto que era um programa clássico.
Ao término do tempo que ela deu para o desenvolvimentos, pediu que eles comparassem as duas soluções que colocou no quadro.
Leia as afirmativas abaixo e escolha a alternativa correta. 
I na solução A, se o número fosse positivo, era testado três vezes.
II na solução B, se o número fosse positivo, era testado uma vez. 
III Se as duas soluções produzem a mesma saída podemos afirmar que, em termos de eficiência, não importa a quantidade de testes.
IV A solução A poderia usar um if simples e um if composto ao invés de três ifs simples. 
V A solução B poderia testar se era zero no primeiro if e menor do que zero no outro desde que estivessem presentes as mensagens correspondentes aos testes e a mensagem Positivo no else.
		
	
	
	
	 
	I, II e V estão corretas 
	
	
	II, III e IV estão corretas 
	
	 
	I, II e III estão corretas 
	
	
	I, II, IV e V estão corretas 
	
	
	II e IV estão corretas 
	
	
		1.
		Leia com atenção as afirmativas abaixo e escolha a opção correta.
I A estrutura do for, por definição, é ideal quando o número de repetições for conhecido
II A estrutura do for testa ao final enquanto a estrutura while testa no início
III A estrutura while pode simular a estrutura do for e a estrutura do... while
IV A estrutura do for sem nenhum parâmetro, só com os  ;   dentro dos parênteses e com um if no corpo da repetição, pode simular a estrutura while
V Tanto a estrutura do...while quanto a estrutura while, testam no início
		
	
	
	
	 
	Somente I e V estão corretas   
	
	
	Somente I, II, III e V estão corretas        
	
	 
	Somente I, III e IV estão corretas        
	
	
	Somente II, III e V estão corretas
	
	
	Somente I, III e V estão corretas
	
	
	
		2.
		Estrutura de repetição, na ciência da computação, é uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza e/ou repete diferentes algoritmos/ações dependendo se uma condição é verdadeira ou falsa, em que a expressão é processada e transformada em um valor booleano. Analise o código abaixo e identifique a opção que demonstra o que será exibido na tela:
int main(int argc, char *argv[]) {
  int i = 0; 
  int j = 5;
  do{ 
   printf("%d", i++); 
  }while(++i <= j--);
  system("PAUSE");
  return 0;
}
		
	
	
	
	 
	1234
	
	
	123
	
	 
	024
	
	
	34
	
	
	345
	 Gabarito Comentado
	 Gabarito Comentado
	
	
		3.
		A linguagem C possui comandos para repetir uma sequência de instruções. Estas estruturas de repetição, também conhecidas como laços (do inglês loops). Dao o código abaixo, qual opção que demonstra o que será exibido na tela?
int main(int argc, char *argv[]) {
  int i = 0; 
  int j = 5;
  do{ 
   printf("%d", i++); 
  }while(j-- <= ++i )
  system("PAUSE");
  return 0;
}
		
	
	
	
	
	135
	
	 
	12345
	
	
	012345
	
	
	024
	
	 
	0
	
	
	
		4.
		As estruturas de repetição são essenciais no desenvolvimentos de programas na linguagem C. Dado o programa abaixo, identifique a opção que demonstra o que será exibido na tela:
int main(int argc, char *argv[]) {
int i = 0; 
int j = 5;
while(++i <= --j){ 
printf("%d ", i); 
}
system("PAUSE"); 
return 0;
}
		
	
	
	
	
	0 1 2 3 4 5
	
	
	1 2 3 4 5
	
	 
	1 2
	
	
	0 1 2
	
	
	1 2 3
	
	
	
		5.
		Uma das principais características que consolidaram o sucesso na utilização dos computadores para a resolução de problemas foi a sua capacidade de repetir o processamento de um conjunto de operações para grandes quantidades de dados. Exemplos de conjuntos de tarefas que repetimos diversas vezes dentro de uma situação específica podem ser observados largamente no nosso dia a dia.
As estruturas de repetição proveem uma maneira de repetir um conjunto de procedimentos até que determinado objetivo seja atingido, quando a repetição se encerra. Todas as estruturas de repetição têm em comum o fato de haver uma condição de controle, expressa através de uma expressão lógica, que é testada em cada ciclo para determinar se a repetição prossegue ou não.
Tendo como base o código abaixo, qual opção que demonstra o que será exibido na tela?
void main() {
int i = 2;
int j = 6;
for(i=0;i<=5;i++){
do{ 
printf("%d", ++i);
}while(++i <= j--);
}
system("PAUSE");
}
		
	
	
	
	
	256
	
	
	265
	
	
	23456
	
	 
	135
	
	 
	2466.
		Os loops são utilizados para executar um conjunto de instruções várias vezes baseando-se sempre em uma condição que decidirá se continua repetindo ou não.
Qual estrutura de repetição abaixo, garante que o bloco de instruções seja executado no mínimo uma vez?
		
	
	
	
	
	while
	
	 
	do...while
	
	 
	switch
	
	
	for
	
	
	repeat...util
		1.
		A linguagem C é rica em funções que permitem efetuar operações simples e complexas. Existem várias funções para leitura de dados, entre elas podemos destacar:
- Função que é usada, sem problemas, para ler variáveis simples, aceitando espaço, mas não tem nenhum controle sobre o números de caracteres armazenados.
- Função que é usada, sem problemas, para ler variáveis simples, numéricas ou char de um caracter, e para vetores dos tipos citados. Entretanto, apresenta limitação para vetor de char, uma vez que abandona ao encontrar um espaço.
- Função que lê todos os caracteres, inclusive espaços, mas especifica em um dos parâmetros o máximo de caracteres que poderá ser armazenado.
Identifique a opção abaixo que corresponde as funções descritas na ordem acima:
	
	
	
	
	 
	gets, scanf e fgets
	
	
	scanf, fgets e gets
	
	
	gets, fgets e scanf
	
	
	scanf, gets e fgets
	
	
	fgets, gets e scanf
	 Gabarito Comentado
	 Gabarito Comentado
	
	
		2.
		Observe as declarações abaixo e assinale a opção correta.
I int idades[]={5,16,27,19};
II float CR[3]={6.1, 8.9, 9.3};
III char letras[]={"A", "E", "I", "O", "U"};
IV char letras[]={"Linguagem de "};
	
	
	
	
	 
	Somente as declarações I , II e IV estão corretas
	
	
	As declarações III e IV estão erradas
	
	 
	Somente as declarações I e II estão corretas
	
	
	Todas as declarações estão corretas
	
	
	A declaração I está errada e a declaração II está correta
	 Gabarito Comentado
	 Gabarito Comentado
	
	
		3.
		Qual das opções abaixo está correta com relação a declaração de variáveis para um vetor de 15 elementos de números reais em C?
	
	
	
	
	 
	double x[15];
	
	 
	double x[15][15];
	
	
	int vetor[15];
	
	
	char x[15];
	
	
	int vetor[15][15];
		
	
		4.
		Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta:
I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0).
II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'.
III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um.
	
	
	
	
	
	 
	Somente as sentenças II e III estão corretas
	
	 
	Somente as sentenças I e II estão corretas
	
	
	Somente a sentença II está correta
	
	
	Todas as sentenças estão corretas
	
	
	Somente as sentenças I e III estão corretas
	
	
	
	
		5.
		A linguagem C, ao contrário de outras linguagens de programação, não possui um tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros
Qual das opções abaixo está correta?
	
	
	
	
	 
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('{0}').
	
	
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/0').
	
	
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/end').
	
	 
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\0').
	
	
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\end')
	
	
	
	
		6.
		Um desenvolvedor precisava armazenar matrícula, nome e CR de um aluno. Sabe-se que a matrícula é um número inteiro e que o CR é um número real. Observe as alternativas abaixo e assinale qual foi a escolhida por atender a todas as exigências.
	
	
	
	
	
	char[30] nome; int matricula; double CR;
	
	
	char nome; int matricula; float CR;
	
	 
	char nome; int matricula[12]; double CR;
	
	 
	char nome[30]; int matricula; float CR;
	
	
	char[30] nome; int matricula[12]; float CR;
	
	
		1.
		O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores.
Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C.
Assinale a opção que possibilitará fazer o que o professor deseja.
	
	
	
	
	 
	
float NOTAS[47][5]; 
	
	
	
float NOTAS[47][47]; 
	
	
	
float notas[5][47]; 
	
	
	
float NOTAS[47,5]; 
	
	
	
float Notas[47][47]; 
	
	
	
		2.
		Matrizes é um dos conceitos mais largamente usado em programação nos dias de hoje.
Identifique a opção que ocorrerá um erro:
	
		
	
	
	int matriz[2][3]; matriz[0][0]=2; matriz[0][1]=4;
	
	 
	int matriz[2][3]= {{2,4,6},{7,8,9}};
	
	
	int matriz[][3]= {{2,4,6}};
	
	 
	int matriz[2][3]= {{2,4,6};{7,8,9}};
	
	
	int matriz[][3]= {{2,4,6},{7,8,9}};
	
	
	
	
		3.
		Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde poderão se posicionar as demais funções em relação à função main()?
Observe as afirmativas abaixo e assinale a resposta CORRETA
 
I Antes ou depois, depende do programador, pois a posição não gera, nunca, problema.
II Depois, desde que os protótipos sejam colocados antes da main().
III Antes para não ter que colocar os protótipos e nunca ocasionar erros.
IV Antes ou depois, desde que sejam colocados os protótipos.
	
	
	
	
	
	I e III estão corretas
	
	
	Só a II está correta
	
	 
	II e IV estão corretas
	
	
	II e III estão corretas
	
	 
	I e IV estão corretas
	
	
	
		4.
		Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    int vetn[10];
    for (int i=1; i <= 10; i++){
        vetn[i -1]  = i * 13;
        i = i + 1;
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas em relação ao vetor, qual afirmativa está correta.
	
	
	
	
	
	O segundo valor armazenado será o 26.
	
	
	Serão armazenados 10 valores inteiros.
	
	
	O décimo valor armazenado será o 117.
	
	 
	Serão armazenados 5 valores inteiros.
	
	
	O terceiro valor armazenado será o 60.
	
	
	
		5.
		Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    float vetn[20];
    for (int i=0; i < 20; i++){
        vetn[i]  = ( i+1) * 0.1;
        i = i + 2;
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
	
	
	
	
	
	Serão armazenados 20 valores reais.
	
	 
	Serão armazenados 7 valores reais.
	
	 
	O terceiro valor armazenado será o 0.6.
	
	
	O vigésimo valor armazenado será o 2.0.
	
	
	O segundo valor armazenado será o 0.2.
	
	
		6.
		Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    int vetn[3][2];
    for (int i=0; i < 3; i++){
        for (int j=0; j < 2; j++){
            vetn[i][j]  = i + j;
        }
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.Serão armazenados os valores 0,1,2,2,3,3.
	
	 
	O trecho apresentado possui erro e apenas um valor será armazenado.
	
	
	Serão armazenados os valores 0,0,1,1,2,2.
	
	
	O trecho apresentado possui erro e nenhum valor será armazenado.
	
	 
	Serão armazenados os valores 0,1,1,2,2,3.
		1.
		O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.
Assinale a linha onde a declaração atende ao que ele deseja.
		
	
	
	
	 
	
char nomes[20][31]; float salarios[20][14]; 
	
	
	
float nomes[20][31], salarios[20][14]; 
	
	
	
char nomes[20]; float salarios[19][13]; 
	
	
	
char nomes[19][31]; float salarios[19][13]; 
	
	
	
char nomes[20][31]; float salarios[20][20]; 
	
	
	
		2.
		Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.
Das opções apresentadas, qual função apresenta a solução para o programador?
		
	
	
	
	
	strcat( ).
	
	 
	strlen( ).
	
	
	strcont( ).
	
	 
	atoi( ).
	
	
	strlength( ).
	
	
	
		3.
		Os alunos foram desafiados pelo professor para construir uma linha em linguagem C que pudesse exibir no display o algarismo da casa das dezenas simples de um número dado na chamada das funções.
O professor disse que eles não precisavam fazer nenhuma proteção, mas deixou claro que tinham que usar somente as duas funções que foram disponibilizadas para eles.
Observe os protótipos abaixo e os comentários sobre o que cada função retorna e depois escolha a opção que possibilita o que foi pedido, supondo que o número seja : 987234.
Função 1: int retornaUltimo(int num); /* Retorna o algarismo da casa das unidades simples*/
Função 2: int retornaDezenas(int num); /* Retorna o número de dezenas de um número */
		
	
	
	
	 
	 
	
	
	
	
	
	
	
	
	
	
	
	 
	
	
	
	
		4.
		Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e outras, facultativas. 
 
tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN)
{
  corpo da função
 }
 
Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc).
		
	
	
	
	 
	Tipo, Parâmetro e corpo da função.
	
	
	Nome, Parâmetro e Corpo da função.
	
	
	Tipo, Nome e Parâmetros.
	
	 
	Tipo , Nome, e Corpo da função.
	
	
	Tipo, Nome, Parâmetros e Corpo da Função.
	
	
	
		5.
		A língua portuguesa realmente é surpreendente. Além de rica em fonemas e vocabulário, possui muitas curiosidades. Entre elas o conceito de palíndromo, que é uma palavra ou um número que se lê da mesma maneira nos dois sentidos como, por exemplo, OVO.
Dado o código abaixo, qual das opções complementa o programa para identificar este curioso conceito?
int ePalindromo(char vet[],int tam);
void main(int argc, char *argv[]) { 
char texto[] = "arara";
int i; 
if(ePalindromo(texto, strlen(texto)))
printf("Eh palindromo");
else
printf("Nao eh palindromo");
system("PAUSE"); 
}
		
	
	
	
	
	int ePalindromo(char vet,int tam){
int i; int aux=1;
for(i=0; i < tam-1; i++){
if(vet[i]!=vet[tam-i]){ 
aux = 0;
break;
}
} 
return aux; 
}
	
	
	int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam/2; i++){
if(vet[i]!=vet[tam-i]){ 
aux = 0;
break;
}
} 
return aux; 
}
	
	 
	int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam/2; i++){
if(vet[i]!=vet[tam-1-i]){ 
aux = 0;
break;
}
} 
return aux; 
}
	
	
	int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam-1; i++){
if(vet[i]!=vet[tam-i]){ 
aux = 0;
break;
}
} 
return aux; 
}
	
	
	int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam; i++){
if(vet[i]!=vet[tam+1-i]){
aux = 0;
break;
}
} 
return aux; 
}
	
	
	
	
		6.
		Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas
		
	
	
	
	
	end
	
	
	return
	
	 
	main()
	
	
	systema("pause")
	
	
	begin
		1.
		Observe o código abaixo e assinale a resposta que informa o que ele faz. 
int c;
c = getc( entrada);
if (c != EOF) 
putc( c, stdout);
else 
printf( "\nO arquivo terminou!");
	
	
	
	
	
	O seguinte fragmento de código exibe todos os caracteres do arquivo a menos que estejamos no fim do arquivo.
	
	 
	O seguinte fragmento de código exibe o próximo caractere do arquivo a menos que estejamos no fim do arquivo.
	
	
	O seguinte fragmento de código exibe o próximo caractere do arquivo mesmo que estejamos no fim do arquivo.
	
	
	O seguinte fragmento de código exibe somente um caractere do arquivo a menos que estejamos no fim do arquivo.
	
	 
	O seguinte fragmento de código exibe o próximo caracter mesmo após o fim do arquivo.
	
	
	
		2.
		Observe a linha de um programa abaixo e assinale a alternativa que representa o seu resultado:
result = fputs(Str, arq);
	
	
	
	
	
	Se a função NÃO for executada com sucesso, fputs retorna a constante NULL.
	
	 
	Se a função NÃO for executada com sucesso, fputs retorna a constante EOF.
	
	 
	Se a função for executada com sucesso, fputs retorna a constante EOF.
	
	
	Se a função NÃO for executada com sucesso, fputs não retorna nada.
	
	
	Se a função NÃO for executada com sucesso, fputs retorna a variável EOF.
	
	
	
		3.
		Na manipulação de arquivos na linguagem C, no processo de abertura do mesmo, podemos ter erros: devido a não existência do arquivo; ao arquivo estar corrompido; etc, não sendo possível abrir o mesmo.
Das afirmativas apresentadas qual define corretamente o que pode ser feito em relação ao erro na abertura, segundo o que foi apresentado nas aulas.
	
	
	
	
	 
	Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue prevenir e evitar o fechamento do programa.
	
	
	O tratamento é feito com um if, e tendo havido problemas no arquivo de texto, o mesmo é eliminado e retornado uma mensagem padrão para o usuário.
	
	
	A palavra chave FILE, que permite fazer a associação do arquivo, mantem o valor NULL caso não seja possível abrir o arquivo, desta forma, utilizando o if, o usuário pode mandar uma mensagem adequada para o usuário.
	
	 
	A função fopen, retorna NULL quando não consegue abrir o arquivo e o usuário pode tratar o conteúdo da variável associada ao arquivo, comparando com o valor NULL.
	
	
	Não é necessário tratar, pois não existindo o arquivo ele simplesmente cria um novo e nunca terá problema.
	
	
	
	
		4.
		Observe a linha abaixo e diga qual será o resultado obtido:
result = fprintf(arq,"Linha %d\n",i);
	
	
	
	
	 
	Se a função fprintf for executada com sucesso, devolve os caracteres gravados. Se a função NÃO for executada com sucesso, retorna a constante EOF.
	
	 
	Se a função fprintf for executada com sucesso, devolve o número de caracteres gravados. Se a função NÃO for executada com sucesso, retorna a constante EOF.
	
	
	Se a função fprintf for executada com sucesso, devolve a constante EOF. Se a função NÃO for executada com sucesso, retorna o número de caracteres gravados.
	
	
	Se a função fprintf for executada com sucesso, devolve o número de caracteres gravados. Se a função NÃO for executada com sucesso, retornaa constante BOF.
	
	
	Se a função fprintf NÃO for executada com sucesso, devolve o número de caracteres gravados. Se a função for executada com sucesso, retorna a constante EOF.
	 Gabarito Comentado
	
	
		5.
		 Na definição de estruturas, funções, variáveis, etc. devemos seguir suas respectivas Sintaxes.
Das opções apresentas, qual é SINTAXE correta da definição de um vetor bidimensional.
	
	
	
	
	
	nome_matriz[numero_linhas][numero_colunas];
	
	 
	tipo nome_vetor[numero_colunas][numero_linhas];
	
	
	tipo nome_matriz[numero_colunas][numero_linhas];
	
	 
	tipo nome_matriz[numero_linhas][numero_colunas];
	
	
	tipo nome_matriz[][];
	
	
	
		6.
		A função _________ funciona como a função scanf(), porém, ao invés de ler os dados de teclado, estes dados são lidos de um arquivo.
	
	
	
	 
	fscanf()
	
	 
	fgetc()
	
	
	fgets()
	
	
	sscanf()
	
	
	fprint()
		1.
		Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo.
Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programador deveria acessar o arquivo, segundo sua necessidade.
 
	
	
	
	 
	Para leitura e gravação
	
	
	Para leitura e edição
	
	 
	Somente para leitura
	
	
	Não precisa abrir o arquivo
	
	
	Somente para gravação
	
	
		2.
		As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias informações do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta a programação adequada, declaração e respectiva manipulação das matrizes, das opções apresentadas a respeito das matrizes bidimensionais marque a resposta correta.
	
	
	
	
	
	char mat[2][2]; mat[0][2] = A;
	
	
	int mat[3][3]; mat[0][3] = 5;
	
	 
	int mat[3][3]; mat[0][2] = 5.0;
	
	 
	int mat[3][3]; mat[0][2] = 5;
	
	
	char mat[2][2]; mat[0][2] = "A";
	
	
		3.
		Trabalhando com arquivos, precisamos deslocar o ponteiro pelo mesmo afim de conseguirmos achar ou posicionar onde será necessário fazer alguma alteração ou leitura.
A função fgetpos() é uma das responsáveis por fazer este movimento. Assinale a alternativa que expressacorretamente a sua sintaxe.
	
	
	
	fgetpos(variavelPonteiroArquivo, origem, &pos);
	
	 
	fgetpos(variavelPonteiroArquivo, &pos);
	
	
	fgetpos(deslocamento, variavelPonteiroArquivo, pos);
	
	
	fgetpos(variavelPonteiroArquivo, deslocamento, &pos);
	
	 
	fgetpos(variavelPonteiroArquivo, pos);
	
		4.
		Na aula 10 vimos sobre as funções de localização e posicionamento.
Aassinale a alternativa que contêm apenas esses tipos de função.
	
	
	
	
	
	ftell(), fseek(), fread().
	
	
	ftell(), fwrite(),fread().
	
	
	fwrite(), fread(), rewind().
	
	
	fwrite(), fseek(), rewind().
	
	 
	ftell(), fseek(), rewind().
	
	
		5.
		O protótipo da função fwrite() é:
	
	
	
	
	
	int fwrite(void *buffer,int numero_de_bytes,int count,FILE *fp);
	
	
	real fwrite(void *buffer,int numero_de_bytes,int count,FILE *fp);
	
	 
	signed fwrite(void *buffer,int numero_de_bytes,int count,FILE *fp);
	
	 
	unsigned fwrite(void *buffer,int numero_de_bytes,int count,FILE *fp);
	
	
	void fwrite(void *buffer,int numero_de_bytes,int count,FILE *fp);
		6.
		Observe o programa abaixo e escolha a opção que descreve o que ele faz.
	
		
	
	 Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo binário para escrita e leitura e, se for possível, grava os dados no arquivo.
	
	 
	Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo binário para escrita e, se for possível, grava os dados no arquivo. 
	
	 
	Lê dados de um arquivo texto e armazena na Memória Principal em uma matriz unidimensional, exibindo depois na tela. 
	
	
	Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo texto para escrita e, se for possível, grava os dados no arquivo.
	
	
	Lê dados de um arquivo binário e armazena na Memória Principal em uma matriz unidimensional, exibindo depois na tela.

Outros materiais