Você está na página 1de 28

Algoritmos e Estruturas de Dados Fundamentais

(Material complementar de aula)

Apresentao da Disciplina - Introduo a Algoritmos


-

Prof. MSc. Gilvan Martins Dures

Apresentao da Disciplina

Plano da Disciplina Ementa

Algoritmos e Lgica de programao, Tipos de Dados, Constantes e variveis simples, Estruturas de controle sequencial, condicional e repetio. Variveis Homogneas. Tipos abstratos de dados. Recursividade. Busca em Vetores. Listas lineares e suas variaes. Filas e Pilhas. rvores Binrias e suas variaes. Utilizao de uma linguagem de programao

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

Apresentao - Contedo Programtico

1. Algoritmos

1.1. Lgica de programao 1.2. Algoritmos 1.3. Implementao de Algoritmos 2.1. Conceitos 2.2. Armazenamento Seqencial 3.1. Listas 3.2. Vetores 3.3. Operaes em Listas 3.4. Aes em Vetores

4. Pilhas e Filas

2. Estrutura de Dados

4.1. Pilhas 4.2. Operaes em Pilhas 4.3. Filas 4.4. Operaes em Filas

5. Tpicos Especiais em Linguagem C.

3. Listas e Vetores

5.1. Arvores 5.2. Tabelas Hash

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

Apresentao - Avaliao
ATIVIDADE(S) CRITRIOS VALOR PESO Data Prevista

PROVA INDIVIDUAL

Domnio de Contedo, Anlise critica, Clareza e Articulao das ideias.

10

26/04

TRABALHO

Contedo, Fidelidade estrutura proposta para o trabalho e Pontualidade.

10

12/07

Resoluo dos exerccios trabalhados em sala de aula, atividade dirigida, AVALIAO PROGRESSIVA pontualidade e comprometimento com a disciplina. PROVA INDIVIDUAL Domnio de Contedo, Anlise critica, Clareza e Articulao das ideias.

10

20/06

10

21/06

DATA PREVISTA PARA A PROVA FINAL: 19/07


Prof. MSc. Gilvan M. Dures Algoritmos e Estruturas de Dados Fundamentais 2013.1 4

Mini Avaliaes (M.A.)

Uma Mini - Avaliao (M.A.) pode ser um trabalho ou um exerccio que deve ser entregue para formar a nota progressiva, juntamente com os outros critrios. Nos slides, uma M.A. ser identificada com a seguinte imagem:

Cada exerccios do tipo M.A. deve ter um nome especfico. No sero aceitos arquivos com a nomenclatura errada. Os exerccios do tipo M.A. devero ser todos enviados juntos em um nico e-mail para: gilvanduraes@yahoo.com.br at o dia 20/06. Este e-mail deve ter o seguinte assunto: MA-AlgoritmosED2013.1
Algoritmos e Estruturas de Dados Fundamentais 2013.1 5

Prof. MSc. Gilvan M. Dures

Apresentao - Bibliografia Bsica


EVARISTO, J. Aprendendo a Programar Programando na Linguagem C. Disponvel em: professor.ic.ufal.br/jaime/livros/C.htm FARRER, HARRY et al. Algoritmos Estruturados. 3.ed. Rio de Janeiro: LTC, 1999. FORBELLONE, A. L. V.; EBERSPCHER, H. F. Lgica de Programao - A construo de algoritmos e estruturas de dados. 2.ed. So Paulo: Makron Books, 2000. GUIMARAES, A. M.; LAGES, N. A. Algoritmos e Estruturas de Dados. Rio de Janeiro: LTC, 1994. MANZANO, Jos Augusto N. G; OLIVEIRA, Jayr F. Algoritmos Lgica para Desenvolvimento de Programao de Computadores. 17.ed. So Paulo: rica, 2005. MARKENZON, L; SZWARCFITER, J. L. Estruturas de Dados e seus Algoritmos. 2.ed. Rio de Janeiro: LTC, 1997.
Algoritmos e Estruturas de Dados Fundamentais 2013.1 6

