Buscar

Linguagem de programacao exercicios RESOLVIDOS

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

Linguagem de Programação
 
		1.
		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?
		
	
	
	
	
	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.
	
	
	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.
	
	 
	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.
	
	
	
		2.
		Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h.
Assinale o trecho correto que possibilita incluí-las.
		
	
	
	
	
	#include
	
	
	#include 
#include 
#include 
	
	 
	#include stdio.h
#include stdlib.h
#include math.h
	
	
	#include
	
	
	#define 
#define 
#define 
	
	
	
		3.
		Sabemos que a linguagem C apresenta várias vantagens. Quando dizemos que usamos três procedimentos básicos: sequência, seleção e iteração e que é possível gerar um executável rápido, estamos nos referindo às seguintes características na ordem:
		
	
	
	
	
	Portabilidade e Modularidade
	
	 
	Portabilidade e Estruturada
	
	
	Complexidade e Estruturada
	
	 
	Estruturada e Rapidez
	
	
	Rapidez e Portabilidade
	
	
	
		4.
		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 III possibilita isso
	
	 
	Tanto a I quanto a IV possibilitam isso
	
	
	Só a II possibilita isso
	
	 
	Só a IV possibilita isso
	
	
	Só a I possibilita isso
	 Gabarito Comentado
	
	
		5.
		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.
		
	
	
	
	
	Flexibilidade
	
	
	Modularidade
	
	
	Reuso
	
	
	Polimorfismo
	
	 
	Portabilidade
	 Gabarito Comentado
	
	
		6.
		Qual das características abaixo NÃO pode ser atribuída á linguagem C?
		
	
	
	
	
	Portabilidade
	
	
	Estruturada
	
	 
	Complexidade porque tem muitas palavras reservadas
	
	
	Rapidez, pois gera executável compacto
	
	
	Modularidade
		1.
		As funções existem para decompor um problema em partes menores, simplificando e organizando o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma afirmativa ERRADA em relação aos conceitos de funções.
		
	
	
	
	 
	O comando return encerra a execução de uma função e pode retornar vários valores para a função chamadora da função.
	
	
	O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de parâmetros da função.
	
	
	Além do valor de uma variável é possível passar para uma função o endereço da variável como por exemplo, das matrizes.
	
	 
	Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses.
	
	
	As variáveis declaradas no corpo de uma função são chamadas variáveis locais.
	
	
	
		2.
		Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e tendo em vista o trecho do programa,  qual deveria ser a linha usada para exibir a saída abaixo:
Observação: A sequência de números que aparece na saída representa as colunas da tela.
 
