Prof. Paulo Villa Aula 1

Documentos relacionados
Lógica de Programação FORBELLONE, André Luis e EBERSPACHER, Henri (PLT)

INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO

INFORMÁTICA APLICADA AULA 01 ALGORITMOS

Universidade Federal de Goiás Instituto de Informática

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

Lógica de Programação. Capítulo 1. Introdução. Lógica de Programação. Forbellone / Eberspacher. Introdução

Lógica de Programação

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

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

Algoritmos. Prof. Jonatas Bastos Site:

Introdução a algoritmos. Prof.: Jesus

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

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

Lógica de Programação

Aula 1: Desenvolvimento de Algoritmos

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

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

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 06. Algoritmos e Programação. Informática II. q Noções de lógica

INTRODUÇÃO A PROGRAMAÇÃO

Desenvolvimento de algoritmos Desenvolvimento de Algoritmos

Lógica de Programação I

Programação de Computadores III

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian

#Conceituação. Algoritmos. Eliezio Soares

Disciplina de Algoritmos e Programação

Lógica de Programação

Introdução a Computação

Introdução a Programação

AULA Entrada/Saída, Operadores

Algoritmos e Programação

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

ALGORITMOS AULA 1. Profª Amanda Gondim

Programação Básica de Computadores

Introdução à Programação. Ceça Moraes

Algoritmo. pegar uma escada; posicionar embaixo da lâmpada; buscar uma lâmpada nova; ligar o interruptor; se a lâmpada não acender, então:

Algoritmos e Programação

CCO 016 / COM 110 Fundamentos de Programação

BCC 701 Programação de Computadores I

Programação para Games I

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

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

CONCEITO DE ALGORITMO

Algoritmos e Programação

Algoritmos e Programação

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

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

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

Introdução à Programação de Computadores Parte II

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

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

CAPÍTULO 1 INTRODUÇÃO À LÓGICA

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

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

BCC 701 Programação de Computadores I

LÓGICA E LINGUAGEM DE PROGRAMAÇÃO. Introdução

Algoritmos e Programação de Computadores Disciplina:

LP - Lógica de Programação

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

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

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Introdução a Algoritmos

Construção de Algoritmos

Algoritmos e Programação

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Ensinando a Programação

1. Tema central. 2. Objetivos. 3. Recursos. 4. Referências Bibliográficas. 5. Informações. 6. Conteúdo

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

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

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

Lógica de Programação

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

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

INTRODUÇÃO A ALGORITMOS

Introdução a Programação de Jogos IUE1503

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

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

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

NB217 Algoritmos e Estruturas de Dados I CAPÍTULO I. Profa. Rosanna Mara Rocha Silveira. Fevereiro/ Versão 3.3 CAPÍTULO I LÓGICA

Algoritmos e Programação - Engenharia da Computação -

Apresentação da Disciplina

Introdução aos Algoritmos

Aula 1 - Introdução Cleverton Hentz

Tópicos preliminares. O que é Lógica?

NB217 Algoritmos e Estruturas de Dados I CAPÍTULO I. Profa. Rosanna Mara Rocha Silveira. Fevereiro/ Versão 4.1 CAPÍTULO I LÓGICA

Unidade 1 Conceitos básicos

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

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

Introdução à Programação. Conceitos Básicos de Programação

Apresentação da Disciplina

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

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Computação Eletrônica

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

Algoritmos e Técnicas de Programação

Algoritmos Lógica e Programação

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Transcrição:

UNISUL 2014/ 1 Universidade do Sul de Santa Catarina Engenharia Elétrica Algoritmos Aula 1 Slides adaptados do Prof. Frederico Ferlini

Informações da Disciplina Página da disciplina gse.ufsc.br/~pvilla Controle de Frequência 2 Email: paulo.villa@unisul.br Monitoria: Cleber Itamaro cleberitamaro@gmail.com Quintas 15h00 18h00

Informações da Disciplina Avaliação: MS = P*0,6 + T*0,4 P = Prova (27/06/2014) T = Trabalho Final a ser desenvolvido na ferramenta VisuAlg 3 Prova 2º Chamada (04/07/2014) Avaliação Final (11/07/2014)

Introdução O que é um Algoritmo? Algoritmo é o caminho para solução de um problema. Em geral um problema possui diversos caminhos para sua solução. Logo, podem existir diversos algoritmos para resolver o mesmo problema. 4

Introdução Representação: Existem diversas formas de representação de algoritmos: Descrição Narrativa Pseudo-linguagens Formas gráficas Próprias linguagens de programação 5

Introdução Motivação: Uma das dificuldades constatadas no aprendizado de algoritmos (programação) é a passagem de uma língua natural (materna), de expressão completamente livre, para uma linguagem repleta de restrições, com sintaxe não familiar e, em geral, em uma língua estrangeira. 6 A passagem para uma linguagem algorítmica, embora mais restrita que a linguagem natural, mas com sintaxe conhecida e em português, representa uma passagem menos traumatizante.

Introdução Motivação: Outro motivo é o ensino do conceito de algoritmos independente da sintaxe de uma determinada linguagem de programação ; ou??? := ou = ou <=??? <> ou!= ou /=??? 7 Perda de tempo com problemas de sintaxe e não com o conceito de Algoritmos Evita associação da lógica da solução de problemas com eventuais detalhes de implementação de uma determinada linguagem

Introdução Aprendizado: 8 Algoritmos NÃO se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos SÓ se aprendem: Construindo algoritmos Testando algoritmos