Prof. MSc. Gilvan M. Dures

Apresentao - Yahoo Groups

Meio de comunicao e disponibilizao de material complementar das aulas.

Grupo do Yahoo: ADSIF_2013

http://br.groups.yahoo.com/group/ADSIF_2013/

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

Ambiente de Programao

Code Blocks - http://www.codeblocks.org

Download:

http://www.codeblocks.org/downloads/26

codeblocks-12.11mingw-setup.exe

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

Organizao bsica de um computador

Unidades bsicas:

unidade de entrada, unidade de sada, unidade de processamento central e memria.

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

Linguagem de mquina

Linguagens de comunicao

Linguagens humanas Linguagem de mquina

O cdigo ASCII (American


Standard Code for Information Interchange)

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

10

Algoritmos - Definio

Uma sequencia de passos bem definidos para se alcanar algum objetivo.

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

11

Algoritmos - Exemplos

Um algoritmo para chegar ao IFBaiano/Catu


(para a primeira aula de Algoritmos!)....

Um algoritmo para trocar uma lmpada Um algoritmo para trocar o pneu de um carro... Um algoritmo para informar qual o maior nmero, dado dois nmeros... Um algoritmo para informar qual o maior nmero, dado trs nmeros...

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

12

Algoritmos - Mais Exemplos...

Um algoritmo para informar qual a pessoa mais alta, dado um grupo de pessoas. Um algoritmo para calcular a mdia de um aluno Um algoritmo para informar se um aluno passou ou no na disciplina de algoritmos Um algoritmo para escrever os termos da srie de Fibonnacci inferiores a um nmero L

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

13

Programas de computadores

Jogos Processadores de texto Planilhas eletrnicas Navegadores um conjunto de instrues que podem ser executadas pelo computador

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

14

Lgica de programao

A Lgica de Programao pode ser entendida como o conjunto de raciocnios utilizados para o desenvolvimento de algoritmos

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

15

Lgica de programao
Um senhor, infelizmente bastante gordo, est numa das margens de um rio com uma raposa, uma dzia de galinhas e um saco de milho. O senhor pretende atravessar o rio com suas cargas, num barco a remo que s comporta o senhor e uma das cargas. Evidentemente, o senhor no pode deixar em uma das margens, sozinhos, a raposa e a galinha, nem a galinha e o milho.

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

16

Lgica de programao

Usamos a tcnica de exausto

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

17

Resoluo de problemas
Qual o problema???

ESCREVER um algoritmo para uma determinada tarefa

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

18

Resoluo de problemas
Dispe-se de trs esferas idnticas na forma, sendo duas delas de mesmo peso e a terceira de peso maior. A questo descobrir qual a esfera de peso diferente (maior peso), realizando-se apenas uma pesagem numa balana de dois pratos.

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

19

Resoluo de problemas
Como obter exatamente 4 litros de gua dispondo de dois recipientes com capacidades de 3 litros e 5 litros. (A soluo desta questo foi necessria num filme da srie Duro de Matar
para o protagonista desativar uma bomba)

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

20

Resoluo de problemas
Imagine uma relao de n nmeros, os quais podem ser referenciados por ai com i = 1, 2, ..., n e queiramos som-los com a restrio de que s sabemos efetuar somas de duas parcelas.

teste de mesa.
Prof. MSc. Gilvan M. Dures Algoritmos e Estruturas de Dados Fundamentais 2013.1 21

Processador de um algoritmo
Agente que executa um algoritmo Imagine que queiramos elaborar um algoritmo para extrair o algarismo da casa das unidades de um inteiro dado Processador: homem

1. Fornea o algarismo das unidades do inteiro dado.


OU

1. Fornea o algarismo "mais direita" do nmero dado.

Processador: computador

1. Chame de n o inteiro dado;


