45
Algoritmos e Programação Prof.º Thyago Maia 2014.1

Algoritmos e Programação - 2014.1 - Aula 1

Embed Size (px)

DESCRIPTION

Algoritmos e Programação - 2014.1 - Aula 1

Citation preview

Page 1: Algoritmos e Programação - 2014.1 - Aula 1

Algoritmos e Programação

Prof.º Thyago Maia2014.1

Page 2: Algoritmos e Programação - 2014.1 - Aula 1

Objetivos

Aula 1: Introdução

• Apresentar a disciplina• Apresentar o conceito de “Algoritmo“• Fazer com que o aluno conheça a

importância dos algoritmos• Apresentar os tipos de algoritmos

existentes

2

Page 3: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

Page 4: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

• Professor: Thyago Maia Tavares de Farias

– Mestre em Informática pelo PPGI / DI / UFPB– Bacharel em Ciência da Computação – UFPB– Currículo Lattes: http://lattes.thyagomaia.net– E-Mail: [email protected]

4

Page 5: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

• Foco da disciplina

Ensino dos conceitos básicos de algoritmos estruturados, envolvendo tipos de dados e formas de representação de algoritmos;

Fundamentos e técnicas estruturadas de programação para o desenvolvimento de software;

5

Page 6: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

• Avaliações (3 estágios):– 1º estágio:• Prática em Laboratório (0 a 5 pontos);• Exercícios de Fixação (0 a 5 pontos);

– 2º estágio:• Prática em Laboratório (0 a 5 pontos);• Exercícios de Fixação (0 a 5 pontos);

– 3º estágio:• Prática em Laboratório (0 a 8 pontos);• Projeto Integrador (0 a 2 ponto);

6

Page 7: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

• Reposição , Final e Presença– Reposição:

• Prática em Laboratório (0 a 10 pontos);• O aluno tem direito a repor APENAS uma prova;• Os exercícios práticos realizados no estágio em que o aluno não

participou da prova não irão valer para esta fase;

– Final:• Prática em Laboratório (0 a 10 pontos);• Todo o conteúdo dos três estágios;

– Presença• Limite de faltas: 20 horas (10 aulas);

7

Page 8: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

• Moodle (Ferramenta de Educação a Distância)– Material da disciplina (Slides, notas de aula,

indicação de livros, etc.);– Divulgação e submissão das práticas em

laboratório (exercícios de fixação e de avaliação);– Ferramenta para comunicação oficial (avisos,

lembretes, divulgação de datas, divulgação de notas, etc.);

– http://academico.unipe.br

8

Page 9: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

• Sites auxiliares:

– http://facebook.com/profthyagomaia– http://twitter.com/thyagomaia– http://www.slideshare.net/thyagomaia

9

Page 10: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

• Software que será utilizado no curso:

– Eclipse IDE• http://www.eclipse.org

10

Page 11: Algoritmos e Programação - 2014.1 - Aula 1

Apresentação

• Para ter sucesso na disciplina:– Procure estar presente em todas as aulas• Alguns exercícios poderão valer pontos para a nota de

um determinado estágio!

– Se faltou, visite o Moodle e cheque o material da aula que você perdeu;

– Dúvidas? Entre em contato através das ferramentas de comunicação do Moodle (chat, fórum, mensagens, etc.);

– Pratique... Pratique... Pratique... 11

Page 12: Algoritmos e Programação - 2014.1 - Aula 1

Afinal, o que é um algoritmo?

Page 13: Algoritmos e Programação - 2014.1 - Aula 1

Afinal, o que é um algoritmo?

Sequência finita de instruções, ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema;

Não envolve apenas aspectos computacionais;– Exemplos• Uma receita de bolo;•Manual de instruções;

13

Page 14: Algoritmos e Programação - 2014.1 - Aula 1

Afinal, o que é um algoritmo?

