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

Documentos relacionados
ALGORITMOS ALGORITMOS ALGORITMOS. Natureza dos passos. Apresentação das Estruturas de Algoritmos - Fluxograma

Desenvolvimento de algoritmos Desenvolvimento de Algoritmos

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

2. ALGORITMOS. Unesp Campus de Guaratinguetá

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

Introdução aos Algoritmos

Lógica de Programação

Algoritmos e Técnicas de Programação

Lógica de Programação

Revisão Histórico das Linguagens de Programação

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

Algoritmos. Introdução à Computação para a Engenharia Ambiental. Prof. Jó Ueyama

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

Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018

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

Seguindo Instruções. Linguagens de Programação Algoritmos. Introdução à Ciência da Computação. Prof. Edison Ishikawa

É neste ponto que entra o conceito de lógica de programação.

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Introdução à Ciência da Computação

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Algoritmos e Programação de Computadores Disciplina:

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

Patrícia de Siqueira Ramos. 11 de Março de 2019

SCC Capítulo 2 Introdução à Linguagem Algorítmica

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

INTRODUÇÃO LINGUAGEM C

Algoritmos. Introdução à Ciência da Computação I. Prof. Jó Ueyama

Aula 02. Algoritmos e Pseudocódigo

Computadores = cérebros eletrônicos?

Algoritmos e Fluxogramas

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

Aula 1 - Introdução Cleverton Hentz

Programação Básica de Computadores

Prof. A. G. Silva. 14 de março de Prof. A. G. Silva INE5231 Computação Científica I 14 de março de / 26

Programação de Computadores III

ALGORITMO: FASE 1 PARTE 1

Disciplina de Algoritmos e Programação

Projeto e Desenvolvimento de Algoritmos

#Conceituação. Algoritmos. Eliezio Soares

Introdução ao Conceito de Algoritmo e Programação Estruturada

Lógica de Programação I

Algoritmos e Programação

Universidade Federal de Goiás Instituto de Informática

Unidade 1 Conceitos básicos

ALGORITMOS AULA 1. Profª Amanda Gondim

Aula 1: Desenvolvimento de Algoritmos

Introdução a algoritmos. Prof.: Jesus

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Lógica e Linguagem de Programação Aula 01 - Introdução Exercícios Propostos - RESPOSTAS Professor: Danilo Giacobo

Lógica de Programação

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

Desenvolvimento de programas

Linguagem Computacional. Algoritmos e Programação Parte 1. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves. Sumário

Algoritmos e Técnicas de Programação

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano

RODAS, PNEUS E JANTES

Desenvolvimento de Algoritmos. RAD 2119 Tecnologia de Informação Aplicada a Administração. Essa aula. Lógica e Pensamento Lógico. Lógica.

Algoritmos I Aula 3 Resolução de Problemas (Fluxogramas)

Aula 2 - Introdução Cleverton Hentz

Introdução aos Algoritmos

Aula I Introdução à Lógica de Programação

Algoritmos e Programação

UFCD 0804 Algoritmos

Programação de Computadores:

Aula 01 - Apresentação da Disciplina

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

Algoritmo e Linguagem C++

Algoritmos e Programação

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LÓGICA DE PROGRAMAÇÃO. Prof. Welber Ribeiro da Silva

Lógica de Programação Lógica, Conceitos; Fluxo de Controle

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Programação em C. Victor Amorim dos Santos

Linguagem Computacional. Algoritmos e Programação Parte 1. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves. Sumário

Ivanovitch Medeiros Dantas da Silva. Natal, 01 de setembro de 2011

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

Noções de Lógica Algoritmos e Lógica de Programação. Reinaldo Gomes

Ensinando a Programação

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Programação de Computadores IV. Introdução a Algoritmos SLIDES CEDIDOS POR Bruno Marques

Introdução à Computação

Programação de Computadores III

Informática I. Aula 14. Aula 14-10/10/2007 1

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Introdução à Lógica de Programação

Algoritmos e Linguagem de Programação I

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

INTRODUÇÃO A PROGRAMAÇÃO

EMENTA. Estudo dos métodos para resolução de problemas e modelagem da solução por meio de algoritmo. Estruturação, depuração, testes e documentação.

Introdução à Lógica de Programação

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

ALGORITMOS CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Unidade 2: Algoritmos e programação

Transcrição:

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

Etapas da Construção de Software Na elaboração de programas complexos, é necessário utilizar um método sistemático de programação que permita a obtenção de programas confiáveis, flexíveis e eficientes. A metodologia mais comum para isso estabelece as seguintes etapas. Observe que, para se construir programas, não é suficiente que se conheça somente uma linguagem de programação!

CICLO DE VIDA DO SOFTWARE DEFINIÇÃO (o que) DESENVOLVIMENTO (como) MANUTENÇÃO (alterações) Análise de Sistema Análise de Requisitos Projeto Codificação Teste Entendimento Modificação Revalidação Atividades de Apoio Gerenciamento de Configuração Garantia de Qualidade de Software Planejamento e Acompanhamento

