SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
engenhariadecomputacao
 
Apostila programação "pascalzim"
Apostila programação "pascalzim"Apostila programação "pascalzim"
Apostila programação "pascalzim"
deniscody
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
Mauro Pereira
 
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
Robson Ferreira
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
apolllorj
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 

Was ist angesagt? (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
 

Ähnlich wie Lógica de programação 1

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
Robson Ferreira
 

Ähnlich wie Lógica de programação 1 (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
 

Kürzlich hochgeladen

República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
LidianeLill2
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 

Kürzlich hochgeladen (20)

Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 

Lógica de programação 1

  • 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