Pular para o conteúdo principal

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( input ( 'Informe o valor em metros: 

Lista - Exercícios resolvidos sobre recursividade em Linguagem C

Lista - Exercícios resolvidos sobre rotina recursiva - recursividade em Linguagem C  - recursividad en lenguaje C.

1° Exercício resolvido sobre recursividade em C

Faça uma rotina recursiva para calcular a somatória de todos os número de 1 a N (N será lido do teclado).

Observação: se N é igual a 5 por exemplo, A somatória dos números será igual a 15, ou seja, 1+2+3+4+= 15 .

 Solução 

#include<stdio.h>
#include<locale.h> /* Arquivo de cabeçalho que contém a declaração da função setlocale que nos permite mostrar na tela, os caracteres da língua Portuguesa como por exemplo ç , á, ã */
int soma_num(int num) 
{
   int resultado;
   if (num == 1) 
    {
      return (1);
    }
   else 
     {
        resultado = num + soma_num(num - 1);
      }
   return (resultado);
}

int main() 
{
   int num_N;
   int somatorio;
   
   setlocale(LC_ALL,"portuguese");

printf("\n\t Programa para calcular a somatória de todos os números de 1 a N:\n");  

   printf("\n Digite o número N : ");
   scanf("%d", &num_N); /*o número digitado vai ser guardado na memória*/
   somatorio = soma_num(num_N); /*A variável somatório está chamando a função soma_num*/ 
   printf("\n O somatório dos números de 1 até %d = %d \n", num_N, somatorio);

 return 0; 
}

2° Exercício resolvido - recursividad en lenguaje C

Crie um programa em Linguagem C que conte os dígitos de um determinado número usando recursão.

Observação: se o usuário inserir o número 250, a saída esperada deve ser : o número digitado tem 3 dígitos.

 Solução 

#include<stdio.h>

int num_digitos(int n1)
{
    static int cont=0;

     if(n1!=0)
     {
          cont++;
         num_digitos(n1/10);
     }

    return cont;
}

int main()
{
  int num,contador;
    printf("\n\t Programa para contar o numero de digitos :\n");
    printf(" Insira o numero : ");
    scanf("%d",&num);

    contador = num_digitos(num);

    printf("\n Quantidade de digitos = %d \n\n",contador);
 return 0; 
}

3° Exercício resolvido sobre recursividade em C 

Faça uma rotina recursiva em C para encontrar o fatorial de um número.

Por exemplo :
>> Digite o número: 5!               
>> Saída do dado : 5*4*3*2*1 = 120    

 Solução 

#include<stdio.h>

int factorial(int n)

{

   if(n==1)
       return 1;
   else

       return(n*factorial(n-1));
}

int main()

{

  int num,fat;

  printf("\n\t Fatorial de um numero :\n");
  printf("\n Insira o numero : ");
  scanf("%d",&num);

  fat=factorial(num);

  printf("\n O fatorial de %d = %d\n",num,fat);
 return 0; 

}

4° Exercício resolvido - recursividad en lenguaje C

Crie um programa que calcula o máximo divisor comum entre dois números usando a recursão.

Observação : Dois números naturais sempre têm divisores comuns. Assim, o máximo divisor comum entre os dois é o maior de seus divisores.

Exemplificando...os divisores comuns de 12 e 18 são 1,2,3 e 6. Dentre eles, 6 é o maior. Então, chamamos o 6 de máximo divisor comum de 12 e 18 e indicamos m.d.c.(12,18) = 6.

 Solução 

#include<stdio.h>


int mdc(int num1, int num2)

{
    if(num2 != 0)
       return mdc(num2, num1%num2);
    else 
       return num1;
}
 int main()
{
   int n1, n2,calc;
   printf("\n\t Digite dois numeros inteiros positivos: ");
   scanf("%d %d", &n1, &n2);
   calc=mdc(n1,n2);

   printf("\n O MDC entre %d e %d eh : %d", n1, n2,calc );

 return 0; 
}

5° Exercício resolvido

Escreva um programa em C para inverter uma string usando recursão.

Observação:
>> Digite a string: Huicode
>> Saída do dado : A string invertida é: edociuH 

 Solução 

#include<stdio.h>
#define MAX 75 

char* Inversao(char str1[])
{
    static int i=0;
    static char str_inv[MAX];
    if(*str1)
    {
         Inversao(str1+1);
         str_inv[i++] = *str1;
    }
    return (str_inv);
}

int main()
{

    char *str_invertida ,string1[MAX];
    printf("\n Insira uma string: ");
    scanf("%s",string1);

    str_invertida = Inversao(string1);

    printf("\n A string invertida eh: %s\n",str_invertida);
 return 0; 
}

6° Exercício resolvido usando recursividade em C

Escrever uma função recursiva que calcule o valor de a elevado a b.


Solução


Neste caso:
a - é a base;
b - é o expoente;


#include<stdio.h>
#include<locale.h>
/*criar o protótipo da função potência, ou seja, declarar a quantidade de parâmetros e os tipos de parâmetros */
float potencia(float base, float expoente); /*A função aceita dois números, ou seja, base(a) e expoente(b) . Ela vai calcular o valor da potência.*/
int main()
{
float a,b,resultado;
setlocale(LC_ALL,"Portuguese");
printf("Informe o valor de 'a' : "); 
scanf("%f",&a); 
printf("Informe o valor de 'b' : ");
scanf("%f",&b); 
/*Agora, vamos chamar a função potencia() com os argumentos a e b para fazer o cálculo*/
resultado = potencia(a,b);
printf("%.1f elevado a %.1f = %.2f",a,b,resultado); 
return 0;
}


float potencia(float base, float expoente)
{
 if(expoente == 0) /*Se o expoente for zero, a potência será igual a 1. Essa é uma das regras de potenciação*/
    {
     return 1;
    } 
   if(expoente>0) /* Se o expoente é positivo, então o potência  é = base*potencia(base, - expoente)*/
     {
       return (base * potencia(base,expoente - 1)); 
      }
     if(expoente<0) /* Se o expoente é negativo, então o potência  é = 1/potencia(base, - expoente)*/
      {
      return (1/potencia(base,-expoente));
     }
}

7° Exercício resolvido usando recursividade em C

Faça uma rotina recursiva para o problema da Torre de Hanói.

O problema da Torre de Hanói consiste de três pinos, A, B e C, denominados : origem, destino e trabalho, respectivamente, e n discos de diâmetros diferentes.

Inicialmente, todos os discos se encontram empilhados no pino origem, em ordem decrescente de tamanho, de baixo para cima. O objetivo é empilhar todos os discos no pino destino, atendendo às seguintes restrições:

  • Apenas um disco pode ser removido de cada vez.
  • Qualquer disco não pode ser jamais colocado sobre outro de tamanho menor.
 Solução 

#include<stdio.h>

 void moveDisco(int k, char origem[], char destino[]) 

{

 printf("\n move disco %3d da torre %10s para a torre %10s",

 k, origem, destino);

}

void hanoi(int n, char a[], char b[], char c[]) 

{

 if(n == 1) 
 moveDisco(1, a, b);
 else 

 {

 hanoi(n-1, a, c, b);

 moveDisco(n, a, b);

 hanoi(n-1, c, b, a);



 }

}

 int main() 

 {

 int n;

 char origem[10], destino[10], auxiliar[10];

 printf("\n Entre com o numero de discos:");

 scanf("%d", &n);

 printf("\n Entre com os nomes dos discos (origem destino auxiliar): \n");

 scanf("%s%s%s", origem, destino, auxiliar);
 hanoi(n, origem, destino, auxiliar);
 return 0; 
}


Os exercícios foram úteis? Seja gentil, comente aqui com a gente :)

Comentários

  1. Muito bom. Gostaria que fizessem em Java.

    ResponderExcluir
  2. Boa tarde. Poderia ter os códigos comentados nas resoluções. Algumas coisas pra iniciante ficam bem confusas.

    ResponderExcluir
  3. Pode fazer mais exemplos assim, me ajudou muito.

    ResponderExcluir
  4. Excelentes, bastante didáticos!

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( input ( 'Informe o valor em metros: 

Como abrir uma página da web utilizando Python?

Simples, você pode abrir páginas da Web de forma rápida, segura e fácil. Veja só, durante os estudos das bibliotecas padrão do Python descobri que para abrir um navegador web a partir de um script, devo importar o módulo webbrowser. Em seguida, usar webbrowser.open () que vai receber o link que quero abrir como argumento e executar o serviço, ou seja, basta inserir um endereço do youtube nele, na verdade pode ser qualquer link que você desejar. Exemplo webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Para funcionar temos que importar o módulo webbrowser, que vai ser a maneira de dizer ao python que queremos usar webbrowser e todas as suas funcionalidades no programa. import webbrowser webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Funcionooou, uhuhu. Nem parece, mas o módulo webbrowser é um módulo muito empregado em projetos de sites de filmes. Tem muitas utilidades, acredite.

CÁLCULO DA ÁREA DE UM TRIÂNGULO - LINGUAGEM C

Escreva um programa para calcular a área de um triângulo, sendo dados a sua base e a  sua altura. A = (B*H)/2 Solução #include <stdio.h> int main() {   // Variáveis  float area,base,altura;  // Entrada de Dados  printf( "\n Informe a base do triângulo: " );  scanf( "%f" ,&base);  printf( "\n Informe a altura do triângulo: " );  scanf( "%f" ,&altura);   // Processamento dos dados  area=(base*altura)/2;  // Exibição do resultado  printf( "\n Area do triângulo=%.1f\n" ,area);   return 0; }