Algoritmos e Programação
Prof.º Thyago Maia
2014.1
Aula 1: Introdução
Objetivos
• Apresentar a disciplina
• Apresentar o conceito de “Algoritmo“
• Fazer com que o aluno conh...
Apresentação
Apresentação
• Professor: Thyago Maia Tavares de Farias
– Mestre em Informática pelo PPGI / DI / UFPB
– Bacharel em Ciênci...
Apresentação
• Foco da disciplina




Ensino dos conceitos básicos de algoritmos
estruturados, envolvendo tipos de dados...
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 ...
Apresentação
• Reposição , Final e Presença
– Reposição:
• Prática em Laboratório (0 a 10 pontos);
• O aluno tem direito a...
Apresentação
• Moodle (Ferramenta de Educação a Distância)
– Material da disciplina (Slides, notas de
aula, indicação de l...
Apresentação
• Sites auxiliares:
– http://facebook.com/profthyagomaia
– http://twitter.com/thyagomaia
– http://www.slidesh...
Apresentação
• Software que será utilizado no curso:
– Eclipse IDE
• http://www.eclipse.org

10
Apresentação
• Para ter sucesso na disciplina:
– Procure estar presente em todas as aulas
• Alguns exercícios poderão vale...
Afinal, o que é um algoritmo?
Afinal, o que é um algoritmo?




Sequência finita de instruções, ordenadas de
forma lógica para a resolução de uma
dete...
Afinal, o que é um algoritmo?


Exemplo: Sequência para fritar um ovo:
1) Retirar o ovo da geladeira;
2)
3)
4)
5)
6)
7)
8...
Afinal, o que é um algoritmo?


Tal sequência é um algoritmo? Vejamos...
– A sequência anterior possui instruções finitas...
Afinal, o que é um algoritmo?


Exercício
– Ordene e estruture uma sequência para a
realização de uma ligação telefônica ...
Afinal, o que é um algoritmo?


Uma possível solução:
1) Tirar o telefone do gancho;
2) Ouvir o sinal de linha;
3) Introd...
Afinal, o que é um algoritmo?


A solução anterior... mais robusta:
1)
2)
3)
4)
5)

Tirar o telefone do gancho;
Ouvir o s...
Desafio!
Desafio


Escreva um algoritmo que ajude o homem do barco
a levar o lobo, a ovelha e a caixa de verduras para o
outro lad...
Desafio
1.
2.

3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Pega a ovelha
Vai para a outra margem
Deixa a ovelha
Volta a ...
O que podemos concluir sobre
algoritmos?
O que podemos concluir sobre algoritmos?







Algoritmo é uma espécie de passo a passo de
ações (instruções);
Algorit...
O que podemos concluir sobre algoritmos?







Um algoritmo está correto quando sua sequência de
instruções retorna um...
Por que criamos algoritmos?
Por que criamos algoritmos?






A linguagem natural não pode ser interpretada por
computadores;
Computadores são proj...
Tipos de algoritmos
Tipos de algoritmos



Descrição Narrativa;



SUBJETIVIDADE

Fluxograma;



Pseudocódigo,
Português Estruturado
ou Por...
Tipos de algoritmos


Descrição Narrativa





Utiliza-se preferencialmente um verbo por frase;
Formada por frases cu...
Tipos de algoritmos


Descrição Narrativa – Exemplo:








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

Digitar um nú...
Tipos de algoritmos


Fluxograma






Descrevem o fluxo de ação
de um determinado
trabalho lógico;
Usa símbolos
conve...
Tipos de algoritmos
• Fluxograma – Conjunto de Símbolos:
INÍCIO OU FIM DE
ALGORITMO

ENTRADA DE
DADOS

CÁLCULO OU
ATRIBUIÇ...
Tipos de algoritmos
• Exemplo: Faça um algoritmo que calcula e
apresenta a multiplicação entre dois números.

33
Tipos de algoritmos
• Fluxograma – Exemplo:
INÍCIO

N1, N2

M = N1 * N2

M

FIM

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

35
Tipos de algoritmos
• Fluxograma – Exemplo 2:
INÍCIO

NUM, DEN

DEN = 0
SIM

NÃO
IMPOSSÍVEL
DIVIDIR

D = NUM / DEN

D
FIM
...
Tipos de algoritmos
• Exercício: Faça um algoritmo (fluxograma) que
calcula a média de três notas de um
determinado aluno ...
Tipos de algoritmos
• Fluxograma – Exercício:
INÍCIO

MEDIA
>= 7

N1, N2, N3

SIM

NÃO

MEDIA = (N1 + N2 + N3) / 3
APROVAD...
Tipos de algoritmos


Português Estruturado (Portugol)







Linguagem mais restrita que o português em
linguagem na...
Tipos de algoritmos


Português Estruturado (Portugol)


Normalmente as implementações são feitas em
papel, escritas a m...
Tipos de algoritmos
• Forma básica de um algoritmo em portugol:
ALGORITMO
DECLARE

