SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
LINGUAGEM C - AULA 07 1 DE 4
Linguagem C– Aula 07 – Prof. Wellington Telles
Ordenação
Pelo nome significa colocar em ordem. Há vários métodos de ordenação e o que muda de um para outro é o tempo
de ordenação que pode variar de acordo com tipo de dado a ser ordenado.
Bubble-Sort
Que é o método de bolha aonde consiste em comparar o primeiro dado com o segundo e um sendo maior que o
outro a posição é trocada.
7
POSIÇÃO NO VETOR 0 1 2 3 4 5 6
DADOS NO VETOR 5 2 9 1 5 0
COMPARA 7 > 5
VERDADEIRO, ENTÃO TROCA DE POSIÇÃO
75 2 9 1 5 0
COMPARA
5 > 2 VERDADEIRO, ENTÃO TROCA DE POSIÇÃO
7 52 9 1 5 0
COMPARA
2 > 9
FALSO, ENTÃO NÃO TROCA
7 52 9 1 5 0
COMPARA
2 > 1 VERDADEIRO, ENTÃO TROCA DE POSIÇÃO
7 5 291 5 0
COMPARA
1 > 5 FALSO, ENTÃO NÃO TROCA
7 51 9 2 5 0
COMPARA
VERDADEIRO, ENTÃO TROCA DE POSIÇÃO1 > 0
7 50 9 2 5 1
LINGUAGEM C - AULA 07 2 DE 4
Dessa forma foi possível ajustar o menor valor na primeira posição do vetor (posição zero). Para ordenar os demais
valores vamos precisar de uma segunda estrutura de repetição que comece com segunda posição do vetor (posição
um) e assim que a segunda estiver em posição passamos a terceira e as demais.
O código-fonte do programa fica da seguinte maneira:
#include <stdio.h>
#include <stdlib.h>
#define tamanho 10
int main(int argc, char *argv[]) {
int vetor[tamanho];
int i, j, aux;
printf("Entre com os dez valores:n");
for (i=0;i<tamanho-1;i++) //Entrada
scanf("%d",&vetor[i]);
for (i=0;i<tamanho;i++)// Mostra o Vetor
printf("%d ",vetor[i]);
printf("n"); // Pula uma linha
// Ordenação Bubble Sort
for (i=0;i<tamanho-1;i++){
for (j=(i+1);j<tamanho;j++)
{
if (vetor[i]>vetor[j]){
aux = vetor[i];
vetor[i] = vetor[j];
vetor[j] = aux;
}
}
}
for (i=0;i<tamanho;i++)// Mostra o Vetor
printf("%d ",vetor[i]);
return 0;
}
LINGUAGEM C - AULA 07 3 DE 4
Sortear um número – Valores Aleatórios
O sorteio de um número é também chamado número ALEATÓRIO
A função que faz o sorteio se chama: rand
O valor aleatório fica na faixa entre 0 e RAND_MAX que é definido dentro da biblioteca stdlib.h
Por ao sortearmos um número devemos dar um % para pegar o resto da divisão do número gerado por rand()
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i;
printf("Gerando 10 valores aleatorios:nn");
for (i = 0; i < 10; i++)
{
/* gerando valores aleatórios entre zero e 100 */
printf("%d ", rand() % 100);
}
getch();
return 0;
}
Perceba que ao sortear, sempre os mesmos números são sorteados. Resolvendo isso:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>//necessário p/ função time()
int main(int argc, char *argv[]) {
int i;
printf("Gerando 10 valores aleatorios:nn");
srand(time(NULL));
for (i = 0; i < 10; i++)
{
/* gerando valores aleatórios entre zero e 100 */
printf("%d ", rand() % 100);
}
getch();
return 0;
}
LINGUAGEM C - AULA 07 4 DE 4
Funções
Funções são as estruturas que permitem ao usuário separar seus programas em blocos. Se não as tivéssemos, os
programas teriam que ser curtos e de pequena complexidade. Para fazermos programas grandes e complexos temos
de construí-los bloco a bloco.
#include <stdio.h>
#include <stdlib.h>
int quadrado (int a)
{
return (a*a);
}
int main(int argc, char *argv[]) {
int numero, resposta;
printf("Entre com um numero: ");
scanf ("%d",&numero);
resposta=quadrado(numero);
printf("O quadrado de %d vale: %d",numero, resposta);
return 0;
}
No programa acima foi criada a função quadrado que tem por objetivo elevar um número ao quadrado.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int dado()
{
return (1 + rand()%6);
}
int main(int argc, char *argv[]) {
srand(time(NULL));
int i;
int dados[9]; // de 0 a 9
for (i = 0; i < 10; i++)
dados[i] = dado();
// Mostra os dados
for (i = 0; i < 10; i++)
printf("Dado numero %d tem o valor %dn",i,dados[i]);
return 0;
}
Esse programa sorteio um dado e grava em um vetor.
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
int main(int argc, char *argv[]) {
gotoxy(10,5);
printf("Posicionar cursor");
return 0;
}