Aula de Hoje 9 Slides Disciplina de Algoritmos UFJF

Sumário Revisão: Sistemas Numéricos Conversão de Base Bit: unidade atômica de informação (0 ou 1) Byte: Conjunto de 8 bits Word: é a quantidade de bits que a CPU processa por vez (normalmente 16 ou 32 bits) Sistemas Computacionais HW / SW Estrutura básica de um computador digital CPU (ULA + CTRL) Memória Principal + Secundária Interfaces (entrada ou saída) 10

Sumário Sistemas Computacionais Programação Linguagem de programação Linguagem de Máquina, Baixo Nível ou Alto Nível (de abstração) Tradutor (Compilação ou Interpretação) Algoritmos Definição: Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada num período de tempo finito, visando a solução de um problema (também bem definido) Como estudar algoritmos Conceitos básicos (ação, estado e processo) 11

Sumário Algoritmos Formas de representação Descrição Narrativa Fluxograma Convencional Pseudo-linguagem início Acionar interruptor Lâmpada não acendeu? V Pegar uma escada Colocar a escada embaixo do soquete Buscar lâmpada nova Desligar interruptor 12 F Subir na escada Retirar lâmpada queimada Descartar lâmpada queimada V Colocar lâmpada nova Acionar interruptor Lâmpada nova queimada? F fim

Exemplo Algoritmo (Sequencial) A troca de uma lâmpada: Pegar uma escada Posicionar a escada embaixo da lâmpada Buscar uma lâmpada nova Subir na escada Retirar a lâmpada velha Colocar a lâmpada nova 13

Exemplo Algoritmo (de Seleção) A troca de uma lâmpada: Pegar uma escada Posicionar a escada embaixo da lâmpada Buscar uma lâmpada nova Acionar interruptor Se a lâmpada não acender, então Subir na escada Retirar a lâmpada queimada Colocar a lâmpada nova 14

15 Exemplo Algoritmo (de Seleção)[otimizado] A troca de uma lâmpada: Acionar interruptor Se a lâmpada não acender, então Pegar uma escada Posicionar a escada embaixo da lâmpada Buscar uma lâmpada nova Subir na escada Retirar a lâmpada queimada Colocar a lâmpada nova

Exemplo Algoritmo (de seleção) [cont.] A troca de uma lâmpada: Acionar interruptor Se a lâmpada não acender, então Pegar uma escada Posicionar a escada embaixo da lâmpada Buscar uma lâmpada nova Subir na escada Retirar a lâmpada queimada Colocar a lâmpada nova Se a lâmpada não acender, então Retirar a lâmpada queimada Colocar a lâmpada nova Se a lâmpada não acender, então Retirar a lâmpada queimada Colocar a lâmpada nova 16

Exemplo Algoritmo (de Repetição) A troca de uma lâmpada: Acionar interruptor Se a lâmpada não acender, então Pegar uma escada Posicionar a escada embaixo da lâmpada Buscar uma lâmpada nova Subir na escada Retirar a lâmpada queimada Colocar a lâmpada nova Enquanto a lâmpada não acender, faça Retirar a lâmpada queimada Colocar a lâmpada nova 17

Exercícios 18 1. Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? Escreva um algoritmo mostrando a resposta, ou seja, indicando todas as ações necessárias para efetuar uma travessia segura. Notem que: O bode não pode ficar sozinho com o lobo A alfafa não pode ficar sozinha com o bode

Exercícios (Torre de Hanói) 2. Elabore um algoritmo que mova três discos de uma Torre de Hanói, que consiste em três hastes (a b c), uma das quais serve de suporte para três discos de tamanhos diferentes (1 2 3), os mesmos sobre maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste. 19

Exercício (Jesuítas + Canibais) 3. Três jesuítas e três canibais precisam atravessar um rio; para tal, dispõem de um barco com capacidade para duas pessoas. Por medidas de segurança não se permite que em alguma margem a quantidade de jesuítas seja inferior à de canibais. Qual a sequência de passos que permitiria a travessia com segurança? 20

Solução (Barco+Lobo+Bode+Alfafa) informações: um barco um homem um lobo um bode um maço de alfafa ação: atravessar o rio sem perder as cargas 21 resultado: todas as cargas na outra margem do rio. Algoritmo: início atravessar homem e bode voltar homem atravessar homem e lobo voltar homem e bode atravessar homem e alfafa voltar homem atravessar homem e bode fim

Solução (Torre de Hanói) 22 informações: 3 discos 3 hastes ações: movimentar um disco de cada vez de forma que fiquem ordenado resultado: discos transferidos e ordenados para outra haste Algoritmo: início mover o disco 1 para a haste b mover o disco 2 para a haste c mover o disco 1 para a haste c mover o disco 3 para a haste b mover o disco 1 para a haste a mover o disco 2 para a haste b mover o disco 1 para a haste b fim

Solução (Torre de Hanói) 23

Solução (Jesuítas + Canibais) informações: 3 jesuítas 3 canibais 1 barco com capacidade para 2 pessoas ações: atravessar o rio com segurança 24 resultado: 3 jesuítas e 3 canibais na outra margem do rio Algoritmo: início atravessar dois canibais voltar um canibal atravessar dois canibais voltar um canibal atravessar dois jesuitas voltar um jesuíta e um canibal atravessar dois jesuitas voltar um canibal atravessar dois canibais voltar um canibal atravessar dois canibais fim