![Page 1: REVISÃO PARA A PROVA DE TÉCNICAS DE PROGRAMAÇÃO](https://reader036.vdocuments.com.br/reader036/viewer/2022080210/5571fa8e4979599169927f9e/html5/thumbnails/1.jpg)
EEEFM “Belmiro Teixeira Pimenta”
Curso Técnico em InformáticaLista 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;}
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
![Page 2: REVISÃO PARA A PROVA DE TÉCNICAS DE PROGRAMAÇÃO](https://reader036.vdocuments.com.br/reader036/viewer/2022080210/5571fa8e4979599169927f9e/html5/thumbnails/2.jpg)
EEEFM “Belmiro Teixeira Pimenta”
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;}
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
![Page 3: REVISÃO PARA A PROVA DE TÉCNICAS DE PROGRAMAÇÃO](https://reader036.vdocuments.com.br/reader036/viewer/2022080210/5571fa8e4979599169927f9e/html5/thumbnails/3.jpg)
EEEFM “Belmiro Teixeira Pimenta”
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;}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>
![Page 4: REVISÃO PARA A PROVA DE TÉCNICAS DE PROGRAMAÇÃO](https://reader036.vdocuments.com.br/reader036/viewer/2022080210/5571fa8e4979599169927f9e/html5/thumbnails/4.jpg)
EEEFM “Belmiro Teixeira Pimenta”
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); }}
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>
![Page 5: REVISÃO PARA A PROVA DE TÉCNICAS DE PROGRAMAÇÃO](https://reader036.vdocuments.com.br/reader036/viewer/2022080210/5571fa8e4979599169927f9e/html5/thumbnails/5.jpg)
EEEFM “Belmiro Teixeira Pimenta”
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");}
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>
![Page 6: REVISÃO PARA A PROVA DE TÉCNICAS DE PROGRAMAÇÃO](https://reader036.vdocuments.com.br/reader036/viewer/2022080210/5571fa8e4979599169927f9e/html5/thumbnails/6.jpg)
EEEFM “Belmiro Teixeira Pimenta”
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;}
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
![Page 7: REVISÃO PARA A PROVA DE TÉCNICAS DE PROGRAMAÇÃO](https://reader036.vdocuments.com.br/reader036/viewer/2022080210/5571fa8e4979599169927f9e/html5/thumbnails/7.jpg)
EEEFM “Belmiro Teixeira Pimenta”
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.
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 {
![Page 8: REVISÃO PARA A PROVA DE TÉCNICAS DE PROGRAMAÇÃO](https://reader036.vdocuments.com.br/reader036/viewer/2022080210/5571fa8e4979599169927f9e/html5/thumbnails/8.jpg)
EEEFM “Belmiro Teixeira Pimenta”
<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();}