48
CURSO BÁSICO DE PROGRAMAÇÃO AULA 16 Ordenação Revisão para a prova

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16 · 2014-10-17 · Exercícios 1 – A partir de 9 elementos inseridos pelo ... • É uma biblioteca disponível para linguagem C que fornece

Embed Size (px)

Citation preview

CURSO BÁSICO DE

PROGRAMAÇÃO –

AULA 16 Ordenação

Revisão para a prova

Algoritmos de Ordenação

• São algoritmos que organizam uma sequência

(por exemplo, os elementos de um vetor) em

ordem crescente ou decrescente.

• Exemplo com um vetor de 6 elementos:

• Sem ordenação: [3, 5, 3, 2, 1, 1]

• Ordenado: [1, 1, 2, 3, 3, 5]

Como se faz ordenação?

Algoritmos de Ordenação

• Suponha que você tivesse que ordenar um

baralho de cartas. Como faria?

Algoritmos de Ordenação

• Existem várias técnicas diferentes:

Algoritmos de Ordenação

• Existem várias técnicas diferentes:

- separar em 4 montes diferentes, cada um com

cartas de um naipe, e depois ordenar cada um

separadamente e juntar;

Algoritmos de Ordenação

• Existem várias técnicas diferentes:

- separar em 4 montes diferentes, cada um com

cartas de um naipe, e depois ordenar cada um

separadamente e juntar;

- procurar as menores cartas do baralho (os

ases) e colocar na mesa; depois procurar as

próximas menores (as cartas com valor 2) e

colocar na mesa; e assim por diante.

Algoritmos de Ordenação

• Existem várias técnicas diferentes:

- separar em 4 montes diferentes, cada um com

cartas de um naipe, e depois ordenar cada um

separadamente e juntar;

- procurar as menores cartas do baralho (os

ases) e colocar na mesa; depois procurar as

próximas menores (as cartas com valor 2) e

colocar na mesa; e assim por diante.

- embaralhar o baralho e torcer para que fique

ordenado.

Algoritmos de Ordenação

• Claramente, algumas técnicas são mais efetivas

que outras (embaralhar até que fique ordenado

pode levar um tempo...)

Algoritmos de Ordenação

• Claramente, algumas técnicas são mais efetivas

que outras (embaralhar até que fique ordenado

pode levar um tempo...)

• Assim também são os algoritmos de ordenação:

• Existem diversos algoritmos de ordenação:

alguns mais efetivos, outros mais lentos, alguns

mais complexos de se implementar e outros mais

simples.

• É um dos algoritmos dos mais simples de se implementar

• Funciona como o segundo método mencionado para

ordenar um baralho:

• Percorre o vetor pela primeira vez

• Seleciona o menor elemento

• Coloca na posição correta (1ª posição)

• Percorre o vetor pela segunda vez

• Seleciona o segundo menor elemento

• Coloca na posição correta (2ª posição)

• E assim por diante…

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Selection sort

Exercícios

1 – A partir de 9 elementos inseridos pelo usuário,

apresente na tela a média e a mediana destes elementos

(lembrando que a mediana é o valor central da sequência

de elementos quando estes estão organizados em ordem

crescente).

Revisão

• Cadeias de caractere

• Matrizes

• Funções e procedimentos

Revisão

• Sintaxe:

• char <nome variável>[tamanho];

• Exemplos:

• char cadeia[10];

• char nome[6] = “Maria”;

• char nome[] = “Maria”;

Cadeia de Caracteres

Revisão

• String.h:

• É uma biblioteca disponível para linguagem C que fornece funções

para manipulação de cadeias de caracteres (strings);

• As funções mais utilizadas são: strlen(), strcpy(), strcmp() e

strcat().

Cadeia de Caracteres

Revisão

1. Leia uma string de 10 caracteres. Se a primeira letra for maior

que a última, imprima o nome ao contrário.

2. Leia duas strings de 10 caracteres. Concatene a maior no final

da menor e imprima o resultado.

Cadeia de Caracteres – Exercícios

Revisão – Matrizes

• Sintaxe:

• <tipo do dado> <nome da matriz> [linhas][colunas]

• Exemplos de declaração:

• int matriz[10][10]

• Cria uma matriz 10x10 de inteiros;

• float matriz[5][3]

• Cria uma matriz 5x3 de reais;

Revisão – Matrizes

• A leitura de uma matriz é feita com dois laços for, um para

o controle da linha e outro para o controle da coluna.

Revisão – Matrizes

1. Leia uma matriz de 3 dimensões de inteiros e imprima:

1. A soma dos valores nas linhas par.

2. A soma dos valores nas colunas ímpar.

3. A soma dos valores da primeira linha com os da primeira coluna,

excluindo valores repetidos.

Revisão – Funções

<tipo de retorno> <nomefuncao>(<lista de parametros>)

{

<variáveis locais>;

<comandos>;

return <valor de retorno>;

}

Revisão – Procedimentos

• Procedimento é uma declaração de função com tipo de

retorno vazio (void) e sem retorno de valor.

void <nomeprocedimento>(<lista de parametros>)

{

<variáveis locais>;

<comandos>;

}

Revisão – Funções

1. Faça uma função que encontre o maior elemento de

um vetor.

2. Faça um procedimento para imprimir apenas os

elementos de um vetor maiores que um inteiro n. O

inteiro n deve ser um parâmetro.

FIM Dúvidas?

Luis e Thales

[email protected], [email protected]