SlideShare uma empresa Scribd logo
1 de 25
Lógica de Programação
Dom Pedro II
Eduardo Bloisi
MBA em Gestão da Informação – Unifacs
Bacharel em Ciência da Computação – Unifacs
MCP, CSM
bloisi@hotmail.com
Linguagem de Programação
Viabiliza na prática um algoritmo.
Possui um conjunto de instruções para
implementar um algoritmo.
A partir do código implementado pela
linguagem, são gerados os programas de
computador.
Conjunto de instruções de um determinado
programa de computador = código-fonte.
Linguagens de Programação
 Como o código-fonte se torna um programa executável ?
Compilador.
 Linguagens de máquina: O nível mais baixo de execução de
um programa.
 Alto desempenho
 Difícil implementação
 Linguagem de montagem: assembly.
 Intermediária entre linguagem de máquina e linguagem de alto nível.
 Linguagens de alto nível.
 Se aproxima da linguagem humana
 Um comando equivale a vários comandos de linguagem de máquina.
Linguagem de Máquina
 Sequência binária (0s e 1s)
 Uma operação de soma pode ser representada
como: 10100100.
 Difícil implementação e facilidade para erros.
 Código-fonte longo e de difícil manutenção.
 Alto desempenho por ser possível otimizar a
implementação em relação a linguagens de alto
nível.
Linguagem de Montagem
Conhecida como assembly.
Representa um avanço em relação a
linguagem de máquina, pois já possui
comando mnemônicos.
Uma operação de soma seria representada
como: ADD 1,1
É o código intermediário das linguagens de
programação antes do código de máquina.
Compilador
 Um compilador é um programa de computador que
transformar um código fonte em um código objeto.
 As etapas do processo de compilação:
 Escrita do código fonte.
 Análise léxica: identifica os caracteres do código fonte.
 Análise sintática: Verifica se as instruções estão corretas.
 Geração do código assembly.
 Geração do código de máquina.
Compilador
Código fonte
Análise Léxica
Análise Sintática
Código intermediário
Código em linguagem de máquina
Algoritmos
Conceito: Sequência lógica de instruções para
resolução de um problema. Serve como
linguagem intermediária entre a linguagem
humana e as linguagens de programação.
Representação: Através de narrativa,
fluxograma ou pseudocódigo (conhecido
como portugol).
Algoritmos
Devem ser claros e objetivos.
Declarações curtas.
Não devem deixar dúvidas.
São formados por frases com uma ação.
Algoritmo - Desenvolvendo
 Devemos pensar de forma lógica e sequenciada.
 Implementando algoritmos para problemas práticos:
 1. Trocar 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 queimada.
 Colocar a lâmpada nova.
Algoritmo - Desenvolvendo
 E se a lâmpada não estivesse queimada ?
 2 . Trocar a Lâmpada
 Teste condicional:
 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 a lâmpada queimada.
• Colocar a lâmpada nova.
Algoritmo - Desenvolvendo
 Otimizando o código:
 3 . Trocar a 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 a lâmpada queimada
 colocar a lâmpada nova
Algoritmos - Desenvolvendo
 E se a lâmpada nova estiver queimada ?
 4. Trocar a lâmpada
 Acionar o interruptor
 Se a lâmpada não acender então
 Pegar a escada
 Posicionar a escada embaixo da lâmpada
 Pegar a 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 outra lâmpada nova
Algoritmos - Desenvolvendo
 A quarta versão não está finalizada
 5.Trocar a lâmpada
 Acionar o interruptor
 Se a lâmpada não acender então
 Pegar uma escada
 Colocar 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 outra lâmpada nova
Elementos dos Algoritmos
 Tipos de Dados
 Numérico, Literal e Lógico
 Constantes: Dados que não sofrem alteração ao
longo do programa.
 Variáveis: Dados que podem sofrer modificação ao
longo do programa.
 Identificadores (nomes) de variáveis.
 Tipo de variáveis.
 Declaração de variáveis.
 Atribuição de variáveis.
