Publicidade cabeçário

sexta-feira, 8 de fevereiro de 2013

C++ Estrutura de Dados - Revisão

E ai galera esse vai ser o primeiro post sobre o conteúdo aplicado em aula, no caso na de ontem 07/02/2013 ;D. Foi uma revisão do que vimos em LPI, então mãos a obra.

Revisão de Vetor 


declaração de um vetor: 
int x[5];                                       

x[0] = 5; lê-se vetor x de índice zero vale cinco. 



Pra você estudar antes ou depois de dar vaza no carnaval kkk ;DDD

1) Escrever um algoritmo que irá gerar e exibir todos os números entre 100 e 200.


#include <stdio.h>
#include <conio.h>

/*
** 1) Escrever um algoritmo que irá gerar e exibir todos os números entre 100 e 200
***
*/

main(){
       for(int cont=100; cont <= 200; cont++ ){
               printf("%d \n",cont);
               }//fim for
       getch();
       } //fim main

programinha bem simples como vocês podem ver, sem maiores problemas... Só inicializar o contador no número desejado no caso 100 e terminar no 200 

Exemplo de intervalo entre dois números quaisquer
Exemplo de intervalo entre dois números quaisquer
fonte da imagem: bdfatec.blogspot.com.br

2) Imprimir o intervalo de dois números de dois números informados pelo usuário.  


#include <stdio.h>
#include <conio.h>

/*
** 2) Imprimir o intervalo entre dois números digitados pelo usuário!
***
*/

main(){
       int iNum1,iNum2;
/*************************Declarando variáveis**********************************************************/       

      printf("\n\t Digite um numero qualquer.: ");
       scanf("%d",&iNum1);
       
       printf("\n\t Digite outro numero qualquer.: ");
       scanf("%d",&iNum2);
/**************************Pegando os números do usuário*******************************************/
       
       if(iNum1 > iNum2){
       for(int cont=iNum2; cont <= iNum1; cont++ ){
               printf("%d \n\t",cont);
               }//fim for
       }else
       for(int cont=iNum1; cont <= iNum2; cont++ ){
                printf("%d \n\t",cont);
               }//fim for
/************************Teste lógico para imprimir na ordem certa*********************************/

       getch();
       } //fim main


Programa simples também, aqui o único cuidado é saber qual dois números é o maior, para depois poder mostrar o intervalo. 
Mostra intervalo entre dois números quaisquer
fonte da imagem: bdfatec.blogspot.com.br
3) Escreva um programa que receba ene números do usuário até que seja digitado zero. 

#include <stdio.h>
#include <conio.h>

/*
** 3) Escreva um programa que receba ene números do usuário até que seja digitado zero.
***
*/

main(){
       int iNum;
/*************************Declarando variáveis**********************************************************/       

       do{
       printf("\n\t Digite um numero qualquer.: ");
       scanf("%d",&iNum);
/**************************Pegando o número do usuário**********************************************/

       if(iNum == 0)break; //termina com o laço quando a expressão for verdadeira
/************************Teste lógico para terminar a execução na hora certa *********************/ 
   
        }while(iNum != 0);
 
       } //fim main
Nesse programa a ideia é deixar um laço até que seja digitado o número zero. Com o auxilio do comando break é possível sair da execução após isso!

Exemplo de uso do comando break
Exemplo de uso do comando break
fonte da imagem: bdfatec.blogspot.com.br
4) Usar a mesma lógica do exercício anterior, mas ao digitar o zero deve ser exibido a soma de todos os valores digitados. 


#include <stdio.h>
#include <conio.h>

/*
** 4)Usar a mesma lógica do exe. anterior, mas ao digitar zero deve ser exibido a 
soma de todos os valores digitados.
***
*/

main(){
       int iNum, iSoma=0;
/*************************Declarando variáveis**********************************************************/       

       do{
       printf("\n\t Digite um numero qualquer.: ");
       scanf("%d",&iNum);
/**************************Pegando o número do usuário**********************************************/

       if(iNum == 0)break;
/************************Teste lógico para terminar a execução na hora certa *********************/ 

       iSoma+=iNum;
/************************Acumulador de valores*******************************************************/ 

       }while(iNum != 0);
       printf("\n\t O valor da soma dos numeros digitados e: %d", iSoma);
       getch();
       } //fim main
