Professional Documents
Culture Documents
Objetivos
Compreender do que composto um programa Compreender o que lgica Compreender o que so algoritmos Conhecer as formas de representar algoritmos Lista Aula 3!
Material de Estudo
Acesso ao Material http://www.caetano.eng.br/ (Lgica de Programao - Aula 3) http://www.caetano.eng.br/ (Lgica de Programao - Aula 3) Lgica de Programao Fundamentos da Programao de Computadores, pginas 1 a 7.
O que so Algoritmos
Toda tarefa complexa pode ser subdividida
Tarefas menores e mais simples
O que so Algoritmos
O procedimento para realizar uma tarefa complexa chama-se algoritmo
Um algoritmo envolve:
Tarefas/Processos Decises
O que so Algoritmos
H algoritmos em nosso dia a dia:
Listas de Compras Receitas Caminhos do Google Maps...
O que so Algoritmos
Engenheiros se interessam por um tipo especial de algoritmos: Procedimentos de Clculo!
Nesse caso, o computador til!
Algoritmos x Programas
No computador, os algoritmos recebem o nome de programas
Programas de Computador
Programa: algoritmo para o computador
Tarefas: Clculos Decises: Decises Lgicas
Clculos?
Somas, subtraes, multiplicaes...
Decises lgicas?
Ordem com que os clculos devem ser feitos Se e quando os clculos devem ser feitos Objetivo: resolver problema maior
O que Lgica?
Lgica a cincia das leis do raciocnio
Encadear raciocnio: concluir a partir de premissas
Aprovao no curso
Mdia 6,0 e Frequncia 75%, logo...
No adianta tirar 10,0 se tiver frequncia 50% !
Formalizando a Lgica
Analisemos algumas afirmaes:
O funcionrio falta pouco. O aluno falta muito. O cliente idoso.
Formalizando a Lgica
Analisemos algumas afirmaes:
O funcionrio falta pouco. O aluno falta muito. O cliente idoso.
Formalizando a Lgica
Analisemos algumas afirmaes:
O funcionrio falta pouco. O aluno falta muito. O cliente idoso.
Difcil avaliar!
Formalizando a Lgica
Afirmaes subjetivas so difceis de avaliar!
O funcionrio falta pouco.
Formalizando a Lgica
Ento podemos traduzir essa afirmao:
O funcionrio falta pouco.
Em algo como
O nmero de faltas zero.
proposio
Proposies
Regras podem ser descritas por proposies Como definir se algo uma proposio?
1. Uma proposio deve ser verdadeira ou falsa 2. Uma proposio no pode ser verdadeira e falsa, simultaneamente
Proposies
Regras podem ser descritas por proposies Como definir se algo uma proposio?
1. Uma proposio deve ser verdadeira ou falsa 2. Uma proposio no pode ser verdadeira e falsa, simultaneamente
Proposies
A: 2 + 3 = 5
Proposio verdadeira!
B: 2+2 > 5
Proposio falsa!
Decises Lgica
Proposies podem orientar decises:
Se o funcionrio falta pouco, ter aumento
Proposies
Proposies vistas: proposies simples
Existe apenas uma comparao:
no de faltas = zero
Uma comparao sempre suficiente? Aprovao no curso
Mdia 6,0 e Frequncia 75%
No adianta tirar 10,0 se tiver frequncia 50% !
Proposies Compostas
A regra completa seria:
Se (M 6,0 e F 75%) aluno aprovado
Proposio de aprovao:
C: A E B
Proposies Compostas
A palavra e importante?
Se (M 6,0 e F 75%) aluno aprovado igual ou diferente a dizer... Se (M 6,0 ou F 75%) aluno aprovado ?????
DIFERENTE!
Operaes Lgicas
Proposies podem ser modificadas e compostas com os operadores lgicos
C: A E B
A proposio resultante C s ser verdadeira se A e B forem, simultaneamente, verdadeiras
C: A OU B
A proposio resultante C ser verdadeira se A ou B forem verdadeira (uma das duas basta)
C: NO A
A proposio resultante C ser verdadeira quando A for falsa (e vice-versa).
Operao
OU
q
Falsa
Resultado
Operao
OU OU
q
Falsa Verdadeira
Resultado
Falsa
Operao
OU OU OU
q
Falsa Verdadeira Falsa
Resultado
Falsa Verdadeira
Operao
OU OU OU OU
q
Falsa Verdadeira Falsa Verdadeira
Resultado
Falsa Verdadeira Verdadeira
Operao
OU OU OU OU E
q
Falsa Verdadeira Falsa Verdadeira Falsa
Resultado
Falsa Verdadeira Verdadeira Verdadeira
Operao
OU OU OU OU E E
q
Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira
Resultado
Falsa Verdadeira Verdadeira Verdadeira Falsa
Operao
OU OU OU OU E E E
q
Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Falsa
Resultado
Falsa Verdadeira Verdadeira Verdadeira Falsa Falsa
Operao
OU OU OU OU E E E E
q
Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira
Resultado
Falsa Verdadeira Verdadeira Verdadeira Falsa Falsa Falsa
Operao
OU OU OU OU E E E E NO
q
Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Falsa
Resultado
Falsa Verdadeira Verdadeira Verdadeira Falsa Falsa Falsa Verdadeira
Operao
OU OU OU OU E E E E NO NO
q
Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira
Resultado
Falsa Verdadeira Verdadeira Verdadeira Falsa Falsa Falsa Verdadeira Verdadeira
Operao
OU OU OU OU E E E E NO NO
q
Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira Falsa Verdadeira
Resultado
Falsa Verdadeira Verdadeira Verdadeira Falsa Falsa Falsa Verdadeira Verdadeira Falsa
Se no
Escreva aluno reprovado!
Exerccio
Analisemos as proposies abaixo
7>5 3<2 2<3E3<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 NO (9 < 5 OU 11 < 16) NO 9 < 5 OU 11 < 16
Exerccio
Analisemos as proposies 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 NO (9 < 5 OU 11 < 16) falso NO 9 < 5 OU 11 < 16 verdadeiro
O que programar?
Como vimos, programar configurar o computador para executar um algoritmo!
Desenvolvendo um Algoritmo
Como criar um algoritmo? Descobrir como resolvemos um problema Como fazer caf (de coador)?
Desenvolvendo um Algoritmo
Como criar um algoritmo? Descobrir como resolvemos um problema Como calcular a mdia de dois nmeros? (matemtica)
Desenvolvendo um Algoritmo
Geralmente, um algoritmo precisa:
1) Obter informaes (dados de entrada) 2) Executar uma sequncia de clculos 3) Fornecer um resultado
Desenvolvendo um Algoritmo
Geralmente, um algoritmo precisa:
1) Obter informaes (dados de entrada) 2) Executar uma sequncia de clculos 3) Fornecer um resultado
Como representar?
REPRESENTAO DE ALGORITMOS
Tipos de Representao
Linguagem Natural Fluxograma Diagrama de Chapin Portugus Estruturado (prxima aula) Linguagem de Programao (prximas aulas)
Linguagem Natural
Uso da forma narrativa Mais simples para os humanos Inadequada para os computadores Por qu? O sapo ouviu um rudo da porta H ambiguidade!
impossvel dizer o que essa frase significa!
Fluxograma
#!@!
#!@#!
#!@!
Fluxograma
Forma grfica tradicional
Incio e fim de algoritmo
Fluxograma
Forma grfica tradicional
Incio e fim de algoritmo
M = N1 * N2
M = N1 * N2 M
M = N1 * N2 M
Fim
M = N1 * N2 M
Fim
M = N1 * N2 M
denominados variveis
Fim
1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrrio, imprima que aluno no passou
1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrrio, imprima que aluno no passou
1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrrio, imprima que aluno no passou
N6,0
VERDADEIRO
1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrrio, imprima que aluno no passou
N6,0
VERDADEIRO
Passou
1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrrio, imprima que aluno no passou
FALSO
N6,0
VERDADEIRO
Reprovou
Passou
1. Receba a nota N 2. Se a nota N for maior ou igual a 6,0 imprima que aluno passou 3. Caso contrrio, imprima que aluno no passou
FALSO
N6,0
VERDADEIRO
Reprovou
Passou
Fim
Diagrama de Chapin
Forma grfica alternativa (pouco usada)
EXERCCIO
Exerccios
Faa um algoritmo que calcule a mdia de trs nmeros
Exerccios
Faa um algoritmo que calcule a mdia de trs nmeros
Incio A, B, C M = (A + B + C ) / 3
A mdia :, M
Fim
Exerccios
Faa um programa que calcule a velocidade mdia de um veculo a partir da distncia em km (D) e o tempo de percurso em horas (T). Caso a velocidade mdia supere 120km/h, o programa deve imprimir Multa.
Incio
D, T
V=D/T
V>120
F
Fim Multa
Exerccios
Faa um programa que calcule a velocidade mdia de um veculo a partir da distncia em km (D) e o tempo de percurso em horas (T). Caso a velocidade mdia supere 120km/h, o programa deve imprimir Multa.
Incio D, T
V=D/T
V>120
F
Fim Multa
Exerccios
Descreva os passos para imprimir se o aluno foi aprovado apenas considerando a AV1 e AV2 na Estcio-Radial.
V AV14,0 E AV24,0 F V F
Exerccios
Descreva os passos para imprimir se o aluno foi aprovado (apenas considerando a AV1 e AV2) na Estcio-Radial.
Incio AV1, AV2 M = (AV1 + AV2) / 2
AV14,0 E AV24,0 F
M6,0 F
Passou
Fim
CONCLUSES
Resumo
Lgica fundamental para a programao Programar implementar um algoritmo H diversas formas de representar algoritmos No podemos usar representaes ambguas TAREFA: Lista Aula 3!
Representao de Algoritmos
Portugus Estruturado
PERGUNTAS?