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

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

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

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

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

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I

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

Unidade 3: Introdução à Lógica Prof. Daniel Caetano

Unidade 3: Introdução à Lógica Prof. Daniel Caetano

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

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

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

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

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA DISCUSSÃO DOS EXERCÍCIOS E EXERCÍCIOS EXTRAS

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO ESTRUTURAS DE DECISÃO PARA ENGENHARIA. Prof. Dr. Daniel Caetano

Algoritmos Computacionais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Sintática: como é escrito cada elemento da linguagem de programação.

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Programação de Redes de Computadores

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

Unidade 2: Fundamentos da Programação de Computadores Prof. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

Programação de Computadores

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

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

INFORMÁTICA PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

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

Linguagem de Programação I. Aula 02 Algoritmos

Introdução à Programação. slides de Deise Sacol

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano

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

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON

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

Técnicas de Programação

Unidade 10: Estruturas de Decisão Compostas Prof. Daniel Caetano

CONCEITO DE COMPUTADOR. O que é um computador?

Unidade 5: Introdução à Programação com C/C++

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON

Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

Ensinando a Programação

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

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

Fluxogramas e variáveis

Introdução à Programação. slides de Deise Sacol

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

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

Métodos de Representação de Algoritmos

Processamento da Informação BC-05045

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

ALGORITMOS AULA 1. Profª Amanda Gondim

INTRODUÇÃO A PROGRAMAÇÃO

3.1 - O que é um diagrama de bloco? Simbologia... 11

I - CONCEITOS INICIAIS

Algoritmos I Introdução a Algoritmos. Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Introdução a Algoritmos

ESTRUTURA COM DECISÃO COMPOSTA

Aula 02. Algoritmos e Pseudocódigo

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

Algoritmos. Seqüência finita e ordenada de procedimentos que resolvem um determinado problema. Exemplo: O que preciso fazer para preparar um omelete?

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..

CONCEITOS DE ALGORITMOS

Programação de Computadores

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

Conceitos Práticos de Lógica de Programação

Introdução a Programação

Fundamentos de Programação

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano

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

Algoritmos Computacionais

Pseudocódigo e Visualg

FIC Introdução à Programação de Computadores

Capítulo 1 - Lógica e Algoritmos

Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano

Computação Eletrônica

Programação Estruturada

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

Programação de Computadores III

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

Programação de Computadores:

Unidade 9: Introdução às Estruturas de Decisão

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

Algoritmos e Programação

Programação de Computadores I

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

Introdução à Programação

Transcrição:

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

Objetivos Compreender do que é composto um programa Compreender o que é lógica Compreender o que são algoritmos Conhecer as formas de representar algoritmos Lista Aula 3!

Material de Estudo Material Notas de Aula Apresentação Material Didático Acesso ao Material http://www.caetano.eng.br/ (Aula 3) http://www.caetano.eng.br/ (Aula 3) Lógica de Programação Fundamentos da Programação de Computadores, páginas 1 a 7.

DE QUE É COMPOSTO UM PROGRAMA?

Introdução Programa: cálculos e decisões lógicas Cálculos? Somas, subtrações... Multiplique o salário por 1.5... Decisões lógicas? Coordenam cálculos: resolver problema maior Quando os cálculos devem ser feitos Se o funcionário nunca faltou...

Introdução Decisões a serem tomadas: O funcionário merece aumento? O cliente vai ganhar desconto nessa compra? O aluno deve ser aprovado neste curso? Importante no programa! Programar é, em geral, um exercício de lógica

O QUE É LÓGICA?

O que é Lógica? Lógica é uma ciência das leis do raciocínio Encadear o raciocínio: concluir a partir de premissas Usamos lógica no dia a dia Andar de ônibus Preço da passagem: R$ 3,50 Não adianta ter R$3,49! Aprovação no curso Média 6,0 e Frequência 75% Não adianta tirar 10,0 se tiver frequência 50%!

O que é Lógica? Analisemos alguns casos aos exemplos: Se o funcionário pouco falta, terá aumento. Se o cliente for idoso, vai ganhar desconto. Se o aluno falta muito, será aprovado no curso. O que é comum em todas essas regras?! Cada uma delas pode ser avaliada como falsa ou verdadeira