Contenu connexe

Tendances

Comparando dois números
Comparando dois númerosComparando dois números
Comparando dois númerosnataferraz
 
Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando CVinícius Hax
 
Linguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoLinguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoRegis Magalhães
 
Questao.1
Questao.1Questao.1
Questao.1Utyiama
 
Questao.4
Questao.4Questao.4
Questao.4Utyiama
 
Revisão - Funções
Revisão - FunçõesRevisão - Funções
Revisão - Funçõesthomasdacosta
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisãoEvelyneBorges
 
Questao.2
Questao.2Questao.2
Questao.2Utyiama
 
Introdução a linguagem c 2_97_2003
Introdução a linguagem c  2_97_2003Introdução a linguagem c  2_97_2003
Introdução a linguagem c 2_97_2003Henoc Freire
 
Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02thomasdacosta
 
Gabarito funcoes
Gabarito funcoesGabarito funcoes
Gabarito funcoesbferes
 
Linguagem c wellington telles - aula 05
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05profwtelles
 
Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04thomasdacosta
 
Programação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código FonteProgramação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código Fontethomasdacosta
 

Tendances (18)

Comparando dois números
Comparando dois númerosComparando dois números
Comparando dois números
 
Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando C
 
Linguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoLinguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De Decisao
 
Questao.1
Questao.1Questao.1
Questao.1
 
Questao.4
Questao.4Questao.4
Questao.4
 
Linguagem C 09 Ponteiros
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
 
Revisão - Funções
Revisão - FunçõesRevisão - Funções
Revisão - Funções
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Questao.2
Questao.2Questao.2
Questao.2
 
Introdução a linguagem c 2_97_2003
Introdução a linguagem c  2_97_2003Introdução a linguagem c  2_97_2003
Introdução a linguagem c 2_97_2003
 
Linguagem C 06 Funcoes
Linguagem C 06 FuncoesLinguagem C 06 Funcoes
Linguagem C 06 Funcoes
 
Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02
 
Gabarito funcoes
Gabarito funcoesGabarito funcoes
Gabarito funcoes
 
Linguagem c wellington telles - aula 05
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05
 
Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04
 
Ling c
Ling cLing c
Ling c
 
Programação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código FonteProgramação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código Fonte
 
06 algoritmo
06   algoritmo06   algoritmo
06 algoritmo
 

Similaire à Linguagem c wellington telles - aula 07

Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6engenhariadecomputacao
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfEnio Filho
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++Verônica Veiga
 
Programação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaProgramação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaElaine Cecília Gatto
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a TestesGregorio Melo
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoRafael Ponte
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CAdriano Teixeira de Souza
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesElaine Cecília Gatto
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funçõesCarla Lee
 
Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Adriano Teixeira de Souza
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1Isaac Barros
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptxzarusca
 
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.pptALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppttridapalliadriana
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 

Similaire à Linguagem c wellington telles - aula 07 (20)

Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Modulo02
Modulo02Modulo02
Modulo02
 
Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 
Programação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaProgramação Desktop: Revisão Core Java
Programação Desktop: Revisão Core Java
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
 
Lista c
Lista cLista c
Lista c
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
 
Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptx
 
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.pptALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
ALGARÍTIMO 11 - Lacos de Repeticao-FOR.ppt
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 

Plus de profwtelles

Arduino - Parte 3.pdf
Arduino - Parte 3.pdfArduino - Parte 3.pdf
Arduino - Parte 3.pdfprofwtelles
 
Arduino - Parte 2.pdf
Arduino - Parte 2.pdfArduino - Parte 2.pdf
Arduino - Parte 2.pdfprofwtelles
 