Trecho
int num= 12; float med=9.8;
printf("\n12345678901234");
 
		
	
	
	
	
	printf("\n%d\t%6.2f\n", num, med);
	
	 
	printf("\n%4d\t%f\n", num, med);
	
	 
	printf("\n%d\t%06.2f\n", num, med);
	
	
	printf("\n%04d\t%.2f\n", num, med);
	
	
	printf("\n%d\t06.2f\n", num, med);
	 Gabarito Comentado
	 Gabarito Comentado
	
	
		3.
		Uma parte bastante importante no estudo da linguagem C é ter o conhecimento das suas bibliotecas. As respectivas categorias das funções das bibliotecas #include ctype.h e #include math.h são:
		
	
	
	
	 
	Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções matemáticas que possibilitam arredondamento de um numero.
	
	
	Funções para entrada e saída de dados; funções matemáticas que possibilitam arredondamento de um numero.
	
	
	Funções para conversão de números e alocação na memória; funções matemáticas que possibilitam arredondamento de um numero.
	
	
	Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções para entrada e saída de dados.
	
	 
	Funções para entrada e saída de dados; funções para conversão de números e alocação na memória.
	
	
	
		4.
		Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
		
	
	
	
	 
	+, - e *
	
	
	=, > e ||
	
	
	&&, || e ~
	
	 
	<, > e >=
	
	
	&&, >= e ||
	 Gabarito Comentado
	
	
		5.
		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.
		
	
	
	
	 
	atof() e stdlib.h
	
	
	isalpha() e stdlib.h
	
	
	toupper() e stdlib.h
	
	
	tolower() e ctype.h
	
	
	atoi() e math.h
	 Gabarito Comentado
	
	
		6.
		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.
		
	
	
	
	
	sqrt()
	
	
	pow()
	
	
	rounder()
	
	
	floor()
	
	 
	ceil()
	
		1.
		Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C.
	
	
	
	
	 
	i, j, int, obs
	
	
	2_ou_1, fim, *h, j
	
	 
	If, nota_do_aluno_2, HOJE, _yes
	
	
	nota-2 , a36, x_y
	
	
	2nota, a36, x#y, --j
	
	
	
		2.
		Segundo o código exposto na questão e desconsiderando a necessidade da declaração das bibliotecas, o que é exibido no display pela função de saída?int main()
{
int n1=3, n2=7, n3=5, n4=2;
float med;
med= (float)(n1 + n2+ n3+ n4)/4;
printf("a media e %.2f", med);
system("pause");
return 0;
}
	
	
	
	
	
	a media é: 4.250
	
	
	a média é: 4.25000
	
	
	a média é: 4.25
	
	
	a media e: 4.2500
	
	 
	a media e: 4.25
	 Gabarito Comentado
	
	
		3.
		Na programação em C como em outras linguagens, muitas vezes se faz necessário a conversão de tipos de dados, para que possamos exibir ou armazenar o resultado de uma operação da forma desejada. O nome dado a esta operação é Cast.
Das opções apresentadas, marque aquela que converte e armazena corretamente o valor de uma variável n do tipoint para a variável x do tipo float utilizando o Cast.
	
	
	
	
	
	x = float n;
	
	
	x = (int) n;
	
	 
	n = (float) x;
	
	 
	x = (float) n;
	
	
	n = float x;
	 Gabarito Comentado
	
	
		4.
		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.
	
	
	
	
	
	Valor do imposto a ser pago: 1000.00
	
	
	Valor do imposto a ser pago: 850.00
	
	
	Valor do imposto a ser pago: 800.00
	
	
	Valor do imposto a ser pago: 650.00
	
	 
	Valor do imposto a ser pago: 750.00
	 Gabarito Comentado
	 Gabarito Comentado
	
	
		5.
		Na linguagem de programação C, como em outras, na criação de programas, precisamos fazer a entrada e saída de dados no sistema e para tal temos algumas opções.
Das opções apresentadas, qual não é parte linguagem C, conforme o material apresentado nas aulas.
	
	
	
	
	
	scanf ( )
	
	 
	getchar ( )
	
	
	fgetc(stdin)
	
	
	printf ( )
	
	 
	cin ( )
	
	
	
		6.
		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.
	
	
	
	
	
	time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
	
	
	stdio.h - Funções para gráficos.
	
	 
	string.h - Funções para concatenação de strings com inteiros.
	
	
	stdlib.h - Funções de entrada e saida. 
	
	 
	math.h - Funções matemáticas
	 Gabarito Comentado
	 Gabarito Comentado
	
	
	
	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, IV e V estão corretas 
	
	
	II e IV estão corretas 
	
	 
	I, II e V estão corretas 
	
	
	I, II e III estão corretas 
	
	
	II, III e IV estão corretas 
	 Gabarito Comentado
	
	
		2.
		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 )
	
	
	
		3.
		Um aluno de LPI gostaria de testar duas condições, usando somente uma estrutura if.
