Algoritmos e Programação - 2013.1 - Aula 1
Upcoming SlideShare
Loading in...5
×
 

Algoritmos e Programação - 2013.1 - Aula 1

on

  • 1,590 views

Algoritmos e Programação - 2013.1 - Aula 1

Algoritmos e Programação - 2013.1 - Aula 1

Statistics

Views

Total Views
1,590
Slideshare-icon Views on SlideShare
1,590
Embed Views
0

Actions

Likes
2
Downloads
25
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Algoritmos e Programação - 2013.1 - Aula 1 Algoritmos e Programação - 2013.1 - Aula 1 Presentation Transcript

    • Algoritmos e Programação Prof. Thyago Prof.º Thyago Maia 2013.1
    • Aula 1: Introdução çObjetivos • Apresentar a disciplina p g • Apresentar o conceito de “Algoritmo“ • Fazer com que o aluno  conheça a  importância dos algoritmos importância dos algoritmos • Apresentar os tipos de algoritmos  existentes  existentes • Lançar um desafio algorítmico 2
    • Apresentação
    • Apresentação p ç• Professor:  Thyago Maia Tavares de Farias – Mestre em Informática pelo PPGI / DI / UFPB –B h l Bacharel em Ciência da Computação – UFPB Ciê i d C ã – Currículo Lattes: http://lattes.thyagomaia.net – E‐Mail: contato@thyagomaia.com 4
    • Apresentação p ç• Foco da disciplina Ensino dos conceitos básicos de algoritmos  estruturados, envolvendo tipos de dados e  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
    • Apresentação p ç• Avaliações (3 estágios): – 1º estágio: g • Prova convencional (escrita) (0 a 7 pontos); • Exercícios práticos (0 a 3 pontos); Exercícios práticos (0 a 3 pontos); – 2º estágio: • Prova convencional (escrita) (0 a 7 pontos); Prova convencional (escrita) (0 a 7 pontos); • Exercícios práticos (0 a 3 pontos); – 3º tá i 3º estágio: • Prova convencional (escrita) (0 a 7 pontos); • Exercícios práticos (0 a 3 pontos); 6
    • Apresentação p ç• Reposição , Final e Presença – Reposição: p ç • Prova convencional (escrita)(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; – Fi l Final: • Prova convencional (escrita)(0 a 10 pontos); • Todo o conteúdo dos três estágios; – Presença • Limite de faltas: 20 horas (10 aulas); 7
    • Apresentação p ç• Moodle (Ferramenta de Educação a Distância) – Material da disciplina (Slides, notas de aula,  p ( , , indicação de livros, etc.); – Divulgação e submissão das práticas em 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 Ferramenta para comunicação oficial (avisos,  lembretes, divulgação de datas,  divulgação de  notas, etc.); notas etc ); – http://ead.unipe.br 8
    • Apresentação p ç• Sites auxiliares: – http://facebook.com/profthyagomaia – h // i http://twitter.com/thyagomaia /h i – http://www.slideshare.net/thyagomaia 9
    • Apresentação p ç• Softwares que serão utilizados no curso: – VisuAlg • http://www apoioinformatica inf br/visualg/setupv2 exe http://www.apoioinformatica.inf.br/visualg/setupv2.exe – Eclipse IDE Eclipse IDE • http://www.eclipse.org 10
    • Apresentação p ç• Para ter sucesso na disciplina: – Procure estar presente em todas as aulas p • 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; aula que você perdeu; – Dúvidas? Entre em contato através das  ferramentas de comunicação do Moodle (chat,  ferramentas de comunicação do Moodle (chat fórum, mensagens, etc.); – P ti Pratique... Pratique... Pratique...  P ti P ti 11
    • Afinal, o que é um algoritmo?Afinal o que é um algoritmo?
    • Afinal, o que é um algoritmo?Sequência finita de instruções, ordenadas de  g p ç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
    • Afinal, o que é um algoritmo?Exemplo: Sequência para fritar um ovo:1) Retirar o ovo da geladeira; ) g ;2) Colocar a frigideira no fogo;3) Colocar óleo; Colocar óleo;4) Esperar até o óleo ficar quente;5) Quebrar o ovo separando a casca; Quebrar o ovo separando a casca;6) Colocar o conteúdo do ovo na frigideira;7) Esperar um minuto; Esperar um minuto;8) Retirar o ovo da frigideira;9) Apagar o fogo; Apagar o fogo; 14
    • Afinal, o que é um algoritmo?Tal sequência é um algoritmo? Vejamos...– A sequência anterior possui instruções finitas e  q p ç ordenadas? • SIM 9 instruções ordenadas; SIM. 9 instruções ordenadas; • O início de uma instrução depende da  conclusão de uma instrução anterior;  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!Logo, a sequência anterior é um algoritmo! 15
    • Afinal, o que é um algoritmo?Exercício – Ordene e estruture uma sequência para a Ordene e estruture uma sequência para a  realização de uma ligação telefônica em um  orelhão. orelhão 16
    • Afinal, o que é um algoritmo?Uma possível solução:1) Tirar o telefone do gancho; Tirar o telefone do gancho2) Ouvir o sinal de linha;3) Introduzir o cartão no orelhão;4) Teclar o número desejado; Teclar o número desejado;5) Conversar;6) Desligar;7) Tirar o cartão; Tirar o cartão; 17
    • 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) R ti Retirar o cartão; tã6) Senão... 1) Desligar; 2) Voltar para a instrução 1; 18
    • 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);Algoritmos retornam uma saída (ex.: um ovo frito) a partir de uma determinada entrada frito) a partir de uma determinada entrada(ex.: um ovo) através de uma sequência de passos;Os passos são executados um após o outro Os passos são executados um após o outro(de forma sequencial);  20
    • 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 Podem existir um ou mais algoritmos que retornamuma saída esperada; Mas podem existir algoritmos mais eficientes que  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; 21
    • Por que criamos algoritmos?Por que criamos algoritmos?
    • Por que criamos algoritmos? q gA 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 p og a açãoprogramação... A linguagem algorítmica é similar a uma linguagem de programação;Logo, aprendendo a criar algoritmos, estamos aptos Logo, aprendendo a criar algoritmos, estamos aptosa programar em qualquer linguagem de programação; 23
    • Tipos de algoritmosTipos de algoritmos
    • Tipos de algoritmos p g SUBJETIVIDADEDescrição Narrativa;Descrição Narrativa;Fluxograma;Pseudocódigo, Português Estruturado  PRECISÃOou Portugol; 25
    • Tipos de algoritmos p gDescrição Narrativa Utiliza‐se preferencialmente um verbo por frase; Formada por frases curtas e simples; Formada por frases curtas e simples; É objetiva; Evita palavras com sentido dúbio; 26
    • Tipos de algoritmos p gDescriçã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; p g p ; Gravar o resultado em outra variável; Mostrar o resultado da operação; Mostrar o resultado da operação; 27
    • Tipos de algoritmos p gFluxograma Descrevem o fluxo de ação  de um determinado  de um determinado trabalho lógico; Usa símbolos  convencionais, permitindo  poucas variações; Representados por  símbolos geométricos; 28
    • Tipos de algoritmos p gFluxograma – Exemplo: 29
    • Tipos de algoritmos p gPortuguês Estruturado (Portugol) Linguagem mais restrita que o português em  g g q p g linguagem natural; Simplificação extrema do português; Simplificação extrema do português; Significados bem definidos para todos os termos  utilizados nas instruções; utilizados nas instruções; Possui um conjunto de palavras e regras  específicas (sintaxe da linguagem); ífi (i d li ) É a representação utilizada no curso; 30
    • Tipos de algoritmos p gPortuguês Estruturado (Portugol) Normalmente as implementações são feitas em  papel, escritas a mão; papel escritas a mão; Atualmente, também são utilizados programas  que interpretam, testam e executam algoritmos; i l i − Ex.: VisuAlg (programa que utilizaremos no curso); 31
    • Desafio!
    • DesafioEscreva 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! 33
    • Desafio1. Pega a ovelha 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 lobo Deixa a ovelha e pega o lobo10. Vai para a outra margem11. Deixa o lobo12.12 Volta a margem inicial Volta a margem inicial13. Pega a ovelha14. Vai para a outra margem15. Deixa a ovelha D i lh 34
    • Explore o assunto!Explore o assunto!
    • Explore o assunto! p• Referências – Fundamentos da programação de computadores  p g ç p (ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1 36
    • Explore o assunto! p• Referências – Introdução aos  ç algoritmos(TONET, B.,  KOLIVER, C.): Introdução  , ) ç e tópicos 1; – Disponível em Disponível em   http://www.claudiorodol fo.com/ftc/ap/manual_vi fo com/ftc/ap/manual vi sualg.pdf 37