2. Calcule o resto da diviso de n por 10; 3. Fornea este resto como o algarismo pedido.
Algoritmos e Estruturas de Dados Fundamentais 2013.1 22

Prof. MSc. Gilvan M. Dures

Exerccios

1) Trs ndios, conduzindo trs brancos, precisam atravessar um rio dispondo para tal de um barco cuja capacidade de apenas duas pessoas. Por questes de segurana, os ndios no querem ficar em minoria, em nenhum momento e em nenhuma das margens. Escreva um algoritmo que oriente os ndios para realizarem a travessia nas condies fixadas. (Cabe
observar que, usualmente, este exerccio enunciado envolvendo trs jesutas e trs canibais. A alterao feita uma modesta contribuio para o resgate da verdadeira histria dos ndios).

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

23

Exerccios

2) Imagine que se disponha de trs esferas numeradas 1, 2 e 3 iguais na forma, duas delas com pesos iguais e diferentes do peso da outra. Escreva um algoritmo que, com duas pesagens numa balana de dois pratos, determine a esfera de peso diferente e a relao entre seu peso e o peso das esferas de pesos iguais.

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

24

Exerccios

3) O show de uma banda de rock, que ser realizado na margem de um rio, deve comear exatamente s 21h. Atrasados, s 20h 43min, os quatro integrantes da banda esto na outra margem do rio e necessitam, para chegar ao palco, atravessar uma ponte. H somente uma lanterna e s podem passar uma ou duas pessoas juntas pela ponte, e sempre com a lanterna. Cada integrante possui um tempo diferente para atravessar a ponte: o vocal leva 10 minutos, o guitarrista 5 minutos, o baixista 2 minutos e o baterista 1 minuto. Evidentemente, quando dois atravessam juntos, o tempo necessrio o do mais lento. Escreva um algoritmo que permita que a banda atravesse a ponte de modo que o show comece na hora marcada.
Algoritmos e Estruturas de Dados Fundamentais 2013.1 25

Prof. MSc. Gilvan M. Dures

Exerccios

4) (TRF-4 Reg.)O esquema abaixo representa, da esquerda para a direita, uma sucesso de jogadas feitas por Alice e Eunice numa disputa do jogo da Velha.
X O O X O O X O O

X
Eunice Alice Eunice
(1) (2)

Alice X O
(4)

Para que, com certeza, a partida termine com uma vitria de Eunice, ento, ao fazer a sua terceira jogada, em qual posio ela dever assinalar a sua marca?

O
(3) (5)

??

Eunice

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

26

Exerccios

Nome do arquivo: ma01TresAmigos_NomeAluno1-Aluno2.txt

5) (MTE) Trs amigos Lus, Marcos e Nestor so casados com Teresa, Regina e Sandra (no necessariamente nesta ordem). Perguntados sobre os nomes das respectivas esposas, os trs fizeram as seguintes declaraes:

Nestor: Marcos casado com Teresa. Lus: Nestor est mentindo, pois a esposa de Marcos Regina Marcos: Nestor e Lus mentiram, pois a minha esposa Sandra.

Sabendo-se que o marido de Sandra mentiu e que o marido de Teresa disse a verdade, informe quem so as respectivas esposas de Lus, Marcos e Nestor. Como voc chegou a esta resposta?
Prof. MSc. Gilvan M. Dures Algoritmos e Estruturas de Dados Fundamentais 2013.1 27

Exerccios

6) Resolva a questo 2 para o caso de oito esferas, com trs pesagens. 7) Escreva um algoritmo para determinar o resto de uma diviso inteira utilizando uma mquina de calcular que efetue apenas as quatro operaes: adio, subtrao, multiplicao e diviso.
Nome do arquivo:
ma02Resto_NomeAluno1-Aluno2.txt

Prof. MSc. Gilvan M. Dures

Algoritmos e Estruturas de Dados Fundamentais 2013.1

28

Você também pode gostar