Arduino - Parte 1.pdf
Arduino - Parte 1.pdfArduino - Parte 1.pdf
Arduino - Parte 1.pdfprofwtelles
 
Aula teoria semicondutor
Aula teoria semicondutorAula teoria semicondutor
Aula teoria semicondutorprofwtelles
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxoprofwtelles
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresprofwtelles
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08profwtelles
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06profwtelles
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03profwtelles
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02profwtelles
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 
Componentes importantes para Delphi
Componentes importantes para DelphiComponentes importantes para Delphi
Componentes importantes para Delphiprofwtelles
 
Lista coseno seno
Lista coseno senoLista coseno seno
Lista coseno senoprofwtelles
 
CI Reguladores de Tensão
CI Reguladores de TensãoCI Reguladores de Tensão
CI Reguladores de Tensãoprofwtelles
 

Plus de profwtelles (20)

Arduino - Parte 3.pdf
Arduino - Parte 3.pdfArduino - Parte 3.pdf
Arduino - Parte 3.pdf
 
Arduino - Parte 2.pdf
Arduino - Parte 2.pdfArduino - Parte 2.pdf
Arduino - Parte 2.pdf
 
Arduino - Parte 1.pdf
Arduino - Parte 1.pdfArduino - Parte 1.pdf
Arduino - Parte 1.pdf
 
Aula teoria semicondutor
Aula teoria semicondutorAula teoria semicondutor
Aula teoria semicondutor
 
Ccp
CcpCcp
Ccp
 
C 1
C 1C 1
C 1
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
3 vetor.matriz
3 vetor.matriz3 vetor.matriz
3 vetor.matriz
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadores
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
Componentes importantes para Delphi
Componentes importantes para DelphiComponentes importantes para Delphi
Componentes importantes para Delphi
 
Lista coseno seno
Lista coseno senoLista coseno seno
Lista coseno seno
 
CI Reguladores de Tensão
CI Reguladores de TensãoCI Reguladores de Tensão
CI Reguladores de Tensão
 
Transistores II
Transistores IITransistores II
Transistores II
 

Dernier

Tecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraTecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraGuilhermeLucio9
 
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfLivro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfSamuel Ramos
 
Eletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréEletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréGuilhermeLucio9
 
LEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaLEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaGuilhermeLucio9
 
Treinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção IndividualTreinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção Individualpablocastilho3
 
A Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralA Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralFranciscaArrudadaSil
 
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.pptA EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.pptssuserb964fe
 

Dernier (7)

Tecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade AnhangueraTecnólogo em Mecatrônica - Universidade Anhanguera
Tecnólogo em Mecatrônica - Universidade Anhanguera
 
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdfLivro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
Livro Vibrações Mecânicas - Rao Singiresu - 4ª Ed.pdf
 
Eletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante TamandaréEletricista instalador - Senai Almirante Tamandaré
Eletricista instalador - Senai Almirante Tamandaré
 
LEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurançaLEAN SIX SIGMA - Garantia da qualidade e segurança
LEAN SIX SIGMA - Garantia da qualidade e segurança
 
Treinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção IndividualTreinamento de NR06 Equipamento de Proteção Individual
Treinamento de NR06 Equipamento de Proteção Individual
 
A Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboralA Importância dos EPI's no trabalho e no dia a dia laboral
A Importância dos EPI's no trabalho e no dia a dia laboral
 
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.pptA EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
A EXTENSÃO RURAL NO BRASIL Sociologia e Extensão 1 2014.ppt
 