Formalizando a Lógica A análise fica mais simples se formalizada Como avaliar isso? Se o funcionário pouco falta, terá aumento. Afirmação subjetiva! Como tornar essa expressão objetiva? Transformá-la em uma expressão matemática! Definir um critério: O que define se o funcionário recebe aumento? Qual o número faltas? Número de faltas igual a zero?

Formalizando a Lógica Então podemos traduzir essa afirmação: Se o funcionário pouco falta, terá aumento Em algo como Se número de faltas é zero aumento Observe como a avaliação é objetiva! número de faltas é zero : regra da decisão Os matemáticos chamam isso de... proposição

Proposições Decisões lógicas: descritas por proposições O que define uma proposição? 1. Uma proposição deve ser verdadeira ou falsa 2. Uma proposição não pode ser verdadeira e falsa, simultaneamente

Proposições O Corinthians é Decisões lógicas: descritas por proposições melhor que o O que define uma proposição? Palmeiras. 1. Uma proposição deve ser verdadeira ou falsa 2. Uma proposição não pode ser verdadeira e falsa, simultaneamente

Proposições A: 2 + 3 = 5 Proposição verdadeira! B: 2+2 > 5 Proposição falsa! Exercício: 6 > 8 falso (1+3) < 2 falso 2 < (1.5*2) verdadeiro

Proposições Proposições vistas: proposições simples Existe apenas uma comparação. É sempre suficiente? Aprovação no curso Média 6,0 e Frequência 75% Não adianta tirar 10,0 se tiver frequência 50%! É igual ou diferente de dizer... Média 6,0 ou Frequência 75%? DIFERENTE!

Proposições Compostas Imagine o requisito de aprovação abaixo A: M 6,0 B: F 75% Aprovação: AMBAS devem ser verdadeiras. Como escrever isso? Criando uma terceira proposição: C: A E B C será verdadeira apenas se A e B forem verdadeiras simultaneamente!

Operações Lógicas Proposições podem ser modificadas e compostas com os seguintes operadores: C: NÃO A A proposição resultante C será verdadeira quando A for falsa e vice-versa. C: A E B A proposição resultante C só será verdadeira se A e B forem, simultaneamente, verdadeiras C: A OU B A proposição resultante C só será falsa se A e B forem, simultaneamente, falsas

Qual o Resultado das Operações? Tabela Verdade p Operação q Resultado Falsa OU Falsa Falsa Falsa OU Verdadeira Verdadeira Verdadeira OU Falsa Verdadeira Verdadeira OU Verdadeira Verdadeira Falsa E Falsa Falsa Falsa E Verdadeira Falsa Verdadeira E Falsa Falsa Verdadeira E Verdadeira Verdadeira - NÃO Falsa Verdadeira - NÃO Verdadeira Falsa

Como Usar em Programação? Tomar decisões Se (média 6,0 E frequencia 0.75) então imprima aluno aprovado! Se não Imprima aluno reprovado! Será visto em detalhe posteriormente... Por enquanto, exercitem!

Exercício Analisemos as proposições abaixo 7 > 5 3 < 2 2 < 3 E 3 < 2 2 < 3 E 2+3 < 3+4 7 > 18 OU 2*6 < 17 8 > 6 OU 7 < 12 E 5 > 9 (8 > 6 OU 7 < 12) E 5 > 9 NÃO (9 < 5 OU 11 < 16) NÃO 9 < 5 OU 11 < 16

Exercício Analisemos as proposições abaixo 7 > 5 verdadeiro 3 < 2 falso 2 < 3 E 3 < 2 falso 2 < 3 E 2+3 < 3+4 verdadeiro 7 > 18 OU 2*6 < 17 verdadeiro 8 > 6 OU 7 < 12 E 5 > 9 verdadeiro (8 > 6 OU 7 < 12) E 5 > 9 falso NÃO (9 < 5 OU 11 < 16) falso NÃO 9 < 5 OU 11 < 16 verdadeiro

RESOLVENDO PROBLEMAS: PROGRAMAÇÃO E ALGORITMOS

O que é programar? Programar: configurar o computador para que ele resolva um problema Algoritmo: definição de passos para resolver um problema LOGO... Programar é configurar o computador para que ele siga os passos de um algoritmo!

O que é programar? Programar: configurar o computador para que ele resolva Primeiro um problema desenvolvemos Algoritmo: um definição algoritmo... de passos para resolver um problema E depois programamos o LOGO... algoritmo! Programar é configurar o computador para que ele siga os passos de um algoritmo!