Exemplo: Sequência para fritar um ovo:1) Retirar o ovo da geladeira;2) Colocar a frigideira no fogo;3) Colocar óleo;4) Esperar até o óleo ficar quente;5) Quebrar o ovo separando a casca;6) Colocar o conteúdo do ovo na frigideira;7) Esperar um minuto;8) Retirar o ovo da frigideira;9) Apagar o fogo;

14

Page 15: Algoritmos e Programação - 2014.1 - Aula 1

Afinal, o que é um algoritmo?

Tal sequência é um algoritmo? Vejamos...– A sequência anterior possui instruções finitas e

ordenadas?• SIM. 9 instruções ordenadas;• O início de uma instrução depende da

conclusão de uma instrução anterior; – O objetivo da sequência foi atingido?• SIM. O ovo foi frito;

Logo, a sequência anterior é um algoritmo!

15

Page 16: Algoritmos e Programação - 2014.1 - Aula 1

Afinal, o que é um algoritmo?

Exercício – Ordene e estruture uma sequência para a

realização de uma ligação telefônica em um orelhão.

16

Page 17: Algoritmos e Programação - 2014.1 - Aula 1

Afinal, o que é um algoritmo?

Uma possível solução:1) Tirar o telefone do gancho;

2) Ouvir o sinal de linha;3) Introduzir o cartão no orelhão;4) Teclar o número desejado;5) Conversar;6) Desligar;7) Tirar o cartão;

17

Page 18: Algoritmos e Programação - 2014.1 - Aula 1

Afinal, o que é um algoritmo?

A solução anterior... mais robusta:1) Tirar o telefone do gancho;2) Ouvir o sinal de linha;3) Introduzir o cartão no orelhão;4) Teclar o número desejado;5) Se chamar e alguém atender...

1) Conversar;2) Desligar;3) Retirar o cartão;

6) Senão...1) Desligar;2) Voltar para a instrução 1;

18

Page 19: Algoritmos e Programação - 2014.1 - Aula 1

Desafio!

Page 20: Algoritmos e Programação - 2014.1 - Aula 1

Desafio

Escreva um algoritmo que ajude o homem do barco a levar o lobo, a ovelha e a caixa de verduras para o outro lado do lago. Utilize a descrição narrativa para representar o algoritmo. Lembre-se:

Lobos comem ovelhas e ovelhas comem as verduras quando o homem está na outra margem!

20

Page 21: Algoritmos e Programação - 2014.1 - Aula 1

Desafio

1. Pega a ovelha2. Vai para a outra margem3. Deixa a ovelha4. Volta a margem inicial5. Pega a caixa de verduras6. Vai para a outra margem7. Deixa a caixa de verduras e pega a ovelha8. Volta a margem inicial9. Deixa a ovelha e pega o lobo10. Vai para a outra margem11. Deixa o lobo12. Volta a margem inicial13. Pega a ovelha14. Vai para a outra margem15. Deixa a ovelha

21

Page 22: Algoritmos e Programação - 2014.1 - Aula 1

O que podemos concluir sobre algoritmos?

Page 23: Algoritmos e Programação - 2014.1 - Aula 1

O que podemos concluir sobre algoritmos?

Algoritmo é uma espécie de passo a passo de ações (instruções);

Algoritmos retornam uma saída (ex.: um ovo frito) a partir de entradas (ex.: um ovo) através de uma sequência de passos;

Os passos são executados um após o outro (de forma sequencial);

23

Page 24: Algoritmos e Programação - 2014.1 - Aula 1

O que podemos concluir sobre algoritmos?

Um algoritmo está correto quando sua sequência de instruções retorna uma saída esperada;

Podem existir um ou mais algoritmos que retornam uma saída esperada; Mas podem existir algoritmos mais eficientes que

outros;

Um algoritmo não é a solução do problema, mas o caminho que busca a solução do problema;

24

Page 25: Algoritmos e Programação - 2014.1 - Aula 1

