terça-feira, 11 de março de 2014

Algoritmos resolvidos em C

Algoritmos resolvidos
se eu ajudei uma alma desesperada, compartilhe a postagem com seus amigos.
algorimos em c
 
Problema 1:
/* Faça  um  programa  de  calculadora  simples  com  as  seguintes  operações  possíveis:
adição, subtração, multiplicação e divisão. O programa inicia  apresentando ao usuário
um menu de opções como mostrado abaixo:
**********************************************************************
* Calculadora. Opções possíveis:
* 1. Adição
* 2. Subtração 
* 3. Multiplicação
* 4. Divisão
* 5. Sair do programa
*********************************************************************
Entre com sua opcao:
Crie  uma  função  que  apresenta  o  menu  inicial  acima  e  retorna  a  opção  do
usuário para o programa principal.  Esta opção é então analisada e o programa principal
chama  as  funções  de  adição,  subtração,  multiplicação  e  divisão  conforme  a  opção do
usuário.
Se a opção for inválida, informe ao usuário e peça a ele para entrar com uma
opção válida.
Após a execução da operação o programa volta a apresentar o menu inicial até
que o usuário encerre o programa com a opção 5. */


Resposta:

#include<stdio.h>
#include<stdlib.h>
int op,n1,n2,resultado;
void menu (void);
void entrada(void);
void soma(void);
void subtracao(void);
void multiplicacao(void);
void divisao (void);
main(){

    while (op=!0){ // enquanto opcao digitada for diferente de 5 ele vai execultar o menu
    menu();

    switch(op){
           
        case 1: soma(); break;
        case 2: subtracao(); break;
        case 3: multiplicacao();break;
        case 4: divisao(); break;
        case 5: exit(1); break;
         printf("Opcao invalida, digite outro numero 1 - 5");
    }
    }
   
    system("pause>>0");
   
}
 void menu(void){
     printf("* CALCULADORA - OPCOES DISPONIVEIS:\n");
     printf("1- Adicao\n");
     printf("2- Subtracao\n");
    printf("3- Multiplicacao\n");
    printf("4 - Divisao\n");
    printf("5 - Sair\n");
    printf("Digite uma das opcoes acima\n");
    scanf("%d",&op);
 }
  void entrada (void){
      printf("Digite o primeiro numero");
       scanf("%d",&n1);
      printf("Digite o segundo numero");
       scanf("%d",&n2);
  }
  void soma (void){
      entrada();
      resultado=n1+n2;
      printf("O Resultado da soma eh%d:\n",resultado);
  }
   void subtracao (void){
       entrada();
       resultado=n1-n2;
       printf("O Resultado da subtracao eh%d:\n:n",resultado);
   }
   void multiplicacao (void){
       entrada();
       resultado=n1*n2;
       printf("O Resultado da multiplicacao eh%d:\n",resultado);
   }
    void divisao (void){
        entrada();
       resultado=n1/n2;
       printf("O Resultado da divisao eh%d:\n",resultado);
   }

Problema 2
/*3.  Escreva  um  programa  para  ler  uma  temperatura  em  graus  Fahrenheit.  Faça  uma
função  chamada  celsius  para  calcular  e  retornar  o  valor  correspondente  em  graus
Celsius.
Fórmula: C = ((F-32)/9)*5 */


Resposta :
#include<stdio.h>
#include<stdlib.h>
 float f;
 float C;
 void celsius(void); // funcao

 main(void){ // usando o printf dentro da main e em seguida o chamado da funcao
     printf("Digite a temperatura em Graus Fahrenheit:  ");
      scanf("%f",&f);// float pq poderá ser valores picados
      celsius();
     system("pause>>0");
 }
     void celsius (void){ // funcao que ira calcular e fazer a conversao de temperaturas
         C = ((f-32)/9)*5; // logica que fara a conversao
          printf("A temperatura convertida em Celsius e de:2.%f",C);
     }

Problema 3

/*7. Faça um programa para calcular o Fatorial de um número. Para o cálculo do  fatorial,
sabemos que N! depende de (N-1)!; este por sua vez depende de (N-2)!;  e, assim por
diante,  até  que  N  seja  1,  quando  então  tem-se  que  fatorial  de  1  é  igual  a  1  mesmo.
Utilize uma função que recebe como parâmetro de  entrada o  número a ser calculado o
fatorial, do tipo inteiro, e retorna o fatorial deste número, também do tipo inteiro. */