Desenvolvendo Algoritmos Mas qual a cara de um algoritmo? Isso parece complicado... Mas não é! Fazemos algoritmos o tempo todo... Receitas Instruções Listas de compras

Algoritmo: Fazendo Omelete 1. Em um prato fundo, bata 3 ovos 2. Acrescente sal 3. Acrescente cheiro-verde 4. Bata mais um pouco 5. Leve ao fogo médio em frigideira untada com manteiga 6. Depois de dourar um lado, vire e deixe dourar o outro

Algoritmo: Fazendo Omelete 1. Em um prato fundo, bata 3 ovos 2. Acrescente sal 3. Acrescente cheiro-verde 4. Bata mais um pouco 5. Leve ao fogo médio em frigideira untada com manteiga 6. Depois de dourar um lado, vire e deixe dourar o outro

Algoritmo: Fazendo Omelete 1. Em um prato fundo, bata 3 ovos 2. Acrescente sal 3. Acrescente cheiro-verde 4. Bata mais um pouco Onde estão os ovos? 5. Leve ao fogo médio em frigideira untada com manteiga 6. Depois de dourar um lado, vire e deixe dourar o outro

Algoritmo: Fazendo Omelete 1. Em um prato fundo, bata 3 ovos 2. Acrescente sal 3. Acrescente cheiro-verde 4. Bata mais um pouco 5. Leve ao fogo médio em frigideira untada com manteiga 6. Depois de dourar um lado, vire e deixe dourar o outro

Algoritmo: Fazendo Omelete 1. Em um prato fundo, bata 3 ovos 2. Acrescente sal 3. Acrescente cheiro-verde Bater os 4. Bata mais um pouco ovos? 5. Leve ao fogo médio em frigideira untada com manteiga 6. Depois de dourar um lado, vire e deixe dourar o outro

Algoritmo: Usar um Novo DVD 1. Ligue os cabos 2. Ligue o aparelho de TV 3. Ligue o DVD 4. Insira o DVD

Algoritmo: Usar um Novo DVD 1. Ligue os cabos 2. Ligue o aparelho de TV 3. Ligue o DVD 4. Insira o DVD

Algoritmo: Usar um Novo DVD 1. Ligue os cabos 2. Ligue o aparelho de TV 3. Ligue o DVD Quais 4. Insira o DVD cabos?

Algoritmo: Usar um Novo DVD 1. Ligue os cabos 2. Ligue o aparelho de TV 3. Ligue o DVD Ligar onde? 4. Insira o DVD

Algoritmo Refinado: Usar DVD 1. Pegue os cabos de áudio e vídeo 2. Conecte a TV ao DVD com o uso desses cabos, com base em sua cor 3. Ligue o conector da energia da TV na tomada 4. Ligue o conector de energia do DVD na tomada 5. Aperte o botão Ligar da TV 6. Aperte o botão Ligar do DVD 7. Aperte o botão Eject do DVD 8. Insira o disco DVD na bandeja 9. Aperte o botão Eject do DVD 10. Aperte o botão Play do DVD

Algoritmo Refinado: Usar DVD 1. Pegue Refinamento: os cabos de áudio adicionar e vídeo detalhes, 2. Conecte a TV ao DVD com o uso desses cabos, com muitas vezes minimizando o base em sua cor 3. Ligue o conector conhecimento da energia da prévio TV na tomada 4. Ligue o conector de energia do DVD na tomada 5. Aperte o Reduzir botão Ligar a necessidade TV de 6. Aperte conhecimentos o botão Ligar do DVD do executor: 7. Aperte o botão Eject do DVD explicar para: criança x adulto 8. Insira o disco DVD na bandeja 9. Aperte o botão Eject do DVD 10. Aperte o botão Play do DVD

Nível de Refinamento Qual o conhecimento do computador? 1. Alguns tipos de cálculo 2. Tomada de decisões (proposições lógicas) 3. Obtenção de informações do usuário 4. Transmissão de informações para o usuário Não é prático para qualquer problema... Mas é prático para engenharia!

REPRESENTAÇÃO DE ALGORITMOS

Tipos de Representação Linguagem Natural Fluxograma Português Estruturado (próxima aula) Linguagem de Programação (próximas aulas)