Etapas da Construção de Software Etapas da Construção de Programas DEFINIÇÃO (o que) DESENVOLVIMENTO (como) Definição do Problema Projetar a Solução usando Refinamentos sucessivos e Programação Estruturada (ALGORITMO) Codificar a Solução (Programar em Linguagem de Computador) Testar o Programa Revisões Documentação 2. O COMPUTADOR Rosely Sanches 61

ALGORITMOS Procedimento passo a passo para resolver um problema Pessoas tem inteligência e habilidade racional => fazem perguntas para se esclarecer. Computador não tem senso próprio => deve receber instruções explícitas (algoritmos)

ALGORITMOS Um algoritmo correto deve possuir 3 qualidades: 1- Cada passo do algoritmo deve ser uma instrução que possa ser realizada 2- A ordem dos passos deve ser precisamente determinada 3- O algoritmo deve ter fim

Apresentação das Estruturas de Algoritmos - Fluxogramas ALGORITMO PARA TROCAR PNEU DE UM CARRO

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR PNEU DE UM CARRO

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR PNEU DE UM CARRO

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR PNEU DE UM CARRO

Apresentação das Estruturas de Algoritmos Pseudo-código ALGORITMO PARA TROCAR PNEU DE UM CARRO Trocar Pneu E se o estepe estiver vazio? Isto traz necessidade de uma decisão entre dois cursos

ESTRUTURA CONDICIONAL se <o estepe está vazio> então chamar borracheiro senão mudar o pneu fim se

ESTRUTURA CONDICIONAL se <o estepe está vazio> então chamar borracheiro senão A mudar atividade o pneu de mudar o pneu pode ser mais detalhada fim se

ESTRUTURA SEQUENCIAL se <o estepe está vazio> então chamar borracheiro senão levantar o carro desparafusar a roda remover a roda colocar o estepe parafusar a roda abaixar o carro fim se

ESTRUTURA SEQUENCIAL se <o estepe está vazio> então chamar borracheiro senão levantar o carro A atividade de desparafusar a roda pode desparafusar a roda ser mais detalhada remover a roda colocar o estepe A parafusar atividade de a roda parafusar a roda pode ser mais abaixar detalhada o carro fim se

ESTRUTURA SEQUENCIAL se <o estepe está vazio> então chamar borracheiro senão levantar o carro desparafusar o 1 o parafuso desparafusar o 2 o parafuso desparafusar o 3 o parafuso desparafusar o 4 o parafuso remover a roda colocar o estepe parafusar o 1 o parafuso parafusar o 2 o parafuso parafusar o 3 o parafuso parafusar o 4 o parafuso abaixar o carro fim se

ESTRUTURA SEQUENCIAL se <o estepe está vazio> então chamar borracheiro senão levantar o carro desparafusar o 1 o parafuso desparafusar o 2 o parafuso desparafusar o 3 o parafuso desparafusar o 4 o parafuso remover a roda colocar o estepe parafusar o 1 o parafuso parafusar o 2 o parafuso parafusar o 3 o parafuso parafusar o 4 o parafuso abaixar o carro fim se A repetição é inconveniente A repetição é inconveniente

ESTRUTURA DE REPETIÇÃO se <o estepe está vazio> então chamar borracheiro senão levantar o carro enquanto <houver parafuso para desapertar> faça desparafusar a roda fim enquanto remover a roda colocar o estepe enquanto houver parafuso para apertar faça parafusar a roda fim do enquanto abaixar o carro fim se

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO remova a lâmpada queimada coloque a nova lâmpada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO remova a lâmpada queimada coloque a nova lâmpada O que é necessário para remover a lâmpada queimada?

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada suba na escada até que a lâmpada possa remova a lâmpada queimada ser alcançada coloque a nova lâmpada gire a lâmpada queimada no sentido antihorário até que se solte O que é necessário para remover a lâmpada queimada?

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO remova a lâmpada queimada coloque a nova lâmpada O que é necessário para colocar a lâmpada nova?

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO escolha uma lâmpada da mesma potência da queimada posicione a nova lâmpada no soquete remova a lâmpada queimada gire a lâmpada no sentido horário até que coloque a nova lâmpada ela se firme desça a escada O que é necessário para colocar a lâmpada nova?

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada suba na escada até que a lâmpada possa ser alcançada gire a lâmpada queimada no sentido anti-horário até que se solte remova a lâmpada queimada escolha uma lâmpada da mesma potência da queimada posicione a nova lâmpada no soquete gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada suba na escada até que a lâmpada possa ser alcançada Diversos passos deste algoritmo implicam operações mais elaboradas que devem ser expressas explicitamente gire a lâmpada queimada no sentido anti-horário até que se solte remova a lâmpada queimada escolha uma lâmpada da mesma potência da queimada posicione a nova lâmpada no soquete gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada suba na escada até que a lâmpada possa ser alcançada gire a lâmpada queimada no sentido anti-horário até que se solte remova a lâmpada queimada escolha uma lâmpada da mesma potência da queimada posicione a nova lâmpada no soquete gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO enquanto posicione a escada <não alcançar debaixo da lâmpada a lâmpada> queimada faça suba um degrau da escada fim enquanto suba na escada até que a lâmpada possa ser alcançada gire a lâmpada queimada no sentido anti-horário até que se solte remova a lâmpada queimada escolha uma lâmpada da mesma potência da queimada posicione a nova lâmpada no soquete gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada suba na escada até que a lâmpada possa ser alcançada gire a lâmpada queimada no sentido anti-horário até que se solte remova a lâmpada queimada escolha uma lâmpada da mesma potência da queimada posicione a nova lâmpada no soquete gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO enquanto posicione a escada <a lâmpada debaixo da não lâmpada soltar> queimada faça gire a lâmpada no sentido anti-horário fim enquanto suba na escada até que a lâmpada possa ser alcançada gire a lâmpada queimada no sentido anti-horário até que se solte remova a lâmpada queimada escolha uma lâmpada da mesma potência da queimada posicione a nova lâmpada no soquete gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada suba na escada até que a lâmpada possa ser alcançada gire a lâmpada queimada no sentido anti-horário até que se solte remova a lâmpada queimada escolha uma lâmpada da mesma potência da queimada posicione a nova lâmpada no soquete gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada se <tiver lâmpada da mesma potência> então selecione a lâmpada suba na escada até que a lâmpada possa ser alcançada posicione a nova lâmpada no soquete remova gire a a lâmpada no queimada sentido horário até que se firme desça a escada escolha uma lâmpada da mesma potência da queimada senão desça a escada posicione a nova lâmpada no soquete fim se gire a lâmpada queimada no sentido anti-horário até que se solte gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada se <tiver lâmpada da mesma potência> então selecione a lâmpada suba na escada até que a lâmpada possa ser alcançada posicione a nova lâmpada no soquete remova gire a a lâmpada no queimada sentido horário até que se firme desça a escada escolha uma lâmpada da mesma potência da queimada senão desça a escada posicione a nova lâmpada no soquete fim se gire a lâmpada queimada no sentido anti-horário até que se solte gire a lâmpada no sentido horário até que ela se firme desça a escada