Elementos dos Algoritmos
Variáveis precisam ser declaradas com o
tipo a ser utilizado:
var a declaração var indica a relação de variáveis
ano: inteiro tipo numérico inteiro
salario: real tipo numérico real
matriculado: caractere tipo literal caractere
nome: cadeia tipo literal cadeia
aprovado: lógico tipo lógico
Expressões
Aritméticas:
 Operadores: +, -, * e /.
 Operandos: constantes ou variáveis.
Lógicas:
 Operadores: relacionais (=, <>, >, <, >=, <=, <>) e os
lógicos (não, e, ou).
 Tabela lógica.
Atribuição
 Armazena um determinado valor em uma variável.
 variavel_numerica <- 5
 variavel_literal <- ‘nome do aluno’
 Exemplos:
var
ano: inteiro
salario: real
matriculado: caractere
nome: cadeia
aprovado: lógico
atribuindo ...
ano <- 2012
salario < - 3000
matriculado <- ´S´
nome < - ´Eduardo´
Aprovado < - verdadeiro
Atribuição
 O valor a ser armazenado pode ser o conteúdo de outra
variável, desde que sejam do mesmo tipo.
Exemplo:
var
ano: inteiro
ano_letivo: inteiro
ano < - 2012 a variável ano recebe o valor 2012
ano_letivo <- ano a variável ano_letivo tem o seu valor modificado para o
mesmo valor da variável ano que é 2012
 As atribuições entre variáveis devem ser feitas com
atenção para não perder o valor das mesmas
indevidamente durante a execução do programa.
Entrada e Saída
 O comando leia permite atribuir uma entrada de
dados a uma variável:
 Leia(salario)
O valor que o usuário informar, será atribuído a variável salario.
 O comando escreva permite exibir o valor de
variáveis e constantes:
 Escreva(‘O salário é ’, salario)
Na tela será mostrado O salário é <valor da variável salario>
 Comentários (chaves)
Desenvolvendo
 Com os elementos básicos já vistos, podemos criar um algoritmo.
 Exemplo 1.1: Criar um algoritmo para receber dois números
inteiros, somá-los e apresentar o resultado na tela.
programa soma_dois_numeros
var
a, b, c: inteiro
inicio
leia a
leia b
c <- a +b
escreva c
fim
Estrutura Condicional
Desvio condicional simples
se <condição> então
Instruções
fim_se
Instruções
As instruções compreendidas entre o bloco se ...
fim_se serão executadas somente se a
condição do desvio for verdadeira.
Estrutura Condicional
Desvio condicional simples
Exemplo:
a <- 5
b <- 6
se (b>a) então
escreva (b é maior que a)
fim_se
c <- 10
Estrutura Condicional
 Desvio condicional composto
se <condição> então
Instruções
senão
instruções
fim_se
Instruções
As instruções compreendidas entre o bloco se ... senão serão
executadas somente se a condição do desvio for verdadeira.
Caso a condição seja falsa, serão executadas apenas as instruções
entre o senão e o fim_se.
Estrutura Condicional
 Desvio condicional composto
Exemplo:
a <- 10
b <- 7
se (b>a) então
escreva (b é maior que a)
else
escreva (b é menor que a)
fim_se
c <- 10

Mais conteúdo relacionado

Mais procurados

Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...tdc-globalcode
 
Programar Em Pascal
Programar Em PascalProgramar Em Pascal
Programar Em PascalPepe Rocker
 
Estrutura condicional com Ruby[AULA-2]
Estrutura condicional com Ruby[AULA-2]Estrutura condicional com Ruby[AULA-2]
Estrutura condicional com Ruby[AULA-2]Ricardo Silva
 
Apostila programação "pascalzim"
Apostila programação "pascalzim"Apostila programação "pascalzim"
Apostila programação "pascalzim"deniscody
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Mauro Pereira
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvRCiro Matheus
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Robson Ferreira
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 

Mais procurados (20)

Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Programar Em Pascal
Programar Em PascalProgramar Em Pascal
Programar Em Pascal
 
Estrutura condicional com Ruby[AULA-2]
Estrutura condicional com Ruby[AULA-2]Estrutura condicional com Ruby[AULA-2]
Estrutura condicional com Ruby[AULA-2]
 