Linguagem Natural Uso da forma narrativa Mais simples para os humanos Inadequada para os computadores Por quê? O sapo ouviu um ruído da porta Há ambiguidade: é impossível dizer o que essa frase significa!

Fluxograma #!@! #!@#! #!@!

Fluxograma Forma gráfica tradicional Início e fim de algoritmo Processo: cálculos e atribuições Entrada de dados (leitura) Saída de dados (impressão)

Fluxograma Forma gráfica tradicional Início e fim de algoritmo Processo: cálculos e atribuições Entrada de dados (leitura) Saída de dados (impressão)

Fluxograma Forma gráfica tradicional Início e fim de algoritmo Processo: cálculos e atribuições Entrada de dados (leitura) Saída de dados (impressão) Tomada de decisão Sentido do fluxo de dados

Fluxograma 1. Receba dois números 2. Multiplique os dois números 3. Mostre o resultado da multiplicação Início

Fluxograma Melhorado 1. Receba dois números 2. Multiplique os dois números 3. Mostre o resultado da multiplicação Início N1, N2

Fluxograma Melhorado 1. Receba dois números 2. Multiplique os dois números 3. Mostre o resultado da multiplicação Início N1, N2 M = N1 * N2

Fluxograma Melhorado 1. Receba dois números 2. Multiplique os dois números 3. Mostre o resultado da multiplicação Início N1, N2 M = N1 * N2 M

Fluxograma Melhorado 1. Receba dois números 2. Multiplique os dois números 3. Mostre o resultado da multiplicação Início N1, N2 M = N1 * N2 M Fim

Fluxograma Melhorado 1. Receba dois números NUNCA vamos colocar números dentro da 2. Multiplique os dois entrada de dados! números 3. Mostre o resultado da multiplicação Início N1, N2 M = N1 * N2 M Fim

Fluxograma Melhorado 1. Receba dois números Os valores que não NUNCA vamos colocar números dentro da conhecemos (e que 2. Multiplique os dois entrada de dados! números representamos pelos nomes N1, 3. Mostre N2 e o M), resultado são da multiplicação denominados variáveis Início N1, N2 M = N1 * N2 M Fim

Fluxograma Verificar se aluno passou 1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrário, imprima que aluno não passou Início

Fluxograma Verificar se aluno passou 1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrário, imprima que aluno não passou Início N

Fluxograma Verificar se aluno passou 1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrário, imprima que aluno não passou Início N N 6,0 VERDADEIRO

Fluxograma Verificar se aluno passou 1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrário, imprima que aluno não passou Início N N 6,0 VERDADEIRO Passou

Fluxograma Início Verificar se aluno passou N 1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou FALSO Reprovou N 6,0 VERDADEIRO Passou 3. Caso contrário, imprima que aluno não passou

Fluxograma Início Verificar se aluno passou N 1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou FALSO Reprovou N 6,0 VERDADEIRO Passou 3. Caso contrário, imprima que aluno não passou Fim

EXERCÍCIO

Exercícios Faça um programa que calcule a velocidade média de um veículo a partir da distância em km (D) e o tempo de percurso em horas (T). Caso a velocidade média supere 120km/h, o programa deve imprimir Multa. Início D, T V = D / T Fim V>120 F V Multa

Exercícios Faça um programa que calcule a velocidade média de um veículo a partir da distância em km (D) e o tempo de percurso em horas (T). Caso a velocidade média supere 120km/h, o programa deve imprimir Multa. Início D, T V = D / T Fim V>120 F V Multa

Exercícios Descreva os passos para imprimir se o aluno foi aprovado apenas considerando a AV1 e AV2 na Estácio-Radial. V V F F

Exercícios Descreva os passos para imprimir se o aluno foi aprovado (apenas considerando a AV1 e AV2) na Estácio-Radial. Início AV1, AV2 M = (AV1 + AV2) / 2 AV1 4,0 E AV2 4,0 V M 6,0 F V F Passou Fim

CONCLUSÕES

Resumo Lógica é fundamental para a programação Programar é implementar um algoritmo Existem diversas formas de representar algoritmos O computador não admite representações ambíguas TAREFA! Lista Aula 3!

Próxima Aula Representação de Algoritmos Regras do Português Estruturado Regras do C/C++

PERGUNTAS?

BOM DESCANSO A TODOS!