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

Slides:



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

Introdução a Algoritmos
Construção de Aplicativos Computacionais METEOROLOGIA
Introdução a Programação
Marco Antonio Montebello Júnior
Desenvolvendo Algoritmos
INTRODUÇÃO – LOGICA E ALGORITMOS
Raciocínio Lógico Exercícios
Programação para Geociências
Paradigmas de Linguagens Conceitos Básicos
CIC 107 Programação de Computadores I
Estruturas de Controle
UDESC - Prof. Juliano Maia adaptado por Alexandre Parra
Universidade Federal do Espírito Santo
ALGORITMO E ESTRUTURA DE DADOS
Introdução aos Algoritmos
Algoritmo I Apresentação da Disciplina
Resolução de Problemas
Programação e Sistemas de Informação
Lógica de Programação.
Algoritmos Prof. Kelly E. Medeiros.
PRC Bruno Correa.
Língua Portuguesa: Como fazer uma história em quadrinhos?
Processamento da Informação BC-05045
PORTUGUÊS ESTRUTURADO
Aula 5 Lógica de Programação Germano Marcos
Introdução à Programação
Aula 5 Lógica de Programação Germano Marcos
Lógica e Técnicas de Programação
ALGORÍTMOS E PROGRAMAÇÃO Engenharia
Introdução Capítulo 1 Lógica de Programação
INTRODUÇÃO – LOGICA E ALGORITMOS
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Algoritmos e Programação de Computadores
Prof: Luiz Carlos Zancanella :: INE / UFSC-SC 1 INE 5201 – Aula 002 Algoritmo Um conjunto de ações, com propriedades especiais e específicas e com algumas.
TÉCNICAS DE PROGRAMAÇÃO
Apresentação oral Como fazer uma boa apresentação ?
Programação e Sistemas de Informação
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
CH: 60h Créditos: 3 Prof Me. Tiago Araujo
Algoritmos Fabrício Costa Santana
Fábio de Oliveira Borges
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Programação de PIC em C Exposição das funções básicas para
ENGENHARIA DE CONTROLE E AUTOMAÇÃO COMPUTAÇÃO PARA ENGENHARIA Aula /02/2013 Professor Leomir J. Borba- –
Algoritmo e Programação
Fundamentos de linguagens de programação
Intodução a Programação
Programação Computacional Aula 5: Algoritmos
Algoritmos e Programação
Algoritmos e Programação I
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Linguagens de Programação
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
Disciplina: Lógica de Programação
Introdução à Lógica de Programação (2)
Introdução a Programação Aula 02 Jackson Eduardo
Introdução a Programação Aula 01 Jackson Eduardo
Organização, Sistemas & Métodos Fluxogramas AULA 07
DESENVOLVIMENTO Prof: Marcelo West Disciplina: Lógica de Programação.
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Curso: Técnico Integrado em Informática Disciplina : Fundamentos de Lógica e Algoritmo INTRODUÇÃO A ALGORITMO Profª. Katiuscia Lopes dos Santos.
Algoritmos – Conceitos Iniciais
Lógica de Programação – Forbellone / Eberspacher Lógica de Programação Capítulo 6 Modularizando Algoritmos.
Lógica de programação Introdução à lógica de programação
Introdução à Lógica Matemática
Lógica de Programação Introdução. Neste capítulo Introdução à Lógica de Programação Algoritmizando a Lógica Conceitos e Exemplos de Algoritmos Noções.
Introdução Capítulo 1 Lógica de Programação
Transcrição da apresentação:

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

Introdução Nesta aula Objetivos Introdução à Lógica de Programação Algoritmizando a Lógica Conceitos e Exemplos de Algoritmos Noções de Fluxo de Controle Objetivos Apresentar os conceitos elementares de lógica e sua aplicações no cotidiano Definir algoritmo Estabelecer uma relação entre lógica e algoritmos

Noções de Lógica Lógica: Ciência que estuda as formas do pensamento Sempre que pensamos a lógica nos acompanha Um bebê sabe que precisa chorar para receber atenção Um casal com 3 filhos notou que um vaso estava quebrado, enquanto 2 das crianças estavam na escola. Quem é o culpado? A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta. O pensamento (e a lógica) pode ser expresso através da palavra falada ou da palavra escrita Um mesmo pensamento pode ser expresso em inúmeros idiomas, tanto oralmente quanto por escrito Vamos estudar uma forma única de representação

Algoritmo É o pensamento descrito como uma sequência de passos que visam atingir um objetivo Algoritmos no dia-a-dia: Receita de bolo, orientação para se chegar em algum endereço Qual sua importância na programação? Representar o raciocínio, independentemente de detalhes computacionais, que podem ser acrescentados mais tarde Focalizar primeiro na resolução algorítmica do problema, possibilitando depois codificá-la em qualquer linguagem

Exemplos Trocar uma lâmpada Sequência Algoritmo 1.1: pegar uma escada; posicionar a escada embaixo da lâmpada; buscar uma lâmpada nova; subir na escada; retirar lâmpada velha; colocar lâmpada nova.

Exemplos Trocar uma lâmpada SE estiver queimada Seleção (Decisão) Algoritmo 1.2: pegar uma escada; posicionar a escada embaixo da lâmpada; buscar uma lâmpada nova; acionar o interruptor; se a lâmpada não acender, então subir na escada; retirar lâmpada queimada; colocar lâmpada nova.

