Vous êtes sur la page 1sur 8

EEEFM “Belmiro Teixeira Pimenta”

Curso Técnico em Informática


Lista de Exercícios Avaliativos em C - profª Neide Oliveira
Data de Entrega: 20/04/2011 Valor: 15,0

1. Faça um programa para ler um número do usuário e determinar se


este número é par ou ímpar. (2 pontos) – OK!

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])


{
int numero, par, impar;

puts ("\nForneca um numero do tipo inteiro:\n");


scanf ("%d", &numero);

if (numero % 2 == 0){
par = numero;
printf ("\n O numero %d, e Par\n",par);
}else{
impar = numero;
printf ("\nO numero %d, e Impar\n",impar);
}
system("PAUSE");
return 0;
}
EEEFM “Belmiro Teixeira Pimenta”

2. Faça um programa para receber valores inteiros X, Y e Z do usuário e


determinar se estes valores podem formar os lados de um triângulo.
Em caso afirmativo, informar se o triângulo é eqüilátero, isósceles ou
escaleno. (2,5 pontos) – OK!

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])


{
int X, Y, Z;

printf("\n Informe a primeira medida:\n");


scanf ("%d", &X);
printf("\n Informe a segunda medida:\n");
scanf ("%d", &Y);
printf("\n Informe a terceira medida:\n");
scanf ("%d", &Z);

if ((X<Y+Z)||(Y<X+Z)||(Z<X+Y)||(X<=Y+Z)||(Y<=X+Z)||(Z<=X+Y)||(X>Y+Z)||(Y>X+Z)||(Z>X+Y)||
(X>=Y+Z)||(Y>=X+Z)||(Z>=X+Y)){

if ((X==Y)&&(Y==Z)){
printf("\n Os numeros: %d %d %d, Formam um Triangulo Equilatero\n", X,Y,Z);

}else if ((X==Y)||(X==Z)||(Z==Y)){
printf("\n Os numeros: %d %d %d, Formam um Triangulo Isosceles\n", X,Y,Z);

}else if ((X!=Y)&&(X!=Z)&&(Y!=Z)){
printf("\n Os numeros: %d %d %d Formam um Triangulo Escaleno\n", X,Y,Z);
}else{
printf("\n Os numeros fornecidos: %d %d %d, Nao Formam um
Triangulo\n",X,Y,Z);
}
}
system("PAUSE");
return 0;
}
EEEFM “Belmiro Teixeira Pimenta”

3. Construa uma mini calculadora, com as operações matemáticas


básicas (adição, subtração, divisão e multiplicação), ao receber o
símbolo correspondente do usuário (+, -, / ou *) e dois números
reais deve retornar o resultado da operação recebida sobre estes dois
números. (2 pontos) – OK!

#include <stdio.h>
#include <stdlib.h>
main()
{
int prim_num,seg_num,soma,subtrai,divide,multiplica,result;
char opcao;

printf ("Digite uma das opcoes abaixo:\n");


printf ("opcao + Soma\n");
printf ("opcao - Subtracao\n");
printf ("opcao / Divisao\n");
printf ("opcao * Multiplicacao\n");
printf ("\n");
scanf ("%c",&opcao);
printf ("Forneca o Primeiro Numero\n");
scanf ("%d", &prim_num);
printf ("Forneca o Segundo Numero\n");
scanf ("%d", &seg_num);

if (opcao == '+'){
soma = prim_num + seg_num;
printf ("A Soma dos numeros e igual a: %d\n",soma);
printf("\n");

}else if (opcao == '-'){


subtrai = prim_num - seg_num;
printf ("A Subtracao dos numeros e igual a: %d\n",subtrai);
printf("\n");

}else if (opcao == '/'){


divide = prim_num / seg_num;
printf ("A Divisao dos numeros e igual a: %d\n",divide);
printf("\n");

}else if (opcao == '*'){


multiplica = prim_num * seg_num;
printf ("A Multiplicacao dos numeros e igual a: %d\n",multiplica);
printf("\n");

}else{
printf ("Opcao Invalida!\n");
}
system("PAUSE");
return 0;
}
EEEFM “Belmiro Teixeira Pimenta”

4. Faça um programa para mostrar os 100 primeiros termos da série de


Fibonacci. (2 pontos) – OK!

#include <stdio.h>
#include <stdlib.h>

int fibonacci(int num);

int main(int argc, char *argv[])


{
int Qtde_Serie, contador;
puts("\nInforme a quantidade desejada da serie de Fibonacci:\n");
scanf("%d", &Qtde_Serie);

for(contador=0; contador<=Qtde_Serie-1; contador++){

printf("\nO Fibonacci do Numero: %d e: %d\n", contador+1,


fibonacci(contador+1));
}
system("PAUSE");
return 0;
}
int fibonacci(int num){

if ((num==1)||(num==2)){
return 1;
}else{
return fibonacci(num-1)+fibonacci(num-2);
}
}
EEEFM “Belmiro Teixeira Pimenta”

5. Faça um programa no qual o usuário vai entrando sucessivamente


com valores positivos. Quando o usuário entrar com um valor
negativo o programa pára de pedir valores e calcula a média dos
valores já fornecidos. (2 pontos) – OK!

#include<stdio.h>
#include<stdlib.h>
main(){
int numero, soma=0, cont=0;
float media;

printf ("\nDigite um numero inteiro (negativo para sair): ");


scanf ("%d", &numero);

while(numero>0) {
soma=soma+numero;
cont=cont+1;

printf ("\nDigite um numero inteiro positivo: ");


scanf ("%d", &numero);
}
if (cont>=1) {
media=(float)soma/cont;
printf ("\nA media calculada foi %.2f\n", media);
}
else printf ("\nNenhum valor positivo foi digitado!\n");
system("pause");
}
EEEFM “Belmiro Teixeira Pimenta”

6. Faça um programa que sorteie um número de 0 a 100 e que permita


que o usuário (sem conhecer o número sorteado) tente acertar. Caso
não acerte, o programa deve imprimir uma mensagem informando se
o número sorteado é maior ou menor que a tentativa feita. Ao
acertar o número, o programa deve imprimir a quantidade de
tentativas feitas. (2,5 pontos)-OK!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int randomico,numero, cont;

srand ((unsigned) time(NULL));


randomico = rand() %100 +1;
//printf ("%d\n",randomico);

printf ("Digite um numero para verificar se voce acertou o corteio\n");


scanf ("%d", &numero);

for (cont=1;randomico!=numero;cont++)
{

if (numero > randomico){


printf ("\nO numero %d e maior que o numero sorteado\n",numero);
printf("\n");

printf ("Digite Novamente um numero para verificar se voce acertou o


corteio\n");
scanf ("%d", &numero);}

if (numero < randomico){


printf ("\nO numero %d e menor que o numero sorteado\n",numero);
printf("\n");

printf ("Digite Novamente um numero para verificar se voce acertou o


corteio\n");
scanf ("%d", &numero);}

}
printf ("\n Parabens voce acertou! O numero sorteado foi: %d",
randomico);
printf("\n");
printf ("\n Voce tentou %d vezes", cont);
printf("\n");

system ("Pause");
return 0;
}
EEEFM “Belmiro Teixeira Pimenta”

7. Diferencie as estruturas de repetição citando suas diferenças. (for;


while; do-while) (1 ponto) OK

O FOR, normalmente é utilizado quando se conhece a quantidade de vezes que um


determinado processo deve ser executado, embora isto não seja totalmente verdade, pois
em algumas linguagens esses comandos de loop podem ser utilizados de diversas
maneiras.

O WHILE e o DO ... WHILE são utilizados quando o programador não sabe quantas
vezes uma determinada parte do código precisa ser executada. Um exemplo clássico
pode ser exemplificado pela leitura de um arquivo texto qualquer, onde não se conhece
a quantidade de linhas que tem no arquivo, caso a intenção seja ler o arquivo completo,
será necessário usar um desses loops.

O WHILE faz o teste logo quando é chamado, ou seja, dependendo da condição testada,
não vai executar o processo sequer uma única vez.
(exemplo: se o arquivo de texto estiver vazio).

O DO ... WHILE faz o teste ao final da execução, sendo assim, será processado, pelo
menos, 1 vez, mesmo que o teste não satisfaça a sentença lógica.
EEEFM “Belmiro Teixeira Pimenta”

8. Cite a biblioteca padrão para entrada e saída de dados em C,


demonstre a sua sintaxe. (1 ponto) OK

A Biblioteca padrão para entrada e saída de dados é : #include <stdio.h>


Sua sintaxe na Linguagem C é:

#include <stdio.h>
Main()
{
<Declaração do tipo de variáveis>;
if <Condição>; {
<Comandos>;
} else {
<Comandos>;

System (“Pause”);
Return 0;
}

9. Faça um programa que mostre se o número fornecido pelo usuário


forma ou não um quadrado perfeito e no final imprima a sua raiz caso
ele forme um quadrado perfeito. Caso contrário, informar que o
número digitado pelo usuário não forma um quadrado perfeito.

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int numero,raiz;
numero=0;
raiz=0;
//clrscr();
printf("\n\t\t\tSABER SE E UM QUADRADO PERFEITO");
printf("\n\n\nDigite um numero INTEIRO: ");
scanf("%d",&numero);
raiz=sqrt(numero); //sqrt----->raiz quadrada
if (pow(raiz,2)==numero)//pow ----> potenciacao
{
printf("\n\nO numero digitado %d e um quadrado perfeito sua raiz
quadrada e: %d",numero,raiz);
}
else
{
printf("\n\nO numero digitado %d nao e um quadrado perfeito",numero);
}
printf("\n\n\nTecle enter para sair");
getch();
}

Vous aimerez peut-être aussi