Por que criamos algoritmos?

Page 26: Algoritmos e Programação - 2014.1 - Aula 1

Por que criamos algoritmos?

A linguagem natural não pode ser interpretada por computadores;

Computadores são projetados para executar tarefas bem definidas a partir de instruções;

Para desenvolver software, utilizamos linguagens de programação...

A linguagem algorítmica é similar a uma linguagem de programação; Logo, aprendendo a criar algoritmos, estamos aptos

a programar em qualquer linguagem de programação;

26

Page 27: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

Page 28: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

Descrição Narrativa;

Fluxograma;

Pseudocódigo, Português Estruturado ou Portugol;

28

SUBJETIVIDADE

PRECISÃO

Page 29: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

Descrição Narrativa

Utiliza-se preferencialmente um verbo por frase; Formada por frases curtas e simples; É objetiva; Evita palavras com sentido dúbio;

29

Page 30: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

Descrição Narrativa – Exemplo:

Dobro de um número (dobro = número x 2)

Digitar um número; Gravar em uma variável; Multiplicar o número digitado por 2; Gravar o resultado em outra variável; Mostrar o resultado da operação;

30

Page 31: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

Fluxograma

Descrevem o fluxo de ação de um determinado trabalho lógico;

Usa símbolos convencionais, permitindo poucas variações;

Representados por símbolos geométricos;

31

Page 32: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Fluxograma – Conjunto de Símbolos:

32

INÍCIO OU FIM DE ALGORITMO

CÁLCULO OU ATRIBUIÇÃO DE VALOR

ENTRADA DE DADOS

SAÍDA DE DADOS

DECISÃOFLUXO DE DADOS

Page 33: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números.

33

Page 34: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Fluxograma – Exemplo:

34

INÍCIO

M = N1 * N2

N1, N2

M FIM

Page 35: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Exemplo 2: Faça um algoritmo que calcula e apresenta a divisão entre dois números.

35

Page 36: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Fluxograma – Exemplo 2:

36

INÍCIO

D = NUM / DEN

NUM, DEN

IMPOSSÍVEL DIVIDIR

FIM

DEN = 0

SIM

D

NÃO

Page 37: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Exercício: Faça um algoritmo (fluxograma) que calcula a média de três notas de um determinado aluno e informa se o aluno está aprovado ou reprovado.

– O aluno estará aprovado se sua média for maior ou igual a 7;

37

Page 38: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Fluxograma – Exercício:

38

INÍCIO

MEDIA = (N1 + N2 + N3) / 3

N1, N2, N3

APROVADO

FIM

MEDIA >= 7

SIM NÃO

REPROVADO

Page 39: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

Português Estruturado (Portugol)

Linguagem mais restrita que o português em linguagem natural;

Simplificação extrema do português; Significados bem definidos para todos os termos

utilizados nas instruções; Possui um conjunto de palavras e regras

específicas (sintaxe da linguagem);

39

Page 40: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

Português Estruturado (Portugol)

Normalmente as implementações são feitas em papel, escritas a mão;

40

Page 41: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Forma básica de um algoritmo em portugol:

ALGORITMODECLARE

FIM_ALGORITMO41

VARIÁVEIS

INSTRUÇÕES

TIPOS DE DADOS

Page 42: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

• Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números.

42

Page 43: Algoritmos e Programação - 2014.1 - Aula 1

Tipos de algoritmos

ALGORITMODECLARE N1, N2, M NUMÉRICO

ESCREVA “Digite dois números”LEIA N1, N2M <- N1 * N2ESCREVA “MULTIPLICAÇÃO = ” , M

FIM_ALGORITMO

43

Page 44: Algoritmos e Programação - 2014.1 - Aula 1

Explore o assunto!

Page 45: Algoritmos e Programação - 2014.1 - Aula 1

Explore o assunto!

• Referências– Fundamentos da programação de computadores

(ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1

45