Prévia do material em texto
Lista de exercícios
Disciplina: Algoritmos
Prof.: MSc. Saymon Castro de Souza
Valor: 1 ponto
Data de entrega: 03/10/2014
Formato de entrega: arquivo PDF com as questões e os algoritmos resolvidos; e os
arquivos *.c (enviar por e-mail)
E-mail: saymoncastro@yahoo.com.br
Assunto: Lista de exercícios - Eng. Civil
Corpo: nome(s) completo(s)
A lista pode ser feita em grupo de até duas pessoas
2. Faça um algoritmo que leia dois valores para as variáveis A e B e efetue a troca dos
valores de forma que a variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da variável A. Apresente os valores trocados.
3. Faça um algoritmo que calcule o volume de um cubo.
4. Faça um algoritmo que leia um número e retorne se ele é positivo, negativo ou zero. 5. Faça um algoritmo que leia 4 números inteiros e calcule a soma dos que forem par. 6. Faça um algoritmo que leia um número e retorne se ele é par ou ímpar.
7. Faça um algoritmo que leia três números e mostre-os em ordem decrescente.
8. Faça um algoritmo que realize a leitura de três números inteiros e retorne: o maior número; o número intermediário; o menor número.
9. Escreva um programa que leia o dia e o mês do aniversário de uma pessoa e diga se
a data é válida ou não. Desconsidere o ano bissexto (Ex.:dia = 31, mês = 02; inválida!).
10. Faça um algoritmo que leia 3 notas e calcule a média de 20 alunos.
11. Faça um algoritmo que receba a idade de 10 pessoas e imprima a quantidade de
pessoas maiores de idade (idade igual ou superior a 18 anos).
12. Faça um programa que imprima a soma dos múltiplos de 7, inferiores a 1000.
13. Faça um algoritmo que receba um número inteiro e retorne se ele é um número
primo.
14. Faça um algoritmo que receba a idade de 15 pessoas, calcule e imprima:
A quantidade de pessoas em cada faixa etária; a porcentagem de cada faixa etária em relação ao total de pessoas.
As faixas etárias são:
1 a 15 anos
16 a 30 anos
31 a 45 anos
46 a 60 anos
Maior que 60 anos
15. . Dado um natural n, determine o número harmônico Hn definido por:
16. Faça um programa que simule o processo de saque de um caixa eletrônico. O
usuário deverá informar um valor inteiro e o programa deve retornar o número mínimo de cédulas nos valores 100, 50, 20, 10, 5 e 2 reais.
17. A serie de Fibonacci e dada por 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 78,
..., onde um termo da sequência e definido pela soma dos dois termos
imediatamente anteriores. Por definição, os dois primeiros termos dessa série são iguais a 1. Escreva um programa que imprima os n primeiros termos da série de Fibonacci.
OBS: a resolução foi feita pelos alunos em sala, caso encontre erros, entre em contato, por favor.�
GABARITO
Exercicio 2:
#include <stdio.h>
main (){
float a,b;
printf("Exercicio 2 \n \n");
printf("Digite o valor de A: ");
scanf("%f", &a);
printf("Digite o valor de B: ");
scanf("%f", &b);
printf ("Valor de A: %.2f Valor de B: %.2f \n",b,a);
system("pause");
}
Exercicio 3:
#include <stdio.h>
main (){
float a,resultado;
printf("Exercicio 3 \n \n");
printf("Digite o valor da aresta do cubo: ");
scanf("%f", &a);
resultado = (a*a*a);
printf ("Volume: %.2f \n",resultado);
system("pause");
}
Ex 4:
#include<stdio.h>
main(){
printf("Exercicio 4 \n \n");
float n;
printf("Digite um numero qualquer: ");
scanf("%f", &n);
if (n>0){
printf("Voce digitou um numero positivo. \n");
}else{
if(n<0){
printf("Voce digitou um numero negativo. \n");
}else{
printf("Voce digitou zero. \n");
}
}
}
Ex 5
#include<stdio.h>
main(){
printf("Exercicio 5 \n \n");
int n1,n2,n3,n4;
printf("Digite o primeiro numero: ");
scanf("%d", &n1);
printf("Digite o segundo numero: ");
scanf("%d", &n2);
printf("Digite o terceiro numero: ");
scanf("%d", &n3);
printf("Digite o quarto numero: ");
scanf("%d", &n4);
int a,b,c,d,soma;
a=0; b=0; c=0; d=0;
if (n1%2==0){
a=n1;
}
if (n2%2==0){
b=n2;
}
if (n3%2==0){
c=n3;
}
if (n4%2==0){
d=n4;
}
soma = a+b+c+d;
printf("O resultado da soma do numeros pares e: %d",soma);
}
Ex 6
#include<stdio.h>
main(){
printf("Exercicio 6 \n \n");
int n;
printf("Digite um numero inteiro: ");
scanf("%d", &n);
if (n%2==0){
printf("Voce digitou um numero par. \n");
}else{
printf("Voce digitou um numero impar. \n");
}
}
Ex 7
#include<stdio.h>
main(){
printf("Exercicio 7 \n \n");
float a,b,c;
printf("Digite o primeiro numero: ");
scanf("%f", &a);
printf("Digite o segundo numero: ");
scanf("%f", &b);
printf("Digite o terceiro numero: ");
scanf("%f", &c);
// com a em 1º
if( (a>b) && (b>c) ){
printf("%f \n%f \n%f \n", a,b,c);
}
if( (a>c) && (c>b) ){
printf("%f \n%f \n%f \n", a,c,b);
}
//com b em 1º
if( (b>c) && (c>a) ){
printf("%f \n%f \n%f", b,c,a);
}
if( (b>a) && (a>c) ){
printf("%f \n%f \n%f \n", b,a,c);
}
//com c em 1º
if( (c>b) && (b>a) ){
printf("%f \n%f \n%f \n", c,b,a);
}
if( (c>a) && (a>b) ){
printf("%f \n%f \n%f \n", c,a,b);
}
if( (a==b) && (b==c)){
printf("Os tres numeros sao iguais. \n");
}
system("pause");
}
Ex 8
#include<stdio.h>
main(){
printf("Exercicio 8 \n");
int a,b,c;
printf("Digite um valor para A: ");
scanf("%d", &a);
printf("Digite um valor para B: ");
scanf("%d", &b);
printf("Digite um valor para C: ");
scanf("%d", &c);
// com a em 1º
if( (a>b) && (b>c) ){
printf("O maior numero e: A=%d \nO numero intermediario e: B=%d
\nO menor numero e: C=%d \n", a,b,c);
}
if( (a>c) && (c>b) ){
printf("O maior numero e: A=%d \nO numero intermediario e: C=%d
\nO menor numero e: B=%d \n", a,c,b);
}
//com b em 1º
if( (b>c) && (c>a) ){
printf("O maior numero e: B=%d \nO numero intermediario e: C=%d
\nO menor numero e: A=%d \n", b,c,a);
}
if( (b>a) && (a>c) ){
printf("O maior numero e: B=%d \nO numero intermediario e: A=%d
\nO menor numero e: C=%d \n", b,a,c);
}
//com c em 1º
if( (c>b) && (b>a) ){
printf("O maior numero e: C=%d \nO numero intermediario e: B=%d
\nO menor numero e: A=%d \n", c,b,a);
}
if( (c>a) && (a>b) ){
printf("O maior numero e: C=%d \nO numero intermediario e: A=%d
\nO menor numero e: B=%d \n", c,a,b);
}
if( (a==b) && (b==c)){
printf("Os tres numeros sao iguais. \n");
}
if( (a==b) && (b>c) ){
printf("Os maiores numeros sao: A=%d B=%d, o menor numero e:
C=%d. \n", a,b,c);
}
system("pause");
}
Ex 9
#include<stdio.h>
main(){
printf("Exercicio 9 \n \n");
int dia,mes;
printf("Digite o dia do seu aniversario: ");
scanf("%d", &dia);
printf("Digite o mes do seu aniversario: ");
scanf("%d", &mes);
//janeiro
if(mes==1){
if( (dia>=1) && (dia<=31) ) {
printf("Dia %d de Janeiro. Data valida!", dia);
}
else{
printf("Dia %d de Janeiro. Data invalida!", dia);
}
}
//fevereiro
if(mes==2){
if( (dia>=1) && (dia<=29) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//março
if(mes==3){
if( (dia>=1) && (dia<=31) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//abril
if(mes==4){
if( (dia>=1) && (dia<=30) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//Maio
if(mes==5){
if( (dia>=1) && (dia<=31) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//Junho
if(mes==6){
if( (dia>=1) && (dia<=30) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//Julho
if(mes==7){
if( (dia>=1) && (dia<=31) ) {
printf("Dia%d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//Agosto
if(mes==8){
if( (dia>=1) && (dia<=31) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//Setembro
if(mes==9){
if( (dia>=1) && (dia<=30) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//Outubro
if(mes==10){
if( (dia>=1) && (dia<=31) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//Novembro
if(mes==11){
if( (dia>=1) && (dia<=30) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
//Dezembro
if(mes==10){
if( (dia>=1) && (dia<=31) ) {
printf("Dia %d e Mes %d. Data valida!", dia,mes);
}
else{
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
if( (mes<1) || (mes>12) ){
printf("Dia %d e Mes %d. Data invalida!", dia,mes);
}
}
Ex 10
#include<stdio.h>
main(){
printf("Exercicio 10 \n \n");
int i;
float n1,n2,n3,media;
for( i=1 ; i <= 20 ; i++){ printf("Aluno %d \n", i);
printf("Digite a nota 1: ");
scanf("%f", &n1);
printf("Digite a nota 2: ");
scanf("%f", &n2);
printf("Digite a nota 3: ");
scanf("%f", &n3);
media = (n1+n2+n3)/3;
printf("A media do aluno %d e: %.2f \n \n", i,media);
}
}
Ex 11
#include<stdio.h>
main(){
printf("Exercicio 11 \n \n");
int i1,i2,i3,i4,i5,i6,i7,i8,i9,i10;
printf("Digite a primeira idade:");
scanf("%d", &i1);
printf("Digite a segunda idade:");
scanf("%d", &i2);
printf("Digite a terceira idade:");
scanf("%d", &i3);
printf("Digite a quarta idade:");
scanf("%d", &i4);
printf("Digite a quinta idade:");
scanf("%d", &i5);
printf("Digite a sexta idade:");
scanf("%d", &i6);
printf("Digite a setima idade:");
scanf("%d", &i7);
printf("Digite a oitava idade:");
scanf("%d", &i8);
printf("Digite a nona idade:");
scanf("%d", &i9);
printf("Digite a decima idade:");
scanf("%d", &i10);
int a,b,c,d,e,f,g,h,i,j,soma;
//A
if ( i1>=18 ){
a=1;
}
else{
a=0;
}
//B
if ( i2>=18 ){
b=1;
}
else{
b=0;
}
//C
if ( i3>=18 ){
c=1;
}
else{
c=0;
}
//D
if ( i4>=18 ){
d=1;
}
else{
d=0;
}
//E
if ( i5>=18 ){
e=1;
}
else{
e=0;
}
//F
if ( i6>=18 ){
f=1;
}
else{
f=0;
}
//G
if ( i7>=18 ){
g=1;
}
else{
g=0;
}
//H
if ( i8>=18 ){
h=1;
}
else{
h=0;
}
//I
if ( i9>=18 ){
i=1;
}
else{
i=0;
}
//J
if ( i10>=18 ){
j=1;
}
else{
j=0;
}
soma = a+b+c+d+e+f+g+h+i+j;
printf("A quantidade de pessoas maiores de idade e: %d", soma);
}
Ex 12
#include<stdio.h>
main(){
printf("Exercicio 12 \n \n");
int i;
for ( i=1 ; i<=1000 ; i++){
if(){
}
printf("A soma dos multiplos de 7 inferiores a 1000 e: %d", i);
}
}
Ex 13
#include <stdio.h>
main (){
int a;
printf("digite um numero:");
scanf("%d", &a);
//A
if ((a%a==0) && (a%1==0) && (a%2!=0) && (a%3!=0) && (a%5!=0)){
printf("numero primo \n");
if (a==2){
printf("numero primo \n");
}}
else{
printf("o numero nao e primo");
}
system("pause");
}
Ex 14
#include<stdio.h>
main(){
int a,id,faixa1=0,faixa2=0,faixa3=0,faixa4=0,faixa5=0;
float porc1,porc2,porc3,porc4,porc5;
for(a=0;a<15;a++){
printf("Digite a idade: ");
scanf("%d",&id);
if (id>=1&&id<=15){
faixa1++;
}else
if(id>=16&&id<=30){
faixa2++;
}else
if(id>=31&&id<=45){
faixa3++;
}else
if(id>=46&&id<=60){
faixa4++;
}else
if(id>60){
faixa5++;
}
}
porc1=(faixa1*100)/15; porc2=(faixa2*100)/15; porc3=(faixa3*100)/15; porc4=(faixa4*100)/15; porc5=(faixa5*100)/15;
printf("%d pessoas possuem entre 1 e 15 anos, total de %.2f%%
\n",faixa1,porc1);
printf("%d pessoas possuem entre 16 e 30 anos, total de %.2f%%
\n",faixa2,porc2);
printf("%d pessoas possuem entre 31 e 45 anos, total de %.2f%%
\n",faixa3,porc3);
printf("%d pessoas possuem entre 46 e 60 anos, total de %.2f%%
\n",faixa4,porc4);
printf("%d pessoas possuem mais de 60 anos, total de %.2f%%
\n",faixa5,porc5);
system("pause");
}
Ex 15
#include<stdio.h>
main(){
int x;
float b,i;
b=0;
printf("Digite um numero: ");
scanf("%d",&x);
for(i=1;i<=x;i++){
b=b+1.0/i;
}
printf("O numero harmonico de %d e %f! \n", x,b);
system("pause");
}
Ex 16
#include <stdio.h>
main(){
int saca,resu;
printf("quanto voce deseja sacar?");
scanf ("%d", &saca);
//2
if ((saca%2==0)){
resu=saca/2;
printf("resultado 2: %d notas\n",resu);
}
if ((saca%2!=0)){
resu=saca/2-saca%2;
printf("resultado 2: %d notas + %d reais \n",resu, saca%2);
}
//5
if (saca%5==0){
resu=saca/5;
printf("resultado 5: %d notas\n",resu);
}
if ((saca%5!=0)){
resu=saca/5;
printf("resultado 5: %d notas + %d reais\n",resu, saca%5);
}
//10
if (saca%10==0){
resu=saca/10;
printf("resultado 10: %d notas\n",resu);
}
if ((saca%10!=0)){
resu=saca/10;
printf("resultado 10: %d notas + %d reais\n",resu, saca%10);
}
//20
if (saca%20==0){
resu=saca/20;
printf("resultado 20: %d notas\n",resu);
}
if ((saca%5!=20)){
resu=saca/20;
printf("resultado 20: %d notas + %d reais\n",resu, saca%20);
}
//50
if (saca%50==0){
resu=saca/50;
printf("resultado 50: %d reais\n",resu);
}
if ((saca%50!=0)){
resu=saca/50;
printf("resultado 50: %d notas + %d reais\n",resu, saca%50);
}
//100
if (saca%100==0){
resu=saca/100;
printf("resultado 100: %d notas\n",resu);
}
if ((saca%100!=0)){
resu=saca/100;
printf("resultado 100: %d notas + %d reais\n",resu, saca%100);
}
else{
printf("favor digitar um numero par");
}
system("pause");
}
Ex 17
#include<stdio.h>
main(){
int a,i,quant,ant1,ant2;
printf("Digite a quantidade: ");
scanf("%d",&quant);
ant1=1;
printf("\n %d, ",ant1);
ant2=1;
printf("%d, ",ant2);
for (i=2;i<quant;++i){
a=ant1+ant2;
printf("%d, ",a);
ant1=ant2;
ant2=a;
}
printf("\n\n");
}