Abaixo as duas condições a serem testadas:
a) O ano de nascimento que precisa estar no intervalo fechado de 1989-2007.
b) O sexo que precisa ser masculino.
Sabe-se que o sexo se encontra em uma variável do tipo char de nome sexo e o ano em uma variável do tipo int de nome ano.
Além disso, ele deseja que seja aceita tanto a letra M quanto a letra m.
Assinale a opção que resolve o problema desse aluno.
		
	
	
	
	 
	if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) )
	
	
	if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 )
	
	
	if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) )
	
	
	if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' )
	
	
	if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) )
	 Gabarito Comentado
	
	
		4.
		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().
	
	
	Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
	
	 
	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.
	
	
	Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
	
	
	
		5.
		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 reprovado com: 6.5
	
	
	Aluno aprovado com: 6.5
	
	
	Aluno aprovado com: 6.0
	
	
	Aluno aprovado com: 6.00
	
	
	Aluno reprovado com: 6.50
	 Gabarito Comentado
	
	
		6.
		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, IV e V são verdadeiras
	
	
	I, III e IV são verdadeiras
	
	
	II, III e IV são verdadeiras
	
	 
	I, III, IV e V são verdadeirasIII e V são verdadeiras
		A instrução while é usada quando não sabemos quantas vezes um determinado bloco de instruções precisa ser repetido. Com ele, a execução das instruções vai continuar até que uma condição seja verdadeira. A condição a ser analisada para a execução do laço de repetição deverá retornar um valor booleano 
Dado o código abaixo, qual opção que demonstra o que será exibido na tela?
int main(){
int cont=1;
int tam = 3;
while( cont <=tam ){
while( cont++ <=tam )
printf("%d ",cont);
cont++;
}
system("PAUSE");
return 0;
}
	
	
	
	
	
	2 3 4 5
	
	
	3 4 5
	
	
	1 2 3
	
	 
	1 2
	
	 
	2 3 4
	 Gabarito Comentado
	
	
		2.
		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");
}
	
	
	
	
	
	246
	
	 
	23456
	
	
	265
	
	 
	135
	
	
	256
	
	
	
		3.
		 Para o desenvolvimento de nossos programa na linguagem C, contamos com 3 tipos básicos de estruturas de repetição, for, while e do..while. O funcionamento e aplicação dos mesmos tem pequenas diferenças. 
    int i;
    for(i=0; i < 10; i+=2)
        if (i%2)
        printf("%d",i);
   printf("%d",i);
Supondo que as demais  linhas necessárias para o funcionamento do programa estejam devidamente criadas e baseado no trecho de código apresentado, o que será exatamente apresentado na tela após a sua execução.
	
	
	
	
	
	0246810
	
	 
	02468
	
	
	0 2 4 6 8 10
	
	
	024681010
	
	 
	10
	 Gabarito Comentado
	
	
		4.
		Durante a criação de um programa, foi percebido que uma parte do código era executada várias vezes, porém não era em uma sequência de repetições e sim esporadicamente. Cada vez que esta parte era executada inicialmente precisava-se de um valor diferente e no final do trecho a resposta nem sempre era a mesma. Era necessário achar alguma forma de evitar a redundância de códigos e melhorar a escrita e desempenho do sistema. Baseado na descrição apresentada acima e utilizando-se da melhor forma os conceitos de programação, qual seria a melhor solução pra o problema:
	
	
	
	
	
	Utilizar a estrutura de loop DO-WHILE, para executar a parte do código que se repetia.
	
	
	Utilizar a estrutura de loop FOR com o GOTO, para executar a parte do código que se repetia.
	
	
	Utilizar a estrutura de loop WHILE, para executar a parte do código que se repetia.
	
	
	Criar uma função para executar a parte do código que se repetia.
	
	
	Utilizar a estrutura de loop FOR, para executar a parte do código que se repetia.
	
	
		5.
		 Muitas séries matemáticas podem ser geradas pela estrutura do  for. Analise o código abaixo, supondo que você digitou 2 e 4 quando lhe foram solicitados dois números e escolha a opção que contém a série exibida pelo código.
	
	
	
	
	 
	2       4       6       10       16       26       42       68
	
	 
	2       4       6       10       16       26       42
	
	
	2       4       4       8       12       20       32       52
	
	
	2       4       4       8       12       20       32       
	
	
	2       4       6       8       19       12       14       16
	 Gabarito Comentado
	 Gabarito Comentado
	
	
		6.
		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;
}
	
	
	
	
	 
	1 2
	
	
	0 1 2 3 4 5
	
	 
	1 2 3 4 5
	
	
	0 1 2
	
	
	1 2 3

Outros materiais