Exemplos Trocar uma lâmpada SE estiver queimada (v. 2) Seleção (Decisão) Algoritmo 1.3: Evita buscar a escada e lâmpada acionar o 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 lâmpada queimada; colocar lâmpada nova.

Exemplos Trocar uma lâmpada SE estiver queimada (v. 3) Seleção (Decisão) Algoritmo 1.4: Re-teste depois da troca acionar o 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 lâmpada queimada; colocar lâmpada nova; . . .

Exemplos Trocar uma lâmpada SE estiver queimada (v. 4) Repetição Algoritmo 1.5: Re-teste depois da troca (por repetição) acionar o 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 lâmpada queimada; colocar lâmpada nova; enquanto a lâmpada não acender, faça

Exemplos Trocar 10 lâmpadas SE estiverem queimadas Repetição Algoritmo 1.6: Escrever 10 vezes acionar o interruptor do primeiro soquete; se a lâmpada não acender, então pegar uma escada; posicionar a escada embaixo da lâmpada; buscar uma lâmpada nova; acionar o interruptor; subir na escada; retirar lâmpada queimada; colocar lâmpada nova; enquanto a lâmpada não acender, faça acionar o interruptor do segundo soquete; . . .

Exemplos Trocar 10 lâmpadas SE estiverem queimadas (v. 2) Repetição Algoritmo 1.7: Contagem de trocas ir até o interruptor do primeiro soquete; enquanto a quantidade de soquetes testados for menor que 10, faça acionar o 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 lâmpada queimada; colocar lâmpada nova; enquanto a lâmpada não acender, faça ir até o interruptor do próximo soquete;

Formas de Representação Algoritmo 1.7 em Fluxograma início ir para o primeiro soquete posicionar escada não acendeu? F soquetes restantes < 10 buscar lâmpada nova F V acionar o interruptor retirar a lâmpada queimada V acionar o interruptor subir na escada colocar lâmpada nova não acendeu? retirar a lâmpada queimada F ir ao próximo soquete colocar lâmpada nova V pegar uma escada acionar o interruptor fim

Formas de Representação Algoritmo 1.7 em Chapin

Formas de Representação Gráficas (Fluxograma e Chapin) Características Maior clareza no fluxo de execução Linguagem visual Requer conhecimento de convenções gráficas Textuais (Português Estruturado) Apresenta mais vantagens, desde que se tomem alguns cuidados: Riqueza gramatical de nossa língua pode levar a ambiguidades A frase “O pregador foi grampeado durante o conserto” tem 8 sentidos diferentes quando pronunciada Para resolver, utilizaremos um conjunto restrito de regras, conhecido como Português Estruturado

Exercício 01 No torneio de atletismo, Barnabé, Gumercindo e Teodoro participam das provas de 100 metros rasos, salto em distância e arremesso de dardo. Cada um deles conseguiu um primeiro lugar, um segundo e um terceiro. Descubra o que cada um conquistou, sabendo que: Gumercindo venceu Barnabé no salto em distância; Teodoro chegou atrás de Gumercindo no arremesso de dardo; Barnabé não chegou em primeiro nos 100 metros rasos;

Resposta 01 A primeira informação garante que Barnabé não foi o primeiro e Gumercindo não foi o último no salto em distância. Com a segunda informação sabemos que Teodoro não foi o primeiro no arremesso de dardo e Gumercindo não foi o último. Assim podemos concluir que Gumercindo foi o último nos cem metros rasos. A terceira informação garante que Barnabé não foi o primeiro nos cem metros, como também não chegou em último (lugar ocupado por Gumercindo); logo ele foi segundo. Portanto, o primeiro ficou com Teodoro. Sabemos da primeira informação que Barnabé não foi o primeiro no salto; também sabemos que não foi segundo, pois ocupou essa posição nos cem metros. Portanto, terá sido o terceiro, e isso o coloca como primeiro no arremesso de dardo. No dardo, Gumercindo só pode ter sido o segundo, pois a informação número dois nos garantiu que ele não foi o último. Então sobrou para Teodoro o último lugar. No salto em distância, sabemos que Barnabé foi o terceiro, Gumercindo o primeiro e Teodoro o segundo.

Resposta 01 (cont.) Colocação final (do primeiro lugar para o terceiro): Cem metros rasos: Teodoro, Barnabé, Gumercindo; Arremesso de dardo: Barnabé, Gumercindo, Teodoro; Salto em distância: Gumercindo, Teodoro, Barnabé.

Exercício 02 Tendo como exemplo os algoritmos desenvolvidos para solucionar o problema da troca de lâmpadas, elabore um algoritmo que mostre os passos necessários para trocar um pneu furado. Considere o seguinte conjunto de situações: Trocar o pneu traseiro esquerdo; Trocar o pneu traseiro esquerdo e, antes, verificar se o pneu reserva está em condições de uso; Verificar se existe algum pneu furado; se houver, verificar o pneu reserva e, então, trocar o pneu correto. Para cada algoritmo faça um refinamento do anterior, introduzindo novas ações e alterando o fluxo de execução de forma compatível com as situações apresentadas