Capítulo 5: Algoritmos

Documentos relacionados
Capítulo 6: Linguagens de Programação

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

Algoritmos Estrutura Condicional

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

Capítulo 8. Estruturas de Controle no Nível de Sentença

TÉCNICO DE INFORMÁTICA - SISTEMAS

Um algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Python 3.x Estrutura de Repetição while

Estruturas de Dados Algoritmos

Estruturas de Repetição

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

LISTA DE EXERCÍCIOS O que será escrito quando os algoritmos/trechos de algoritmos abaixo forem executados (fazer no papel)?

Linguagens de Programação

Algoritmos e estrutura de dados I. Profa. Lara Popov Z. B. Oberderfer

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Programação Estruturada

Estruturas de Decisão e Estruturas de Repetição

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição Condicionais

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)

Algoritmos e Programação

Aula 5 Controle do Fluxo de Execução

Questão 1 Analise o trecho do código abaixo, escrito na linguagem C#:

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de repetição. Prof. Alex Camargo

Linguagem C estruturas de repetição

FACCAT Sistemas de Informação. Estruturas de Dados

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

& somadosnumeros = valor

Estruturas de Repetição

Laços de repetição for, while, do-while

Aula 06 Introdução à Programação com a Linguagem Python

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS

Resumindo As estruturas de repetição são utilizadas quando necessitamos realizar comandos diversas vezes

Eng. Alimentos PROGRAMA DE DISCIPLINA IDENTIFICAÇÃO CÓDIGO DISCIPLINA PRÉ-REQUISITOS

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

Estruturas de Repetição

Aula 02 ALGORITMOS. Introdução à Computação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Estruturas de Repetição

ESTRUTURAS DE CONTROLE

Análise e Complexidade de Algoritmos

Aula 7 Estruturas de Repetição Cleverton Hentz

LP II Estrutura de Dados

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

INTRODUÇÃO À PROGRAMAÇÃO

Linguagem de Programação

05/11/2018. Linguagem de Programação e Estruturada

Estrutura de decisão

tipoveiculo = (bicicleta, motociclo, motorizada, automovel, autocomreb, camioneta, autocarro, camiao, reboque); veiculo : tipoveiculo;

Algoritmos e Técnicas de programação. Professora: Luciana Faria

Oficina de Python Prof. Me. José Carlos Perini

CONTROLE DE FLUXO. Algoritmos e Programação. Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10

Programação de Computadores:

Linguagens de Programação

Introdução à Programação

Algoritmia e Programação

ao paradigma imperativo

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Aula prática 5. Funções Recursivas

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Recursão. Prof. Cristiano André da Costa. [Versão de Março de 2000] Definição

Introdução à Programação

Fundamentos de Programação

Oficina de Python Prof. Me. José Carlos Perini

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão

Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente.

Desenvolvimento de Aplicações Desktop

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Slides trabalhados durante a quinta aula

Lógica de Programação

Aula 3: Algoritmos: Formalização e Construção

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Capítulo 2 Introdução à Programação Estrutura de Controle

Aula 02. Algoritmos e Pseudocódigo

Introdução à Engenharia ENG1000

Algoritmos e Programação I

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Técnicas de Programação III Análise de Algoritmos (Continuação)

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Algoritmos I Aula 1 Introdução aos Algoritmos

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO PROGRAMA DE DISCIPLINA. Introdução a Algoritmos CCOMP CCMP

Introdução à Algoritmos INF 1005 e INF Programação I

Aulas Anteriores. Detalhes da linguagem de programação

Introdução à Computação (IC) Algoritmos: Estrutura condicional

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

Algoritmo. Conjunto finito de instruções que permitem a realização de uma tarefa. 2.1: Introdução 2. ALGORITMOS

Computação I: Representações de Algoritmos

Aula prático/expositiva. Resolução de exercícios propostos e participação em sala de aula. 2h 08/05

Algoritmos I Aula 2 Lógica de Programação

Programação de Computadores III

Transcrição:

Capítulo 5: Algoritmos Ciência da computação: Uma visão abrangente 11a Edition Autor: J. Glenn Brookshear Copyright 2012 Pearson Education, Inc.

