Construção de Algoritmos

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Linguagem de Programação I
TÉCNICAS DE PROGRAMAÇÃO I
Introdução à Programação
Introdução à Ciência da Computação Linguagens de Programação.
Renata Freire Programação 1 Renata Freire
Algoritmo Exemplo: faça um algoritmo para tocar todas as músicas de um cd. Após o usuário apertar o play Algoritmo Para as músicas de 1 até última música.
Algoritmos e Programação
Construção de Algoritmos AULA 07
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Paradigmas de Linguagens Conceitos Básicos
Algoritmos.
Tipos de dados, Variáveis, Expressões e Operadores
ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES
Introdução a Programação Renata Freire
INTRODUÇÃO À PROGRAMAÇÃO
Estruturas de Controle
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
ALGORITMO E ESTRUTURA DE DADOS
Ling. e Técnicas de Programação I 3º semestre Plano de Ensino 2011
INTRODUÇÃO À PROGRAMAÇÃO
PRC Bruno Correa.
Algoritmos e Estruturas de Dados I Construção de Algoritmos
Introdução à Programação
PROGRAMAÇÃO I UNIDADE 1.
Comunicação Inclusiva Acessibilidade e Programação Web
Construção de Algoritmos
Linguagem de Programação II Parte IX
Representação de Algoritmos
Estrutura de dados, pseudocódigo
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 05 Aquiles Burlamaqui UERN
Construção de Algoritmos AULA 03
PCI- Introdução à Computação
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Introdução a Programação
Algoritmos e Programação de Computadores
Fábio de Oliveira Borges
Operadores Relacionais, Lógicos e comandos de condição
TÉCNICAS DE PROGRAMAÇÃO
Lógica Estruturada Aplicada
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Conceitos Básicos Luis Antonio Tavares
Objetivos Representação de Algoritmos Português Estruturado
Introdução a Algoritmos
Projeto de Linguagens de Programação
Algoritmos Estruturados
Programação de PIC em C Exposição das funções básicas para
Conceitos Básicos de Informática
Algoritmos e Estrutura de Dados I
Informática Básica Profa. Ms. Viviane Guimarães Ribeiro Prof. João Luis Sanches Prof. Ms. Rodrigo de Maio Almeida.
Linguagens de Programação
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos Aquiles Burlamaqui UERN
Fundamentos de linguagens de programação
Programação de Computadores - 1
Algoritmos e Programação MC102
Construção de Algoritmos AULA 05
Linguagens de Programação
Algoritmos e Programação I
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
ALGORITMOS.
SISTEMAS DE INFORMAÇÃO
Linguagem de Programação I PARTE i
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
PROGRAMAÇÃO DE COMPUTADORES Engenharia Unificado Prof. Leonardo Bacelar Lima Santos Departamento de Matemática
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Lógica de programação Introdução à lógica de programação
Transcrição da apresentação:

Construção de Algoritmos Aquiles Burlamaqui UERN 2007.1 Professor: Aquiles Burlamaqui

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 Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui Planejamento Carga horária: 90h, 15 dias SEG. TER. QUA. QUI. SEX. 7:00h – 8:40h CA– NC CA– SC 8:50h – 10:30h 10:40h – 12:30h Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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. Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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 Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui Motivação Por que estudar Construção de Algoritmos? Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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; Professor: Aquiles Burlamaqui

Conceitos Fundamentais Três pilares Físico Lógico Humano Professor: Aquiles Burlamaqui

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) Professor: Aquiles Burlamaqui

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: Professor: Aquiles Burlamaqui

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) Professor: Aquiles Burlamaqui

Conceitos Fundamentais Algoritmo Exemplo (Ligar o Carro): Professor: Aquiles Burlamaqui

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? Professor: Aquiles Burlamaqui

Conceitos Fundamentais Algoritmo Calcular a média na disciplina? Professor: Aquiles Burlamaqui

Conceitos Fundamentais Algoritmo Se não for seguido um formalismo, podemos ter problemas. Professor: Aquiles Burlamaqui

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. Professor: Aquiles Burlamaqui

Formas de representação de algoritmos Descrição Narrativa Fluxograma Pseudocódigo Linguagens de Programação Professor: Aquiles Burlamaqui

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. Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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. Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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. Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui Fluxograma Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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 Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui Pseudocódigo Algoritmo Média_do_aluno Real: m1,m2,media Início Escreva(“Digite as duas notas:”) Leia(m1,m2) media  (m1+m2)/2 Se (média >= 5) então Escreva (“APROVADO”) Senão Escreva (“REPROVADO”) Fim_se Fim Professor: Aquiles Burlamaqui

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. Professor: Aquiles Burlamaqui

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... Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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 Professor: Aquiles Burlamaqui

Processadores de Linguagens Compilação Interpretação Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui Compilação Professor: Aquiles Burlamaqui

Linguagem de Programação C Flexibilidade Portabilidade Usada no desenvolvimento de: Unix Linguagem C, C++ Java Etc Professor: Aquiles Burlamaqui

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. Professor: Aquiles Burlamaqui

Linguagem de Programação C Instalação Windows Dev-C++ Turbo C++ Linux gcc Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui Tipos de Dados Manipulação de informações na memória Instruções Dados Memória 1 célula = 1 byte = 8 bits 1 bit possui 2 estados: 0 e 1 (dígitos binários). 1 byte possui 28 = 256 estados possíveis. Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui Tipos de Dados Tipos básicos podem ser: Numéricos; Inteiros Reais; Literais; Lógicos; Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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 Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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 ? Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui 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). Professor: Aquiles Burlamaqui

Armazenamento na Memória Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui Trabalho 01 Escrever o pseudo-código da média da UERN baseado no fluxograma criado em sala de aula. Entregar próxima aula. Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui

Professor: Aquiles Burlamaqui FIM PRIMEIRA AULA Professor: Aquiles Burlamaqui