construção de algoritmos
DESCRIPTION
Construção de Algoritmos. Aquiles Burlamaqui UERN 2007.1. Conteúdo Programático. Unidade I Fundamentos de Lógica de Programação Algoritmo (metalinguagem) Conceitos de memória, variáveis e constantes. Tipos básicos de dados Operadores aritméticos, relacionais e lógicos. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/1.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Construção de Algoritmos
Aquiles BurlamaquiUERN2007.1
![Page 2: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/2.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conteúdo Programático Unidade I
Fundamentos de Lógica de Programação Algoritmo (metalinguagem) Conceitos de memória, variáveis e constantes. Tipos básicos de dados Operadores aritméticos, relacionais e lógicos. Comandos básicos de entrada e saída e atribuição Conceito de bloco de comandos Estruturas de controle de fluxo – condicionais (se, se-senão e caso) Estruturas de controle de fluxo – repetições (para, enquanto e repita-enquanto)
Estruturas de Dados Homogêneas (vetores e matrizes)
Unidade II Estruturas de Dados Heterogêneas (registros) Modularização
Variáveis locais e globais Funções Passagem de parâmetros por valor e por referência Funções recursivas Biblioteca de funções
Unidade III Algoritmos de Busca Ponteiros
Conceitos Operador endereço e operador de acesso indireto Alocação dinâmica de memória
Arquivo
![Page 3: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/3.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Planejamento Carga horária: 90h, 15 dias
SEG. TER. QUA. QUI. SEX.
7:00h – 8:40h CA– NC CA– SC
8:50h – 10:30h CA– NC CA– SC
10:40h – 12:30h CA– NC CA– SC
![Page 4: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/4.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Metodologia
Aulas Teóricas-Práticas:
Em todas as aulas haverão uma discussão inicial, onde serão expostos conceitos assim como atividades práticas que servirão como parâmetro para avaliação.
Avaliação: A avaliação será feita de forma continua. E
Baseada em três provas escritas. Assim como trabalhos em sala aula.
![Page 5: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/5.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Bibliografia Bibliografia Básica:
Manzano, José Augusto N. Z.; Oliveira, Jayr F. de Algoritmos: Lógica para o desenvolvimento de programas de computadores. 16ª Edição. Érica, 2004.
Técnicas de programação: Uma Abordagem Estruturada;SALIBA, Walter Luiz Caram;Markron Books,2002.
Técnicas de programação: Uma Abordagem Moderna. LEIRE, Mario,Brasport,2006.
Bibliografia Complementar: Herbert Schildt; "C" Completo e Total, McGraw-Hill,1990. CHARLES E. LEISERSON ;Algoritmos: Teoria e Prática.
Internet www.google.com
![Page 6: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/6.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Motivação
Por que estudar Construção de Algoritmos?
![Page 7: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/7.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Motivação
Por que estudar Construção de Algoritmos? Disciplina base do curso de computação Pré-requisito para todas as outras
linguagens de programação;
![Page 8: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/8.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais
Três pilares Físico
Lógico
Humano
![Page 9: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/9.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais
Três pilares Físico
Hardware (CPU + Periféricos) Lógico
Firmware (Instruções de Fábrica) Software (Programas)
Algoritmo
Humano Peopleware (Profissionais)
![Page 10: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/10.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais
Origem da palavra Algoritmo Matemático Persa do século IX
Mohamed ben Musa Al-Khwarizmi, Algorithmi de numero indorum
Al-goreten (conceito que se pode aplicar aos cálculos)
Definição:
![Page 11: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/11.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais Origem da palavra Algoritmo
Matemático Persa do século IX Mohamed ben Musa Al-Khwarizmi,
Algorithmi de numero indorum Al-goreten (conceito que se pode aplicar aos
cálculos) Definição:
Receita de bolo; Um algoritmo é uma seqüência não ambígua de
instruções que é executada até que determinada condição se verifique; (wikipédia)
Conjunto ordenado e não-ambíguo de passos executáveis que definem uma atividade finita;(Brookshear)
![Page 12: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/12.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais
Algoritmo Exemplo (Ligar o Carro):
![Page 13: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/13.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais
Algoritmo Exemplo (Ligar o Carro):
Ligar o carro Pisar na embreagem Passar a primeira marcha Soltar a embreagem lentamente,enquanto
pisa no acelerador.
Algoritmo para fritar um ovo?
![Page 14: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/14.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais
Algoritmo Calcular a média na disciplina?
![Page 15: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/15.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais
Algoritmo Se não for seguido um formalismo,
podemos ter problemas.
![Page 16: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/16.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Fundamentais
Algoritmo De modo a torná-lo não ambíguo uma
formalização é necessária. Definição de regras de semântica e
sintaxe.
![Page 17: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/17.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Formas de representação de algoritmos Descrição Narrativa Fluxograma Pseudocódigo Linguagens de Programação
![Page 18: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/18.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Formas de representação de algoritmos Descrição Narrativa
Uso da linguagem natural; Temos a inconveniência da má
interpretação, originando ambigüidades e imprecisões.
Vejamos mais um exemplo: a troca de um pneu furado.
Analisar as ambigüidades e imprecisões.
![Page 19: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/19.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Descrição Narrativa
Algoritmo afrouxar ligeiramente as porcas; suspender o carro; retirar as porcas e o pneu; colocar o pneu reserva e as porcas; abaixar o carro; dar o aperto final nas porcas.
![Page 20: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/20.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Fluxograma Uso de formas geométricas distintas
produzindo ações distintas Início ou fim do fluxograma.
Entrada de dados.
Cálculo de expressões.
Saída de resultados.
Tomada de decisão
Fluxo.
![Page 21: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/21.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Fluxograma
![Page 22: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/22.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Pseudocódigo Uso de linguagem própria, aproximando-se
mais das linguagens de alto nível, chamado, também de pseudolinguagem ou ainda portugol.
Forma geral:Algoritmo < nome_do_algoritmo >
< declaração_de_variáveis >Início < Instruções >Fim
![Page 23: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/23.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Pseudocódigo Algoritmo Média_do_aluno
Real: m1,m2,mediaInício
Escreva(“Digite as duas notas:”)Leia(m1,m2)media (m1+m2)/2Se (média >= 5) então
Escreva (“APROVADO”)Senão
Escreva (“REPROVADO”)Fim_se
Fim
![Page 24: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/24.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Linguagens de Programação
Linguagens de Programação Uma linguagem de programação é um
método padronizado para expressar instruções para um computador.
É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.
![Page 25: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/25.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Linguagens de Programação
Linguagens de baixo nível Linguagens de máquina, assembly
Linguagens de alto nível Fortran, Cobol, C, C++, Java, Pyton, Lua,
Basic, Pascal...
![Page 26: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/26.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conceitos Básicos
Baixo nível Código otimizado,Indicado para
situações onde não há opção de alto nível
Alto nível Programação do algoritmo mais fácil Portabilidade Manutenção do código
![Page 27: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/27.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Processadores de Linguagens
Compilação
Interpretação
![Page 28: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/28.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Compilação
![Page 29: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/29.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Linguagem de Programação C
Flexibilidade Portabilidade Usada no desenvolvimento de:
Unix Linguagem C, C++ Java Etc
![Page 30: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/30.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Linguagem de Programação C
Programas em C geram programas executáveis.
Mais veloz que outras linguagens de alto nível.
Linguagem de relativo baixo nível, permite operações com bits, bytes, endereços de memórias.
![Page 31: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/31.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Linguagem de Programação C
Instalação Windows
Dev-C++ Turbo C++
Linux gcc
![Page 32: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/32.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Tipos de Dados
Manipulação de informações na memória Instruções Dados
Memória1 célula = 1 byte = 8 bits1 bit possui 2 estados: 0 e 1 (dígitos binários).1 byte possui 28 = 256 estados possíveis.
![Page 33: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/33.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Tipos de Dados
Tipos básicos podem ser: Numéricos;
Inteiros Reais;
Literais; Lógicos;
![Page 34: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/34.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Tipo de Dados
Numéricos Inteiros: sem parte fracionária nem
ponto; Ex: 86 0 234 -34 4324
Reais: com parte fracionária e ponto; Ex:85.3 -9.34 10.0 6.0 0.00
![Page 35: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/35.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Tipos de Dados Literais: Seqüências de caracteres contendo
letras, dígitos e/ou símbolos especiais Também chamados de:
“alfanuméricos” “cadeia de caracteres” “strings”
Serão representados nos algoritmos entre aspas.
Ex:“UERN” comprimento 4; “Construção de Algoritmos” comprimento ?; “29/04/80” comprimento ? “” comprimento ? “ “ comprimento ?
![Page 36: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/36.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Tipos de Dados
Lógico Usados para representar dois únicos
valores lógicos possíveis: verdadeiro e falso.
Representados nos algoritmos como: .V. (verdadeiro) e .F. (falso).
![Page 37: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/37.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Armazenamento na Memória
![Page 38: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/38.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Trabalho 01
Escrever o pseudo-código da média da UERN baseado no fluxograma criado em sala de aula.
Entregar próxima aula.
![Page 39: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/39.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
![Page 40: Construção de Algoritmos](https://reader035.vdocuments.com.br/reader035/viewer/2022062800/56813f9a550346895daa8acf/html5/thumbnails/40.jpg)
Professor: Aquiles Burlamaqui
Construção de Algoritmos
FIM PRIMEIRA AULA