VARIÁVEIS

TIPOS DE DADOS

INSTRUÇÕES

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

42
Tipos de algoritmos
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA “Digite dois números”
LEIA N1, N2
M <- N1 * N2
ESCREVA “M...
Explore o assunto!
Explore o assunto!
• Referências
– Fundamentos da programação de computadores
(ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capí...
Próximos SlideShares
Carregando em…5
×

Algoritmos e Programação - 2014.1 - Aula 1

2.243 visualizações

Publicada em

Algoritmos e Programação - 2014.1 - Aula 1

Publicada em: Educação, Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.243
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
134
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algoritmos e Programação - 2014.1 - Aula 1

  1. 1. Algoritmos e Programação Prof.º Thyago Maia 2014.1
  2. 2. Aula 1: Introdução Objetivos • 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
  3. 3. Apresentação
  4. 4. 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: contato@thyagomaia.com 4
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. Apresentação • Sites auxiliares: – http://facebook.com/profthyagomaia – http://twitter.com/thyagomaia – http://www.slideshare.net/thyagomaia 9
  10. 10. Apresentação • Software que será utilizado no curso: – Eclipse IDE • http://www.eclipse.org 10
  11. 11. 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
  12. 12. Afinal, o que é um algoritmo?
  13. 13. 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
  14. 14. Afinal, o que é um algoritmo?  Exemplo: Sequência para fritar um ovo: 1) Retirar o ovo da geladeira; 2) 3) 4) 5) 6) 7) 8) 9) Colocar a frigideira no fogo; Colocar óleo; Esperar até o óleo ficar quente; Quebrar o ovo separando a casca; Colocar o conteúdo do ovo na frigideira; Esperar um minuto; Retirar o ovo da frigideira; Apagar o fogo; 14
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. Afinal, o que é um algoritmo?  A solução anterior... mais robusta: 1) 2) 3) 4) 5) Tirar o telefone do gancho; Ouvir o sinal de linha; Introduzir o cartão no orelhão; Teclar o número desejado; 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
  19. 19. Desafio!
  20. 20. 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
  21. 21. Desafio 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Pega a ovelha Vai para a outra margem Deixa a ovelha Volta a margem inicial Pega a caixa de verduras Vai para a outra margem Deixa a caixa de verduras e pega a ovelha Volta a margem inicial Deixa a ovelha e pega o lobo Vai para a outra margem Deixa o lobo Volta a margem inicial Pega a ovelha Vai para a outra margem Deixa a ovelha 21
  22. 22. O que podemos concluir sobre algoritmos?
  23. 23. 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
  24. 24. 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
  25. 25. Por que criamos algoritmos?
  26. 26. 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
  27. 27. Tipos de algoritmos
  28. 28. Tipos de algoritmos  Descrição Narrativa;  SUBJETIVIDADE Fluxograma;  Pseudocódigo, Português Estruturado ou Portugol; PRECISÃO 28
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. Tipos de algoritmos • Fluxograma – Conjunto de Símbolos: INÍCIO OU FIM DE ALGORITMO ENTRADA DE DADOS CÁLCULO OU ATRIBUIÇÃO DE VALOR SAÍDA DE DADOS FLUXO DE DADOS DECISÃO 32
  33. 33. Tipos de algoritmos • Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números. 33
  34. 34. Tipos de algoritmos • Fluxograma – Exemplo: INÍCIO N1, N2 M = N1 * N2 M FIM 34
  35. 35. Tipos de algoritmos • Exemplo 2: Faça um algoritmo que calcula e apresenta a divisão entre dois números. 35
  36. 36. Tipos de algoritmos • Fluxograma – Exemplo 2: INÍCIO NUM, DEN DEN = 0 SIM NÃO IMPOSSÍVEL DIVIDIR D = NUM / DEN D FIM 36
  37. 37. 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
  38. 38. Tipos de algoritmos • Fluxograma – Exercício: INÍCIO MEDIA >= 7 N1, N2, N3 SIM NÃO MEDIA = (N1 + N2 + N3) / 3 APROVADO REPROVADO FIM 38
  39. 39. 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
  40. 40. Tipos de algoritmos  Português Estruturado (Portugol)  Normalmente as implementações são feitas em papel, escritas a mão; 40
  41. 41. Tipos de algoritmos • Forma básica de um algoritmo em portugol: ALGORITMO DECLARE VARIÁVEIS TIPOS DE DADOS INSTRUÇÕES FIM_ALGORITMO 41
  42. 42. Tipos de algoritmos • Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números. 42
  43. 43. Tipos de algoritmos ALGORITMO DECLARE N1, N2, M NUMÉRICO ESCREVA “Digite dois números” LEIA N1, N2 M <- N1 * N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO 43
  44. 44. Explore o assunto!
  45. 45. Explore o assunto! • Referências – Fundamentos da programação de computadores (ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1 45

×