Praticamente igual ao anterior, exceto pelo uso do acumulador, que nada mais é uma variável que a cada iteração aumenta seu valor adicionando o que já possui com outra variável.

Exemplo de uso de um acumulador
Exemplo de uso de um acumulador
fonte da imagem: bdfatec.blogspot.com.br
5) Criar um vetor de números inteiros com 10 posições. Preencher e exibir o vetor de traz pra frente. 
#include <stdio.h>
#include <conio.h>

/*
** 5)Criar um vetor de inteiros com 10 posições. Preencher e exibir o vetor de 
trás pra frente.
***
*/

main(){
       int iVetor[10];
/*************************Declarando variáveis**********************************************************/       
       for(int i=0; i <10; i++){
       printf("\n\t Digite um numero qualquer.: ");
       scanf("%d",&iVetor[i]);
       }//fim for 
/**************************Pegando os valores para o vetor*******************************************/


       for(int i=9; i >= 0; i--){
       printf("\n\t %d ",iVetor[i]);
       }//fim for
/**************************Apresentando o vetor de traz pra frente************************************/
       
       getch();
       } //fim main
Trabalhando com vetores, é muito comum o uso de laços condicionais, no caso o for para preencher e exibir. 
Exemplo de inversão de vetores
Exemplo de inversão de vetores
fonte da imagem: bdfatec.blogspot.com.br

6) Criar um vetor de números inteiros com 7 posições. Preencher e depois exibir os valores ímpares. 


#include <stdio.h>
#include <conio.h>

/*
** 6)Criar um vetor de inteiros com 7 posições. Preencher e exibir o valores impares.
***
*/

main(){
       int iVetor[7];
/*************************Declarando variáveis**********************************************************/       

       for(int i=0; i <7; i++){
       printf("\n\t Digite um numero qualquer.: ");
       scanf("%d",&iVetor[i]);
       }//fim for 
/**************************Pegando os valores para o vetor*******************************************/
    
       printf("\n\t Os numeros impares digitados foram.:");
       for(int i=0; i < 7; i++){
       if(iVetor[i]%2 != 0)
       printf("\n\t %d ",iVetor[i]);
       }//fim for

/**************************Logica para imprimir  somente os impares********************************/    
       getch();
       } //fim main

Para achar números pares ou ímpares utilizamos o  % (operador módulo), que nos devolve o resto de uma divisão. Assim quando sobra 1 é número impar, quando sobra 0 é número par. 


Exemplo de utilização do operador módulo
Exemplo de utilização do operador módulo
fonte da imagem: bdfatec.blogspot.com.br
E pra finalizar vamos ao nosso bônus games ;DDDD cálculo de número primo


Foto retirada de roundclear.blogspot.com


7) Solicitar um número inteiro do usuário e informar se este é um número primo. 

#include <stdio.h>
#include <conio.h>

/*
** 7)Solicitar um números inteiro do usuário e informar se este número é primo 
ou não.
***
*/

main(){
       int i=1,iNum,cont=0;
/*************************Declarando variáveis**********************************************************/    
     
       printf("\n\t Digite um numero qualquer:");
       scanf("%d",&iNum);
/**************************Pegando o numero do usuário**********************************************/    
   
      while(i <= iNum){
       if((iNum % i) == 0)cont++;
       i++;      
      }//fim while
/**************************Logica para definir se é primo ou não o número**************************/    
    
      if(cont == 2) printf("\n\t O numero digitado e primo");
      else printf("\n\t O numero digitado nao e primo");
/**************************Logica para imprimir quem é primo ou não********************************/  
       getch();
       } //fim main
Exemplo de programa para calculo de número primo
Exemplo de programa para calculo de número primo
fonte da imagem: bdfatec.blogspot.com.br

Programa interessante, primeiro a lógica, número primo é aquele que tem dois divisores comuns, logo o número 1 não é primo e o número 2 é o único número primo par ;DDD
Bom é isso espero que tenham gostado, não se preocupem com a lógica, existem várias maneiras de fazer, é só praticar.... bom carnaval a todos!


Por hoje é só pessoal Tchauu

fonte: < Profº Jean Daniel - Aula de Estrutura de Dados 07/02/2013 >
adaptado: arroyo, gabriel
Gostou do blog? Então segue =D 
Gostou da postagem? Então comenta ;DDD 

Fique por dentro das atualizações