Apostila programação "pascalzim"
Apostila programação "pascalzim"Apostila programação "pascalzim"
Apostila programação "pascalzim"
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvR
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3
 
Apostila c
Apostila cApostila c
Apostila c
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 

Semelhante a Lógica Programação Algoritmos

Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoJose Augusto Cintra
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Alex Camargo
 
Algoritmos computacionais
Algoritmos computacionaisAlgoritmos computacionais
Algoritmos computacionaisDérick Platini
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixCris Fidelix
 

Semelhante a Lógica Programação Algoritmos (20)

FC-Logic
FC-LogicFC-Logic
FC-Logic
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
 
Algoritmos computacionais
Algoritmos computacionaisAlgoritmos computacionais
Algoritmos computacionais
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
Exercicios c
Exercicios cExercicios c
Exercicios c
 
Aula02
Aula02Aula02
Aula02
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
 

Último

trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxKtiaOliveira68
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERDeiciane Chaves
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaJúlio Sandes
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasCasa Ciências
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 

Último (20)

trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptx
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdf
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de Partículas
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 

Lógica Programação Algoritmos

  • 1. Lógica de Programação Dom Pedro II Eduardo Bloisi MBA em Gestão da Informação – Unifacs Bacharel em Ciência da Computação – Unifacs MCP, CSM bloisi@hotmail.com
  • 2. Linguagem de Programação Viabiliza na prática um algoritmo. Possui um conjunto de instruções para implementar um algoritmo. A partir do código implementado pela linguagem, são gerados os programas de computador. Conjunto de instruções de um determinado programa de computador = código-fonte.
  • 3. Linguagens de Programação  Como o código-fonte se torna um programa executável ? Compilador.  Linguagens de máquina: O nível mais baixo de execução de um programa.  Alto desempenho  Difícil implementação  Linguagem de montagem: assembly.  Intermediária entre linguagem de máquina e linguagem de alto nível.  Linguagens de alto nível.  Se aproxima da linguagem humana  Um comando equivale a vários comandos de linguagem de máquina.
  • 4. Linguagem de Máquina  Sequência binária (0s e 1s)  Uma operação de soma pode ser representada como: 10100100.  Difícil implementação e facilidade para erros.  Código-fonte longo e de difícil manutenção.  Alto desempenho por ser possível otimizar a implementação em relação a linguagens de alto nível.
  • 5. Linguagem de Montagem Conhecida como assembly. Representa um avanço em relação a linguagem de máquina, pois já possui comando mnemônicos. Uma operação de soma seria representada como: ADD 1,1 É o código intermediário das linguagens de programação antes do código de máquina.
  • 6. Compilador  Um compilador é um programa de computador que transformar um código fonte em um código objeto.  As etapas do processo de compilação:  Escrita do código fonte.  Análise léxica: identifica os caracteres do código fonte.  Análise sintática: Verifica se as instruções estão corretas.  Geração do código assembly.  Geração do código de máquina.
  • 7. Compilador Código fonte Análise Léxica Análise Sintática Código intermediário Código em linguagem de máquina
  • 8. Algoritmos Conceito: Sequência lógica de instruções para resolução de um problema. Serve como linguagem intermediária entre a linguagem humana e as linguagens de programação. Representação: Através de narrativa, fluxograma ou pseudocódigo (conhecido como portugol).
  • 9. Algoritmos Devem ser claros e objetivos. Declarações curtas. Não devem deixar dúvidas. São formados por frases com uma ação.
  • 10. Algoritmo - Desenvolvendo  Devemos pensar de forma lógica e sequenciada.  Implementando algoritmos para problemas práticos:  1. Trocar 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 queimada.  Colocar a lâmpada nova.
  • 11. Algoritmo - Desenvolvendo  E se a lâmpada não estivesse queimada ?  2 . Trocar a Lâmpada  Teste condicional:  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 a lâmpada queimada. • Colocar a lâmpada nova.
  • 12. Algoritmo - Desenvolvendo  Otimizando o código:  3 . Trocar a 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 a lâmpada queimada  colocar a lâmpada nova
  • 13. Algoritmos - Desenvolvendo  E se a lâmpada nova estiver queimada ?  4. Trocar a lâmpada  Acionar o interruptor  Se a lâmpada não acender então  Pegar a escada  Posicionar a escada embaixo da lâmpada  Pegar a 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 outra lâmpada nova
  • 14. Algoritmos - Desenvolvendo  A quarta versão não está finalizada  5.Trocar a lâmpada  Acionar o interruptor  Se a lâmpada não acender então  Pegar uma escada  Colocar 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 outra lâmpada nova
  • 15. Elementos dos Algoritmos  Tipos de Dados  Numérico, Literal e Lógico  Constantes: Dados que não sofrem alteração ao longo do programa.  Variáveis: Dados que podem sofrer modificação ao longo do programa.  Identificadores (nomes) de variáveis.  Tipo de variáveis.  Declaração de variáveis.  Atribuição de variáveis.
  • 16. Elementos dos Algoritmos Variáveis precisam ser declaradas com o tipo a ser utilizado: var a declaração var indica a relação de variáveis ano: inteiro tipo numérico inteiro salario: real tipo numérico real matriculado: caractere tipo literal caractere nome: cadeia tipo literal cadeia aprovado: lógico tipo lógico
  • 17. Expressões Aritméticas:  Operadores: +, -, * e /.  Operandos: constantes ou variáveis. Lógicas:  Operadores: relacionais (=, <>, >, <, >=, <=, <>) e os lógicos (não, e, ou).  Tabela lógica.
  • 18. Atribuição  Armazena um determinado valor em uma variável.  variavel_numerica <- 5  variavel_literal <- ‘nome do aluno’  Exemplos: var ano: inteiro salario: real matriculado: caractere nome: cadeia aprovado: lógico atribuindo ... ano <- 2012 salario < - 3000 matriculado <- ´S´ nome < - ´Eduardo´ Aprovado < - verdadeiro
  • 19. Atribuição  O valor a ser armazenado pode ser o conteúdo de outra variável, desde que sejam do mesmo tipo. Exemplo: var ano: inteiro ano_letivo: inteiro ano < - 2012 a variável ano recebe o valor 2012 ano_letivo <- ano a variável ano_letivo tem o seu valor modificado para o mesmo valor da variável ano que é 2012  As atribuições entre variáveis devem ser feitas com atenção para não perder o valor das mesmas indevidamente durante a execução do programa.
  • 20. Entrada e Saída  O comando leia permite atribuir uma entrada de dados a uma variável:  Leia(salario) O valor que o usuário informar, será atribuído a variável salario.  O comando escreva permite exibir o valor de variáveis e constantes:  Escreva(‘O salário é ’, salario) Na tela será mostrado O salário é <valor da variável salario>  Comentários (chaves)
  • 21. Desenvolvendo  Com os elementos básicos já vistos, podemos criar um algoritmo.  Exemplo 1.1: Criar um algoritmo para receber dois números inteiros, somá-los e apresentar o resultado na tela. programa soma_dois_numeros var a, b, c: inteiro inicio leia a leia b c <- a +b escreva c fim
  • 22. Estrutura Condicional Desvio condicional simples se <condição> então Instruções fim_se Instruções As instruções compreendidas entre o bloco se ... fim_se serão executadas somente se a condição do desvio for verdadeira.
  • 23. Estrutura Condicional Desvio condicional simples Exemplo: a <- 5 b <- 6 se (b>a) então escreva (b é maior que a) fim_se c <- 10
  • 24. Estrutura Condicional  Desvio condicional composto se <condição> então Instruções senão instruções fim_se Instruções As instruções compreendidas entre o bloco se ... senão serão executadas somente se a condição do desvio for verdadeira. Caso a condição seja falsa, serão executadas apenas as instruções entre o senão e o fim_se.
  • 25. Estrutura Condicional  Desvio condicional composto Exemplo: a <- 10 b <- 7 se (b>a) então escreva (b é maior que a) else escreva (b é menor que a) fim_se c <- 10