Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro

Alpha Servers
Resultados 1 a 6 de 6

Visão do Encadeamento

  1. #1



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    30
    Posts
    1.085
    Agradecido
    50
    Agradeceu
    30
    Peso da Avaliação
    25

    Post [Explicação]+[Código C] PA e PG Utilizando Funções

    Olá galera IMP,
    Hoje tava olhando um código que fiz na materia de Liguagem C da faculdade e resolvi postar para vocês entenderem um pouco sobre o Funções, Progressão Geométrica e Progressão Aritmética...

    Teoria Basica:

    1ª O Que é uma Progressão Geométrica:

    Uma progressão geométrica (abreviadamente, P. G.) é uma sequência numérica em que cada termo, a partir do segundo, é igual ao produto do termo anterior por uma constante, chamada de razão da progressão geométrica. Ex1,2,4,8,16,32,64,128,256,512,1024,2048), em que Razão = 2, Valor Inicial = 1 e Número de Elementos = 12;

    1ª O Que é uma Progressão Aritmética:

    Uma progressão aritmética (abreviadamente, P. A.) é uma sequência numérica em que cada termo, a partir do segundo, é igual à soma do termo anterior com uma constante, chamada de razão da progressão aritmética. Ex2,4,6,8,10), em que Razão = 2, Valor Inicial = 2 e Número de Elementos = 5;

    Agora vamos ver basico das Funções:

    Conjunto de comandos agrupados em um bloco que recebe um nome e através deste pode ser ativado.. Sua sintaxe é:



    Tipo_da_função nome_da_função (tipo var1, tipo var2,...,tipo varN) <- Lista_de_Parametros

    {

    // corpo da função

    }

    O tipo da função pode ser qualquer um dos mostrados até agora e representa o tipo do dado que é retornado pela função. Caso a função não retorne nenhum valor dizemos que ela é do tipo void. E caso não seja especificado nenhum tipo, por padrão a função retorna um inteiro. Mas é importante lembrar que sempre se deve declarar o tipo da função garantindo assim maior portabilidade. Entre parênteses estão os parâmetros da função que é constituído pelos nomes das variáveis que se deseja passar para função separados por virgulas e acompanhados de seus respectivos tipos, como mostra a sintaxe acima. No caso da função não conter parâmetros a lista de parâmetros será vazia, mas mesmo assim será necessário utilizar os parênteses. No corpo da função vem o código em C, este código é privativo da função, ou seja, nenhuma outra função poderá acessa-la com nenhum comando, exceto por meio de uma chamada a função. Isso quer dizer que o código da função não pode afetar outras partes do programa, a menos que sejam utilizadas variáveis Globais. Isto porque as variáveis contidas em uma função são locais, só existem naquela função. Essas variáveis são criadas quando entram na função e destruídas ao sair.

    Porque usar funções ?

    Para permitir o reaproveitamento de código já construído(por você ou por outros programadores);
    Para evitar que um trecho de código que seja repetido várias vezes dentro de um mesmo programa;
    Para permitir a alteração de um trecho de código de uma forma mais rápida. Com o uso de uma função é preciso alterar apenas dentro da função que se deseja;
    Para que os blocos do programa não fiquem grandes demais e, por conseqüência, mais difíceis de entender;
    Para facilitar a leitura do programa-fonte de uma forma mais fácil;
    Para separar o programa em partes(blocos) que possam ser logicamente compreendidos de forma isolada.

    Creditos da Teoria Basica:

    - Minha Professora (Luciana Lee);
    - João Neto;
    - Wikipédia;
    - Puc;



    Exercício: (Apresentado Pela Minha Professora && Realizado Pelo Aluno João Neto (EU)

    Item 1 - Escreva uma Função que recebe o primeiro elemento de uma progressão aritmética e a razão e imprime na tela os N primeiros elementos, sendo que o valor de N deve ser pedido ao usuario dentro da função.

    Item 2 - Escreva uma Função que calcula à soma dos N primeiros elementos de uma progressão aritmética. A função deve receber como parâmetro o primeiro elemento da sequência, razão e o valor de N deve ser perdido ao usuario dentro da função.

    Item 3 - Escreva uma Função que recebe o primeiro elemento de uma progressão geométrica e a razão e imprime na tela os N primeiros elementos, sendo que o valor de N deve ser pedido ao usuario dentro da função.

    Item 4 - Escreva uma Função que calcula à soma dos N primeiros elementos de uma progressão geométrica. A função deve receber como parâmetro o primeiro elemento da sequência, razão e o valor de N deve ser perdido ao usuario dentro da função.

    Desenvolvimentos - Escreva à Função Principal que forneça as seguintes opções:

    * Imprimir uma PA;
    * Calcular à Soma de uma PA;
    * Imprimir uma PG;
    * Calcular à Soma de uma PG;
    * Sair;
    Para cada opção devem ser lidos às informações necessarias.

    Código:
    /* Exercício Resolvido Por João Neto */
    #include <stdio.h>
    #include <stdlib.h>
    
    float PG (float num, float raz)
    {
    
    int n = 0;
    int x;
    
    printf("Digite O Valor de N: \n");
    scanf("%d", &n);
    
    if(raz>0){
    for(x=0;x<n;x++){
    printf("%f \n", num);
    system("Pause");
    num = num * raz;
    }
    }
    
    if(raz<0){
    for(x=0;x<n;x++){
    printf("%f \n", num);
    system("Pause");
    num = num * raz;
    }
    }
    
    return num;
    }
    
    float SomaPG (float num, float raz)
    {
    
    int n = 0;
    int soma = 0;
    int x;
    
    printf("Digite O Valor de N: \n");
    scanf("%d", &n);
    
    if(raz>0){
    for(x=0;x<n;x++){
     soma = soma+num;
     num = num * raz;
    }
    }
    
    if(raz<0){
    for(x=0;x<n;x++){
     soma = soma+num;
     num = num * raz;
    }
    }
    
    return soma;
    }
    
    float PA (float num, float raz)
    {
    
    int n = 0;
    int x;
    
    printf("Digite O Valor de N: \n");
    scanf("%d", &n);
    
    if(raz>0){
    for(x=0;x<n;x++){
    printf("%f \n", num);
    system("Pause");
    num = num+raz;
    }
    }
    
    if(raz<0){
    for(x=0;x<n;x++){
    printf("%f \n", num);
    system("Pause");
    num = num-raz;
    }
    }
    
    return num;
    }
    
    float SomaPA (float num, float raz)
    {
    
    int n = 0;
    int soma = 0;
    int x;
    
    printf("Digite O Valor de N: \n");
    scanf("%d", &n);
    
    if(raz>0){
    for(x=0;x<n;x++){
     soma = soma+num;
     num = num+raz;
    }
    }
    
    if(raz<0){
    for(x=0;x<n;x++){
     soma = soma+num;
     num = num-raz;
    }
    }
    
    return soma;
    }
    
    
    int main (){
    
    float num, raz;
    float soma;
    int op = 0;
    
    while(op != 5){
    printf("Menu:\n 1)Imprimir uma PA\n 2)Soma de N Elementos da PA\n 3)Imprimir uma PG\n 4)Soma de N Elementos da PG\n 5)Sair \n Opcao:");
    scanf("%d", &op);
    
    if(op == 1){
    printf("Digite o Primeiro Elemento da PA: \n");
    scanf("%f", &num);
    
    printf("Digite a Razao da PA: \n");
    scanf("%f", &raz);
    
    num = PA(num,raz);
    }
      
    if(op == 2){
    printf("Digite o Primeiro Elemento da PA: \n");
    scanf("%f", &num);
    
    printf("Digite a Razao da PA: \n");
    scanf("%f", &raz);
    
    soma = SomaPA(num,raz);
    
    printf("Soma dos N Primeiros Elementos:\n%f \n", soma);
    system("Pause");
    }
    
    if(op == 3){
    printf("Digite o Primeiro Elemento da PG: \n");
    scanf("%f", &num);
    
    printf("Digite a Razao da PG: \n");
    scanf("%f", &raz);
    
    num = PG(num,raz);
    }      
    
    if(op == 4){
    printf("Digite o Primeiro Elemento da PG: \n");
    scanf("%f", &num);
    
    printf("Digite a Razao da PG: \n");
    scanf("%f", &raz);
    
    soma = SomaPG(num,raz);
    
    printf("Soma dos N Primeiros Elementos:\n%f \n", soma);
    system("Pause");
    }     
    
    if(op == 5){
    printf("Fim do Programa!\n");
    system("Pause");
    }
    
    if(op>5 || op<1){
    printf("Opcao Invalida!\n");
    printf("\a");
    system("Pause");
    }
    }
    
    return 0;
    }

    Espero que gostem...

    Atenciosamente,
    João Neto.
    Última edição por João Neto; 09-10-2012 às 02:00 PM.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Tutorial| [Código Java] PA e PG Utilizando Funções
    Por João Neto no fórum Java
    Respostas: 0
    Último Post: 07-01-2014, 04:28 PM
  2. |Tutorial| [Explicação]+[Código Java] Switch Case e Default
    Por João Neto no fórum Java
    Respostas: 1
    Último Post: 22-02-2013, 05:14 PM
  3. |Tutorial| Utilizando/Instalando o IIS em seu Computador(Windows Seven)
    Por Ayrton Ricardo no fórum Tutoriais
    Respostas: 0
    Último Post: 16-11-2012, 05:50 PM
  4. |Tutorial| [Explicação]+[Código C] Calculadora Basica em Case
    Por João Neto no fórum C
    Respostas: 10
    Último Post: 03-09-2012, 01:09 AM
  5. Respostas: 5
    Último Post: 21-04-2012, 02:12 AM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •