Metodologias de Programação



Documentos relacionados
1. Noção de algoritmo

Matemática Discreta. Leandro Colombi Resendo. Matemática Discreta Bacharel em Sistemas de Informações

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

INF1005: Programação I. Algoritmos e Pseudocódigo

Algoritmos. Prof. Jonatas Bastos

Árvores de Decisão Matemática Discreta

Algoritmo e Pseudo-código

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Análise de algoritmos. Parte II

UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT DEPTO. DE ENG. DE PRODUÇÃO E SISTEMAS 1 REDES PERT-CPM

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

Introdução à Algoritmos. Aula 11

Linguagens de Programação:

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Universidade Paulista

Informática Aplicada

Figura 8: modelo de Von Neumann

Orientação a Objetos

OBSERVAÇÕES: EXERCÍCIOS

Arquitectura interna de um computador

Comandos de Desvio 1

Semana 7 Resolução de Sistemas Lineares

Circuitos Aritméticos

Relações. Antonio Alfredo Ferreira Loureiro. UFMG/ICEx/DCC MD Relações 1

Sistemas Numéricos. Tiago Alves de Oliveira

CAP. II RESOLUÇÃO NUMÉRICA DE EQUAÇÕES NÃO LINEARES

ALGORITMOS E PROGRAMAÇÃO TEÓRICA RAÍ ALVES TAMARINDO RAI.TAMARINDO@UNIVASF.EDU.BR

Estruturas de Repetição

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Representação de Circuitos Lógicos

Administração Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos:

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED

Notas de aula de Lógica para Ciência da Computação. Aula 11, 2012/2

Matemática Aplicada às Ciências Sociais

Fundamentos de Arquitetura e Organização de Computadores