Capítulo 5: algoritmos 5.1 O conceito de um algoritmo 5.2 Representação de algoritmo 5.3 Descoberta de algoritmo 5.4 Estruturas iterativas 5.5 Estruturas recursivas 5.6 Eficiência e correção Copyright 2012 Pearson Education, Inc. 0-2

Definição de algoritmo Um algoritmo é um conjunto ordenado de passos executáveis não-ambíguos que definem um processo finalizável. Copyright 2012 Pearson Education, Inc. 0-3

Representação de algoritmo Requer primitivas bem-definidas Uma coleção de primitivas constitui uma linguagem de programação. Copyright 2012 Pearson Education, Inc. 0-4

Figura 5.2 Produzir um pássaro através do dobramento de pedaço quadrado de papel Copyright 2012 Pearson Education, Inc. 0-5

Figura 5.3 Primitivas de Origami Copyright 2012 Pearson Education, Inc. 0-6

Primitivas de pseudocódigo Assignment (Atribuição) nome expressão Seleção condicional if condição then ação (se então) Copyright 2012 Pearson Education, Inc. 0-7

Primitivas de Pseudocódigo Execução repetida while condição do ação (enquanto faça) Procedure (procedimento) procedure name (nomes genéricos não usar primitivas) Copyright 2012 Pearson Education, Inc. 0-8

Figura 5.4 Procedimento em pseudocódigo de saudações (hello) Copyright 2012 Pearson Education, Inc. 0-9

Passos de resolução de problemas de Polya 1. Entenda o problema. 2. Elabore um plano para resolver o problema. 3. Realize o plano. 4. Avaliar a solução quanto à precisão e o seu potencial como uma ferramenta para resolver outros problemas. Copyright 2012 Pearson Education, Inc. 0-10

Tradução para o contexto da programação 1. Entender o problema 2. Idealizar um algoritmo que possa resolver o problema 3. Formular o algoritmo e implementá-lo 4. Avaliar a precisão dos resultados e o potencial para resolver outros problemas Copyright 2012 Pearson Education, Inc. 0-11

O Problema das idades das crianças Pessoa é encarregada da tarefa de determinar as idades dos três filhos do B. B diz A que o produto da idade das crianças é 36. A responde que outra pista é necessária. B diz a A a soma das idades das crianças. A responde que outra pista é necessária. B diz A que o filho mais velho toca piano. A descobre e diz a idade de cada criança. Quantos anos tem as três crianças? Copyright 2012 Pearson Education, Inc. 0-12

Figure 5.5 Copyright 2012 Pearson Education, Inc. 0-13

Estruturas iterativas Laço pré-teste enquanto (condição) faça (ação): while (condition) do (loop body) Laço pós-teste: Repetir (ação) até (condição) repeat (loop body) until(condition) Copyright 2012 Pearson Education, Inc. 0-14

O algoritmo de busca sequencial em pseudocódigo Procedimento Buscar (Lista, ValorAlvo) Se (Lista Vazia) Então (Declare que a busca falhou) Senão (Selecione o primeiro da lista como EntradadeTeste) Enquanto (ValorAlvo > EntradadeTeste E houver entradas em Lista a testar) Faça (Selecione a próxima entrada de Lista como EntradadeTeste) Se (ValorAlvo = EntradadeTeste) Então (Declare que a busca foi bem sucedida) Senão (Declare que a busca falhou) Copyright 2012 Pearson Education, Inc. 0-15

Componentes de Controle Repetitivo Inicializar Estabelecer um estado inicial que será modificado em direção à condição de término Testar Comparar o estado atual com a condição de término e terminar a repetição se a condição for alcançada Modificar Modificar o estado de forma que ele de mova para a condição de término Copyright 2012 Pearson Education, Inc. 0-16

A estrutura do laço (loop) FAÇA ENQUANTO (while - do) Copyright 2012 Pearson Education, Inc. 0-17

A estrutura do laço de repetição REPETIR ATÉ repeat until) Copyright 2012 Pearson Education, Inc. 0-18

Recursividade A execução de um procedimento leva a outra execução do procedimento. São executadas múltiplas ativações do procedimento, mas uma espera a outra terminar para prosseguir. Copyright 2012 Pearson Education, Inc. 0-19