Resposta:

#include<stdlib.h>
#include<stdio.h>
void entrada(void);
int fat (int n);
int num=1,i;
int fatorial=1;
main(void){
int f=0;
entrada();
f=fat(num);
printf("O fatorial e: %d",f);
system("pause>>0");

}
void entrada(void){
  //void entrada(int fatorial){
printf("Digite um numero para se calcular o fatorial:\n");
scanf("%d",&num);
}//dividmos o que voc? fez em dois a de entrada de dados e agora a do fatorial

int fat(int n){

while ( n>0)
 {

fatorial=fatorial*n;
n=n-1;

}

  //printf("O fatorial deste numero e%d:\n",fatorial);
  return fatorial;
  }
Problema 4
/*6. Escreva um programa para ler o número de lados de um polígono regular e a  medida
do lado (em cm). Faça um procedimento que receba como parâmetro o número de lados
e a medida do lado deste polígono e calcule e imprima o seguinte:
- Se o número de lados for igual a 3, escrever TRIÂNGULO e o valor do seu perímetro.
- Se o número de lados for igual a 4, escrever QUADRADO e o valor da sua área.
- Se o número de lados for igual a 5, escrever PENTÁGONO.
Observação: Considere que o usuário só informará os valores 3, 4 ou 5*/


Resposta:

#include<stdio.h>
#include<stdlib.h>
int lado,ladob,ladoc;
float cm,valor1,valor2;
void mensagem(void);
float calculo(float medidas);
float calculob(float medidasb);
float calculoc(float medidasc);
main(void){
    mensagem();
    if(lado==3)//chamada da condicao if dentro da main, dessa maneira nao precisa criar a condicao na funcao
        calculo(lado);
    else if (lado==4)
        calculob(ladob);
    else if (lado==5)
        calculoc(ladoc);
    else
       printf("Lado invalido!");
      
   
    system("pause>>0");
}


 void mensagem(void){
     printf("Digite a quantidade de lados deste poligono:\n");
      scanf("%d",&lado);
       printf("Digite o tamanho do lado (em cm)");
        scanf("%f",&cm);
 }
  float calculo(float medidas){
     
          valor1=3*cm;
       printf("O poligono e um triangulo %5.2f:\n",valor1);
     
     
  }
  float calculob (float medidasb){
      valor2=cm*cm;
       printf("O poligono e um quadrado %5.2f:\n",valor2);
  }
   float calculoc(float medidasc){
       printf("Este poligono é um pentagono");
   }
 Problema 5
/*8. Escreva uma função que lê um caractere digitado pelo usuário e retorna este caractere
somente se ele for igual a 'S' ou 'N'. Se o caractere não for nem 'S' nem  'N', a função
imprime  a  mensagem  'Caractere  inválido.  Digite  novamente'.  Use  esta função  em um
programa  que  fica  lendo  do  usuário  um  número  qualquer  e  imprime  este  número  ao
cubo  na  tela.  O  programa  deve  ficar  lendo  os  números  até  o  usuário  responder  'N'  à
pergunta se ele deseja continuar ou não*/


Resposta

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int num,cubo;
char op[2];
void entrada(void);
void pergunta(void);
void condicao(void); //n?o tinha sido declarada


main(void){

entrada();
//pergunta();


system("pause>>0");

}
void entrada(void){
printf("Digite um numero inteiro:\n");
scanf("%d",&num);
cubo=num*num*num;
printf("O valor do cubo deste numero e :%d\n",cubo);
    pergunta();
    condicao();
}
void pergunta(void){
printf("Deseja continuar?\n");
scanf("%s",op);

}

void condicao(void){
if(strcmp(op,"s")==0){

printf("Digite um numero inteiro:\n");
scanf("%d",&num);
cubo=num*num*num;
printf("O valor do cubo deste numero e :%d\n",cubo);
   pergunta();
   condicao();
}
else if (strcmp(op,"n")==0){
     printf("Fim da execucao");
}

}
Share this article

0 comentários:

Postar um comentário

 
Copyright © 2014 Ativando o Office • All Rights Reserved.
Template Design by BTDesigner • Powered by Blogger
back to top