alocação de custo têm que ser feita de maneira estimada e muitas vezes arbitrária (como o aluguel, a supervisão, as chefias, etc.

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão

BLOCO: ESPAÇO E FORMA

Árvore de Decisão. 3. Árvore de Decisão

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Capítulo VI Circuitos Aritméticos

CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA. Introdução à Programação em C. Algoritmos: Estruturas de Repetição. Prof. Dr. Galeno.J.

Introdução à Inteligência Artificial 2007/08

Matemática Aplicada às Ciências Sociais- 11º ano

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

BC-0506: Comunicação e Redes Introdução aos Grafos

Programação Dinâmica. Aplicação directa - Fibonacci

Introdução a Programação Aula 01

Circuitos Lógicos Aula 3

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Modelagem de Sólidos. 35T56 Sala 3E1 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos.

3.3 Qual o menor caminho até a Escola? 28 CAPÍTULO 3. CICLOS E CAMINHOS

Arte e Matemática. Série Matemática na Escola

13/09/2011. Atividades. Aula 5: REDE PERT/CPM PRINCÍPIOS DO PERT-CPM

Planejamento Anual OBJETIVO GERAL

Informação-Prova de Equivalência à disciplina de: Aplicações Informáticas B. 1. Introdução. Ensino Secundário. Ano letivo de 2011/12

Resolução de Problemas. Orientador(a): Giselle Costa Alunos: André Parducci Elidiel Dantas

COLÉGIO ESTADUAL VISCONDE DE BOM RETIRO - PIBID. Professoras: Fernanda Menegotto, Jéssica Tumelero, Leidi Simonini, Maiara Ghiggi e Patricia Balbinot.

Brincando com operações de adição e subtração; unidade, dezena e centena; horas; números pares e ímpares e sequência numérica

Exercícios: Comandos de Repetição

Título : B1 INTRODUÇÃO. Conteúdo : INTRODUÇÃO

Primeira Prova de Análise e otimização de Código - DCC888 -

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

Exercícios: comandos de repetição

Problema da Árvore Geradora Mínima

CURSO DE MATEMÁTICA BÁSICA PROGRAMA DE EDUCAÇÃO TUTORIAL CENTRO DE ENGENHARIA DA MOBILIDADE

ÁLGEBRA BOOLEANA- LÓGICA DIGITAL

REGULAMENTO ESPECÍFICO DE VOLEIBOL XIRA 2016

Teoria dos Grafos Aula 9

Engenharia Econômica

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

AGRUPAMENTO DE ESCOLAS DE SAMORA CORREIA ESCOLA BÁSICA PROF. JOÃO FERNANDES PRATAS ESCOLA BÁSICA DE PORTO ALTO

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Data Path / Control Path Controle do MIPS

Aritmética Computacional. Prof. Leonardo Barreto Campos 1

Algoritmos APRENDENDO A PROGRAMAR COM C#

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

Teste de Funções por Cobertura do Grafo de Fluxo de Controle

Unidade 2: Algoritmos e programação

Relatório das Provas da 2ª. Fase - Vestibular 2016

EXPLORANDO A RESOLUÇÃO DE PROBLEMAS COM O MAPLE

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

Processo de Desenvolvimento de Software

Usando potências de 10

Engenharia de Software

O SOFTWARE R EM AULAS DE MATEMÁTICA

Avaliação e Desempenho Aula 1 - Simulação

Ferramenta 8: Fluxograma

Lógica para computação Professor Marlon Marcon

Organização e Arquitetura de Computadores I

Álge g bra b B ooleana n Bernardo Gonçalves

Transcrição:

Metodologias de Programação Bloco 1 José Paulo 1

Formador José António Paulo E-mail: questoes@netcabo.pt Telemóvel: 96 347 80 25 Objectivos Iniciar o desenvolvimento de raciocínios algorítmicos Linguagem JAVASCRIPT José Paulo 2

s Teoria e Prática Conjunto de etapas finitas, ordenadamente definidas com o propósito de obter soluções para um determinado problema. José Paulo 3

É uma sequência não ambígua de instruções que é executada até que determinada condição se verifique Mais especificamente, em matemática, constitui o conjunto de processos (e símbolos que os representam) para efectuar um cálculo O conceito de algoritmo é frequentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja terminada Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema José Paulo 4

Um algoritmo não representa, necessariamente, um programa de computador, mas sim os passos necessários para realizar uma tarefa A sua implementação pode ser feita por um computador, por outro tipo de autómato ou mesmo por um ser humano Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos tempo, espaço ou esforço do que outros Tal diferença pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo José Paulo 5

Por exemplo Um algoritmo para se vestir pode especificar que se calcem primeiro as meias e os sapatos antes de vestir as calças enquanto outro algoritmo especifica que se deve primeiro vestir as calças e só depois as meias e os sapatos Fica claro que o primeiro algoritmo é mais difícil de executar que o segundo apesar de ambos levarem ao mesmo resultado s Trocar uma lâmpada fundida de um candeeiro: 1. Início ( Tem sempre um início ) 2. Arranjar uma escada 3. Posicionar a escada debaixo da lâmpada 4. Arranjar uma lâmpada nova 5. Subir a escada até alcançar a lâmpada 6. Girar a lâmpada fundida no sentido contrário aos ponteiros do relógio, até que se solte 7. Fixar a lâmpada nova, girando no sentido dos ponteiros do relógio 8. Descer a escada 9. Guardar a escada 10. Fim ( Tem sempre um fim ) José Paulo 6

Elaborar um algoritmo para uma substituição de um pneu de um automóvel Elaborar um algoritmo para fazer um bolo s Fórmula para resolver um problema bem definido Entrada de dados Saída de dados José Paulo 7

Um programa de computador é essencialmente um algoritmo que diz ao computador os passos específicos e em que ordem eles devem ser executados Por exemplo, os passos a serem tomados para calcular as notas que serão impressas nos boletins dos alunos de uma escola Um programa de computador é essencialmente um algoritmo que diz ao computador os passos específicos e em que ordem eles devem ser executados Por exemplo, os passos a serem tomados para calcular as notas que serão impressas nos boletins dos alunos de uma escola Um algoritmo pode então ser considerado uma sequência de operações que podem ser simuladas por um sistema computacional José Paulo 8

Quando os procedimentos de um algoritmo envolvem o processamento de dados a informação: É lida de uma fonte de entrada Processada E retornada sob novo valor após processamento Este processamento geralmente é realizado com o auxílio de uma ou mais estruturas de dados Para qualquer processo computacional, o algoritmo precisa estar rigorosamente definido, especificando a maneira que ele se comportará em todas as circunstâncias A confiabilidade do algoritmo pode ser provada matematicamente, bem como a quantidade assintótica de tempo e espaço (complexidade) necessários para a sua execução Estes aspectos dos algoritmos são alvo da análise de algoritmos José Paulo 9

A maneira mais simples de se pensar num algoritmo é através de uma lista de procedimentos bem definida, no qual as instruções são executadas passo a passo a partir do começo da lista Pode ser facilmente visualizada através de um fluxograma Fluxograma Fluxograma é um tipo de diagrama Pode ser entendido como uma representação esquemática de um processo, muitas vezes feita através de gráficos que ilustram de forma descomplicada a transição de informações entre os elementos que o compõem Podemos entendê-lo, na prática, como a documentação dos passos necessários para a execução de um qualquer processo José Paulo 10

Fluxograma O estado em vermelho indica a entrada do algoritmo enquanto os estados em verde indicam as possíveis saídas Elaborar um algoritmo que, dada uma série de números, diz qual é o maior Elaborar um algoritmo que, dada uma série de números, ordena-os por ordem decrescente José Paulo 11

Grafo Um grafo é um conjunto de pontos, chamados vértices (ou nodos ou nós), interligados por linhas, chamadas de arestas (ou arcos) Um grafo com 6 vértices e 7 arestas Grafo Dependendo da aplicação As arestas podem ou não ter direcção Pode ser permitido ou não as arestas ligarem um vértice a ele próprio Vértices e/ou arestas podem ter um peso (numérico) associado José Paulo 12

Grafo Se as arestas tiverem uma direcção associada (indicada por uma seta na representação gráfica) temos um grafo orientado, ou dígrafo Caso não tenham uma direcção associada, temos um grafo não orientado, ou simplesmente grafo Um grafo com um único vértice e sem arestas é conhecido como o grafo trivial ou "o ponto" Problema do caminho mais curto Consiste na minimização do custo de travessia de um grafo entre dois nós (ou vértices) Este custo é dado pela soma dos pesos de cada aresta percorrida José Paulo 13

do caminho mais curto Encontrar o caminho mais curto entre: A-C D-E F-B C-D E-A D-B Árvores binárias Em ciências da computação, a árvore de busca binária ou árvore de pesquisa binária É uma árvore binária onde todos os nós são valores Todos os nós da esquerda têm uma sub-árvore com os valores menores ao nó raiz da sub-árvore Todos os nós da sub-árvore da direita têm apenas valores maiores que o nó raiz José Paulo 14

Árvores binárias Os valores são relevantes na árvore de busca binária O objectivo desta árvore é estruturar os dados de forma flexível permitindo pesquisa binária Representação de Uma Árvore de busca binária de ordenação de árvores binárias Construir uma árvore do ordenação de árvores com os seguintes valores 20, 2, 18, 80, 90, 21, 22, 7, 30, 99, 50, 23 José Paulo 15