Apresentação das Estruturas de Algoritmos ALGORITMO PARA TROCAR UMA LÂMPADA NO TETO posicione a escada debaixo da lâmpada queimada se <tiver lâmpada da mesma potência> então selecione a lâmpada suba na escada até que a lâmpada possa ser alcançada enquanto posicione a <a nova lâmpada lâmpadanão no soquete prender> faça gire a lâmpada no sentido horário remova gire a a lâmpada no queimada sentido horário até que se firme fim enquanto desça a escada escolha uma lâmpada da mesma potência da queimada senão desça a escada posicione a nova lâmpada no soquete fim se gire a lâmpada queimada no sentido anti-horário até que se solte gire a lâmpada no sentido horário até que ela se firme desça a escada

posicione a escada debaixo da lâmpada queimada enquanto <não alcançar a lâmpada> faça suba um degrau da escada fim enquanto enquanto <a lâmpada não soltar> faça gire a lâmpada no sentido anti-horário fim enquanto Algoritmo para Trocar uma Lâmpada remova a lâmpada queimada se <tiver lâmpada da mesma potência> então selecione a lâmpada posicione a nova lâmpada no soquete enquanto <a lâmpada não prender> faça gire a lâmpada no sentido horário fim enquanto desça a escada senão desça a escada fim se

Desenvolvimento do Algoritmo Começamos com uma afirmação genérica da solução do problema e prosseguimos até o algoritmo final, aumentando sistematicamente o nível de detalhamento.

Desenvolvimento do Algoritmo Como saber se já temos um nível suficiente de detalhes no algoritmo? Isso depende do agente que irá executar o algoritmo Os computadores têm um conjunto muito limitado de instruções e o algoritmo deve ser expresso nos termos dessas instruções.

METODOLOGIA DE DESENVOL -VIMENTO DE ALGORITMOS Passo 1: ler cuidadosamente a especificação do problema até o final. Passo 2: se depois de ler várias vezes, ainda não entender o problema, pergunte ao professor até entender. Passo 3: levantar e analisar todas as saídas exigidas na especificação do problema. Passo 4: levantar e analisar todas as entradas citadas na especificação do problema.

METODOLOGIA DE DESENVOL -VIMENTO DE ALGORITMOS Passo 5: verificar se é necessário gerar valores internamente ao algoritmo e levantar as variáveis necessárias e os valores iniciais de cada uma (comentar) Passo 6: levantar e analisar todas as transformações necessárias para, dadas as entradas e valores gerados internamente, produzir as saídas especificadas (comentar)

METODOLOGIA DE DESENVOL -VIMENTO DE ALGORITMOS Passo 7: testar cada passo do algoritmo, verificando se as transformações intermediárias executadas estão conduzindo aos objetivos desejados. Utilizar, sempre que possível, valores de teste que permitam prever os resultados. Passo 8: fazer uma reavaliação geral, elaborando o algoritmo através da integração das partes.

EXERCÍCIOS Elabore um algoritmo para fazer pipoca numa panela de fogão, usando manteiga, sal e milho de pipoca. Elabore um algoritmo para realizar uma chamada telefônica em um telefone público, usando cartão.