Linguagem c wellington telles - aula 07

  • 1. LINGUAGEM C - AULA 07 1 DE 4 Linguagem C– Aula 07 – Prof. Wellington Telles Ordenação Pelo nome significa colocar em ordem. Há vários métodos de ordenação e o que muda de um para outro é o tempo de ordenação que pode variar de acordo com tipo de dado a ser ordenado. Bubble-Sort Que é o método de bolha aonde consiste em comparar o primeiro dado com o segundo e um sendo maior que o outro a posição é trocada. 7 POSIÇÃO NO VETOR 0 1 2 3 4 5 6 DADOS NO VETOR 5 2 9 1 5 0 COMPARA 7 > 5 VERDADEIRO, ENTÃO TROCA DE POSIÇÃO 75 2 9 1 5 0 COMPARA 5 > 2 VERDADEIRO, ENTÃO TROCA DE POSIÇÃO 7 52 9 1 5 0 COMPARA 2 > 9 FALSO, ENTÃO NÃO TROCA 7 52 9 1 5 0 COMPARA 2 > 1 VERDADEIRO, ENTÃO TROCA DE POSIÇÃO 7 5 291 5 0 COMPARA 1 > 5 FALSO, ENTÃO NÃO TROCA 7 51 9 2 5 0 COMPARA VERDADEIRO, ENTÃO TROCA DE POSIÇÃO1 > 0 7 50 9 2 5 1
  • 2. LINGUAGEM C - AULA 07 2 DE 4 Dessa forma foi possível ajustar o menor valor na primeira posição do vetor (posição zero). Para ordenar os demais valores vamos precisar de uma segunda estrutura de repetição que comece com segunda posição do vetor (posição um) e assim que a segunda estiver em posição passamos a terceira e as demais. O código-fonte do programa fica da seguinte maneira: #include <stdio.h> #include <stdlib.h> #define tamanho 10 int main(int argc, char *argv[]) { int vetor[tamanho]; int i, j, aux; printf("Entre com os dez valores:n"); for (i=0;i<tamanho-1;i++) //Entrada scanf("%d",&vetor[i]); for (i=0;i<tamanho;i++)// Mostra o Vetor printf("%d ",vetor[i]); printf("n"); // Pula uma linha // Ordenação Bubble Sort for (i=0;i<tamanho-1;i++){ for (j=(i+1);j<tamanho;j++) { if (vetor[i]>vetor[j]){ aux = vetor[i]; vetor[i] = vetor[j]; vetor[j] = aux; } } } for (i=0;i<tamanho;i++)// Mostra o Vetor printf("%d ",vetor[i]); return 0; }
  • 3. LINGUAGEM C - AULA 07 3 DE 4 Sortear um número – Valores Aleatórios O sorteio de um número é também chamado número ALEATÓRIO A função que faz o sorteio se chama: rand O valor aleatório fica na faixa entre 0 e RAND_MAX que é definido dentro da biblioteca stdlib.h Por ao sortearmos um número devemos dar um % para pegar o resto da divisão do número gerado por rand() #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; printf("Gerando 10 valores aleatorios:nn"); for (i = 0; i < 10; i++) { /* gerando valores aleatórios entre zero e 100 */ printf("%d ", rand() % 100); } getch(); return 0; } Perceba que ao sortear, sempre os mesmos números são sorteados. Resolvendo isso: #include <stdio.h> #include <stdlib.h> #include <time.h>//necessário p/ função time() int main(int argc, char *argv[]) { int i; printf("Gerando 10 valores aleatorios:nn"); srand(time(NULL)); for (i = 0; i < 10; i++) { /* gerando valores aleatórios entre zero e 100 */ printf("%d ", rand() % 100); } getch(); return 0; }
  • 4. LINGUAGEM C - AULA 07 4 DE 4 Funções Funções são as estruturas que permitem ao usuário separar seus programas em blocos. Se não as tivéssemos, os programas teriam que ser curtos e de pequena complexidade. Para fazermos programas grandes e complexos temos de construí-los bloco a bloco. #include <stdio.h> #include <stdlib.h> int quadrado (int a) { return (a*a); } int main(int argc, char *argv[]) { int numero, resposta; printf("Entre com um numero: "); scanf ("%d",&numero); resposta=quadrado(numero); printf("O quadrado de %d vale: %d",numero, resposta); return 0; } No programa acima foi criada a função quadrado que tem por objetivo elevar um número ao quadrado. #include <stdio.h> #include <stdlib.h> #include <time.h> int dado() { return (1 + rand()%6); } int main(int argc, char *argv[]) { srand(time(NULL)); int i; int dados[9]; // de 0 a 9 for (i = 0; i < 10; i++) dados[i] = dado(); // Mostra os dados for (i = 0; i < 10; i++) printf("Dado numero %d tem o valor %dn",i,dados[i]); return 0; } Esse programa sorteio um dado e grava em um vetor. #include <stdio.h> #include <stdlib.h> #include <windows.h> void gotoxy(int x, int y) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } int main(int argc, char *argv[]) { gotoxy(10,5); printf("Posicionar cursor"); return 0; }