SlideShare uma empresa Scribd logo
1 de 45
Lógica de Programação
José Araújo
Lógica
• Lógica de programação é a técnica de encadear
pensamentos para atingir determinado objetivo.
• Necessário para pessoas que desejam trabalhar
com desenvolvimento de sistemas.
Lógica no dia a dia
• Sei que o livro está no armário.
– Sei que o armário está fechado.
– Logo, concluo que para pegar o livro tenho que
abrir o armário.
• Sei que sou mais velho que João.
– Sei que João é mais velho que José.
– Então, concluo que sou mais velho que José.
Lógica – Mini Exercício
• Todos os filhos de João são mais alto que Maria.
– Antônio é filho de João.
– O que posso concluir logicamente?
• José é aluno do FIES.
– Para ser aprovado, um aluno do FIES precisa
obter nota maior ou igual a 60 e comparecer a
mais de 75% das aulas.
– José compareceu a todas aulas e obteve nota 80
– O que podemos concluir?
Lógica é algo Sério
Algoritmo
• Uma sequencia finita de passos que levam a
execução de uma tarefa.
• Objetivo fundamental da programação é construir
algoritmos.
– Receita de bolo.
– Manual de um aparelho eletrônico.
Algoritmo - Exemplos
• Até mesmo coisas simples do cotidiano, podem ser
descritas por sequencias lógicas.
• Comer uma bala
– Pegar a bala
– Retirar o papel
– Comer a bala
– Jogar o papel no lixo
Algoritmo - Exemplos
• Somar dois números quaiquer
– Escreva o primeiro numero
– Escreva o segundo numero
– Some o primeiro numero com o segundo e
escreva o resulta ao lado
Algoritmo - Exercício
• Trocar uma lâmpada
• Tomar banho
• Trocar o pneu de um carro
• Fazer um bolo
• Fritar um ovo
Algoritmo: Estrutura de Decisão
• Os algoritmos que construimos até agora
apresentam uma sequência de passos que devem
ser seguidos para atingir um objetivo.
• Porém, há algoritmos nos quais a execução de
alguns passos pode depender de decisões.
Algoritmo: Estrutura de Decisão
• No algoritmo da lâmpada em algum momentos
nos perguntamos se a lâmpada estava queimada?
• Simplesmente trocamos a lâmpada sem fazer
qualquer teste.
• Podemos acrescentar em nosso algoritmo um
teste que verifique se a lâmpada deve ser trocada.
Algoritmo: Estrutura de Decisão
• Ligue o interruptor
– Se a lâmpada não acender
● Pegue uma escada
● Posicione a escada embaixo da lâmpada
● Pegue uma lâmpada nova
● Suba na escada
● Retire a lâmpada velha
● Coloque a lâmpada nova
Algoritmo: Estrutura Repetição
• Essa estrutura define um fluxo de ações que se
repete enquanto uma determinada situação
acontece.
• Voltando ao algoritmo da lâmpada
– …
– Coloque a lâmpada nova
– Enquanto a lâmpada não acender
● Retire a lâmpada
● Coloque uma outra lâmpada
Algoritmo - Exercícios
• Suponha que você tenha uma caixa cheia de bolas.
Nessa caixa existem bolas azuis e bolas vermelhas.
Além disso, você tem também duas caixas vazias.
Vamos chamar a caixa que contém as bolas de
“caixa 1” e as duas caixas vazias de “caixa 2” e
“caixa 3”. Neste contexto, escreva um algoritmo
que defina como tirar todas as bolas da “caixa 1”,
colocando as bolas azuis na “caixa 2” e as bolas
vermelhas na “caixa 3”.
Algoritmo - Exercícios
Desafio de lógica: Três missionários e três canibais encontram-se na
margem esquerda de um rio. Nessa margem também existe um bote que
pode transportar uma ou duas pessoas. As seis pessoas pretendem todas
passar para a margem direita (usando o bote). No entanto, os
missionários têm de arranjar um plano para consegui-lo de modo que, em
nenhuma circunstância, existam missionários numa margem em minoria
relativamente aos canibais, pois têm receio do que lhes possa acontecer.
Quando o bote chega à margem, os elementos do bote são contados
como estando na margem. Assim, se houver apenas um canibal em uma
margem, não podemos enviar a essa margem o bote com um canibal e
um missionário, pois, ao chegar à outra margem, serão dois canibais
contra um missionário. Lembre-se de que para o bote ir de uma margem
a outra é necessário que alguém esteja remando, ou seja, o bote nunca
atravessa vazio. Faça um algoritmo que exiba, passo a passo, como
efetuar esta travessia de forma segura.
Algoritmo – Solução
• Fazer resposta
Linguagem de Programação
• É a reescrita dos algoritmos que escrevemos em
linguagem natural em uma linguagem que o
computador entenda.
– Delphi, Java, C#, Python
• Linguagem de programação possuem uma
formalização ou padrão que é necessário ser
seguido.
Portugol
• O Portugol é uma linguagem que une o formalismo
ou padrões das linguagens de programação à
facilidade de compreensão da linguagem natural.
• Exemplo de comandos:
– Programa
– Inicio
– Fim
– Var
– Escreva
Portugol - Exemplo
Programa CEPEP
Var
Frase: Caractere;
Inicio
Frase := 'Olá Delphi';
Escreva(Frase);
Fim.
Variáveis
• O primeiro passo para que um programa seja
executado em um computador é o carregamento
desse programa para a memória.
• Ao desenvolvermos nossos algoritmos,
frequentemente precisamos armazenar dados
referentes ao problema, como um nome, um
número ou resultado de uma operação.
• A forma de solicitar ao computador que reserve
memória é chamada de Declaração de Variáveis.
Declaração - Sintaxe
var
nome_da_variavel: tipo_da_variavel
• Var: Inicio da declaração
• Nome: identificador dessa variável
• Tipo: Tipo de dado que será armazenado
Declaração – Regras
• Iniciar sempre com Letras
– Nome(correto), 1Nome(errado)
• Não utilizazar caracteres especiais
– “,()/*;+. Nome(M); N*B
• Não colocar espaço em branco ou hífen entre os
nomes
– Salario-bruto ou Salario Bruto
• Se necessário utilizar Underline _
– Salario_Bruto
Declaração – Boas Práticas
• Crie suas variaveis com nomes sugestivos
– Se vai guardar o salário, dê à variavel o nome de
Salario.
– Ao contrário de somente S
Tipos de variáveis
• Tipo Inteiro: Armazena valores numéricos inteiros
tais como (0, 1, 5, 300, -10).
• Tipo Real: Armazena valores numéricos reais, ou
seja, com ponto decimal (5.7, 3.2, -8.5).
• Tipo Caractere: Armazena um único caractere que
pode ser uma letra ou um simbolo. Exemplo
identificar o sexo de um indivíduo ('F' ou 'M').
Tipos de variáveis
• Tipo Cadeia: Armazena uma sequencia ou cadeia
de caracteres. Exemplo o nome de uma pessoa ou
uma frase inteira.
• Tipo Logico: Armazena um valor lógico que sempre
terá seu valor igual a Verdadeiro ou Falso.
Variável - Exemplo
Var
Nome, SobreNome: Cadeia;
Idade: Inteiro;
Sexo: Caractere;
Trabalha: Logico;
Salario: Real;
Variável - Exercício
Variável - Exercício
Variável - Exercício
Constantes
• Ao contrário das variáveis os valores das
constantes não mudam com o tempo.
• Seu tipo é assumido automatico de acordo com o
valor atribuido.
Const
Pi = 3.1415;
• Ex.:
– Resultado := 10 x Pi;
– Resultado := 10 x 3.1415;
Operadores Aritméticos
Tipos de variáveis
Comandos: Atribuição de Dados
• O comando utilizado para atribuição de valores à
variáveis é o :=
• Ex.:
Var
Nome: Cadeia;
Inicio
Nome := 'José Araújo';
Escreva(Nome);
Fim.
Comandos: Entrada de Dados
• Frequentemente, na construção de algoritmos,
precisamos solicitar que usuários informem, por
meio do teclado, alguns valores a serem utilizados
durante a execução.
• O comando de entrada de dados será responsável
pela leitura e armazenamento desses dados na
variável que indicarmos.
Entrada de Dados – Sintaxe
• Sintaxe: Leia(variavel);
• Leia()
– Função responsável por ler o que o usuário
digitou e armazenar o valor na variável indicada.
• Variavel
– Nome da variavel utilizada para armazenar o
valor digitado.
– O valor digitado tem que ser compativel com o
tipo da variavel.
Entrada de Dados – Sintaxe
• Sintaxe: Leia(variavel);
• Leia()
– Função responsável por ler o que o usuário
digitou e armazenar o valor na variável indicada.
• Variavel
– Nome da variavel utilizada para armazenar o
valor digitado.
– O valor digitado tem que ser compativel com o
tipo da variavel.
Comandos: Saida de Dados
• Por meio da utilização do comando de saída de
dados, conseguimos exibir mensagens ou valores
para o usuário de nossos programas. É através
desse comando que nosso algoritmo consegue se
comunicar com o usuário para solicitar a entrada
de dados ou para fornecer saídas de dados.
• O comando de saída de dados exibe no monitor
valores de constantes, variáveis ou expressões.
Saida de Dados – Sintaxe
• Sintaxe: Escreva(expressao);
• Escreva()
– Função responsável por escrever no monitor
uma mensagem para o usuário.
• Expressão
– Indica o que será escrito no monitor. É
normalmente composta por um texto fixo
seguido por uma virgula e um nome de variavel.
– Escreva('Seu nome é: ', Nome);
Estrutura Base de um Programa
Programa NomePrograma
Const
Declaracao de constantes
Var
Declaracação de variaveis
Inicio
Conjunto de comandos que formará o algoritmo
Fim.
Programa Portugol - Exemplo
Programa Portugol - Exemplo
Programa Portugol - Exercicio
Programa Portugol - Exercicio
Programa Portugol - Exercicio
Perguntas?
José Araújo
joseafilho@gmail.com
http://centraldaengenharia.wordpress.com/
http://twitter.com/cengenharia
“Tudo é uma questão de Engenharia!”
“Everything is a matter of Engineering!”
Fim

Mais conteúdo relacionado

Mais procurados

Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04André Phillip Bertoletti
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10André Phillip Bertoletti
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03André Phillip Bertoletti
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizesTácito Graça
 
JavaScript: agora é sério
JavaScript: agora é sérioJavaScript: agora é sério
JavaScript: agora é sérioLuciano Ramalho
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisJorge Ávila Miranda
 
Usp Ufba Ferramentas Analizo Antlr
Usp Ufba Ferramentas Analizo AntlrUsp Ufba Ferramentas Analizo Antlr
Usp Ufba Ferramentas Analizo AntlrCampus Party Brasil
 
Lógica de Programação - Operadores
Lógica de Programação - OperadoresLógica de Programação - Operadores
Lógica de Programação - OperadoresWesley R. Bezerra
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonGiancarlo Silva
 
LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03Carlos Santos
 
(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programaçãoCarlos Santos
 

Mais procurados (20)

Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03
 
Java: Condicionais
Java: CondicionaisJava: Condicionais
Java: Condicionais
 
Aula 11 - Começando a programar: Condicionais
Aula 11 - Começando a programar: CondicionaisAula 11 - Começando a programar: Condicionais
Aula 11 - Começando a programar: Condicionais
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
 
Aula 13 - Trabalhando com strings
Aula 13 - Trabalhando com stringsAula 13 - Trabalhando com strings
Aula 13 - Trabalhando com strings
 
Introducao logica3
Introducao logica3Introducao logica3
Introducao logica3
 
JavaScript: agora é sério
JavaScript: agora é sérioJavaScript: agora é sério
JavaScript: agora é sério
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionais
 
Usp Ufba Ferramentas Analizo Antlr
Usp Ufba Ferramentas Analizo AntlrUsp Ufba Ferramentas Analizo Antlr
Usp Ufba Ferramentas Analizo Antlr
 
Lógica de Programação - Operadores
Lógica de Programação - OperadoresLógica de Programação - Operadores
Lógica de Programação - Operadores
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 
LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03
 
Algoritmos e Programação
Algoritmos e ProgramaçãoAlgoritmos e Programação
Algoritmos e Programação
 
(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação
 

Destaque

Tabla de Diversidad de lenguajes de programacion orientada a objetos
Tabla de Diversidad de lenguajes de programacion orientada a objetosTabla de Diversidad de lenguajes de programacion orientada a objetos
Tabla de Diversidad de lenguajes de programacion orientada a objetosariannalizeeth
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 
Matematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudMatematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudJefferson Cuaspud
 
Conceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosConceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosVando Junqueira
 
Guia practica secuenciales en java con NetBeans 01
Guia practica secuenciales en java con NetBeans 01Guia practica secuenciales en java con NetBeans 01
Guia practica secuenciales en java con NetBeans 01Emerson Garay
 
Aula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosAula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosMairaM
 
Tabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosTabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosBeydasanchezhernandez
 
04 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.204 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.2César Augusto Pessôa
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4César Augusto Pessôa
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPSedu
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...Professor Samuel Ribeiro
 

Destaque (20)

Visual basic cbtis
Visual basic cbtisVisual basic cbtis
Visual basic cbtis
 
Tabla de Diversidad de lenguajes de programacion orientada a objetos
Tabla de Diversidad de lenguajes de programacion orientada a objetosTabla de Diversidad de lenguajes de programacion orientada a objetos
Tabla de Diversidad de lenguajes de programacion orientada a objetos
 
PyFuncemeClimateTools
PyFuncemeClimateToolsPyFuncemeClimateTools
PyFuncemeClimateTools
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
Matematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudMatematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson Cuaspud
 
Conceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosConceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmos
 
Guia practica secuenciales en java con NetBeans 01
Guia practica secuenciales en java con NetBeans 01Guia practica secuenciales en java con NetBeans 01
Guia practica secuenciales en java con NetBeans 01
 
Aula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosAula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de Projetos
 
Algoritmos conceitos
Algoritmos conceitosAlgoritmos conceitos
Algoritmos conceitos
 
Aula 15 minutos
Aula 15 minutosAula 15 minutos
Aula 15 minutos
 
Operadores booleanos
Operadores booleanosOperadores booleanos
Operadores booleanos
 
Tabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetosTabla de diversidad de lenguajes de programacion orientada a objetos
Tabla de diversidad de lenguajes de programacion orientada a objetos
 
04 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.204 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.2
 
LÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVELLÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVEL
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4
 
Comandos java
Comandos javaComandos java
Comandos java
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHP
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
 
Operadores
OperadoresOperadores
Operadores
 

Semelhante a Curso de Delphi - Lógica de Programacao

Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfFelipeSoares580387
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
2-nocoes-basicas-algoritmos.pdf
2-nocoes-basicas-algoritmos.pdf2-nocoes-basicas-algoritmos.pdf
2-nocoes-basicas-algoritmos.pdfAlbertoEmoto
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programaçãoElaine Cecília Gatto
 
ALGORITIMOS 01 PARA INICIANANTES EM LI C
ALGORITIMOS 01 PARA INICIANANTES EM LI CALGORITIMOS 01 PARA INICIANANTES EM LI C
ALGORITIMOS 01 PARA INICIANANTES EM LI CCidrone
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: IntroduçãoWesley R. Bezerra
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 
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
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmoEugenio Caetano
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 
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
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmoprogidio
 

Semelhante a Curso de Delphi - Lógica de Programacao (20)

Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
 
Aula02
Aula02Aula02
Aula02
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
2-nocoes-basicas-algoritmos.pdf
2-nocoes-basicas-algoritmos.pdf2-nocoes-basicas-algoritmos.pdf
2-nocoes-basicas-algoritmos.pdf
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
ALGORITIMOS 01 PARA INICIANANTES EM LI C
ALGORITIMOS 01 PARA INICIANANTES EM LI CALGORITIMOS 01 PARA INICIANANTES EM LI C
ALGORITIMOS 01 PARA INICIANANTES EM LI C
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Introdução a java
Introdução a javaIntrodução a java
Introdução a java
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
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
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo
 
Lp
LpLp
Lp
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Fascículo1java
Fascículo1javaFascículo1java
Fascículo1java
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
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
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmo
 

Mais de José Araújo

Curso de Delphi - Banco de Dados
Curso de Delphi - Banco de DadosCurso de Delphi - Banco de Dados
Curso de Delphi - Banco de DadosJosé Araújo
 
Fortes Papo Developer
Fortes Papo DeveloperFortes Papo Developer
Fortes Papo DeveloperJosé Araújo
 
Migrando 4 milhões de linhas de Delphi 7 para XE7
Migrando 4 milhões de linhas de Delphi 7 para XE7Migrando 4 milhões de linhas de Delphi 7 para XE7
Migrando 4 milhões de linhas de Delphi 7 para XE7José Araújo
 
XPCE - Qualidade no Código
XPCE - Qualidade no CódigoXPCE - Qualidade no Código
XPCE - Qualidade no CódigoJosé Araújo
 
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
9º FireBird Developer Day - Automatizar Manutenção do Banco de DadosJosé Araújo
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoJosé Araújo
 
Delphi Conference 2011 - Integração Contínua
Delphi Conference 2011 - Integração ContínuaDelphi Conference 2011 - Integração Contínua
Delphi Conference 2011 - Integração ContínuaJosé Araújo
 

Mais de José Araújo (7)

Curso de Delphi - Banco de Dados
Curso de Delphi - Banco de DadosCurso de Delphi - Banco de Dados
Curso de Delphi - Banco de Dados
 
Fortes Papo Developer
Fortes Papo DeveloperFortes Papo Developer
Fortes Papo Developer
 
Migrando 4 milhões de linhas de Delphi 7 para XE7
Migrando 4 milhões de linhas de Delphi 7 para XE7Migrando 4 milhões de linhas de Delphi 7 para XE7
Migrando 4 milhões de linhas de Delphi 7 para XE7
 
XPCE - Qualidade no Código
XPCE - Qualidade no CódigoXPCE - Qualidade no Código
XPCE - Qualidade no Código
 
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
9º FireBird Developer Day - Automatizar Manutenção do Banco de Dados
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no Código
 
Delphi Conference 2011 - Integração Contínua
Delphi Conference 2011 - Integração ContínuaDelphi Conference 2011 - Integração Contínua
Delphi Conference 2011 - Integração Contínua
 

Curso de Delphi - Lógica de Programacao

  • 2. Lógica • Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. • Necessário para pessoas que desejam trabalhar com desenvolvimento de sistemas.
  • 3. Lógica no dia a dia • Sei que o livro está no armário. – Sei que o armário está fechado. – Logo, concluo que para pegar o livro tenho que abrir o armário. • Sei que sou mais velho que João. – Sei que João é mais velho que José. – Então, concluo que sou mais velho que José.
  • 4. Lógica – Mini Exercício • Todos os filhos de João são mais alto que Maria. – Antônio é filho de João. – O que posso concluir logicamente? • José é aluno do FIES. – Para ser aprovado, um aluno do FIES precisa obter nota maior ou igual a 60 e comparecer a mais de 75% das aulas. – José compareceu a todas aulas e obteve nota 80 – O que podemos concluir?
  • 6. Algoritmo • Uma sequencia finita de passos que levam a execução de uma tarefa. • Objetivo fundamental da programação é construir algoritmos. – Receita de bolo. – Manual de um aparelho eletrônico.
  • 7. Algoritmo - Exemplos • Até mesmo coisas simples do cotidiano, podem ser descritas por sequencias lógicas. • Comer uma bala – Pegar a bala – Retirar o papel – Comer a bala – Jogar o papel no lixo
  • 8. Algoritmo - Exemplos • Somar dois números quaiquer – Escreva o primeiro numero – Escreva o segundo numero – Some o primeiro numero com o segundo e escreva o resulta ao lado
  • 9. Algoritmo - Exercício • Trocar uma lâmpada • Tomar banho • Trocar o pneu de um carro • Fazer um bolo • Fritar um ovo
  • 10. Algoritmo: Estrutura de Decisão • Os algoritmos que construimos até agora apresentam uma sequência de passos que devem ser seguidos para atingir um objetivo. • Porém, há algoritmos nos quais a execução de alguns passos pode depender de decisões.
  • 11. Algoritmo: Estrutura de Decisão • No algoritmo da lâmpada em algum momentos nos perguntamos se a lâmpada estava queimada? • Simplesmente trocamos a lâmpada sem fazer qualquer teste. • Podemos acrescentar em nosso algoritmo um teste que verifique se a lâmpada deve ser trocada.
  • 12. Algoritmo: Estrutura de Decisão • Ligue o interruptor – Se a lâmpada não acender ● Pegue uma escada ● Posicione a escada embaixo da lâmpada ● Pegue uma lâmpada nova ● Suba na escada ● Retire a lâmpada velha ● Coloque a lâmpada nova
  • 13. Algoritmo: Estrutura Repetição • Essa estrutura define um fluxo de ações que se repete enquanto uma determinada situação acontece. • Voltando ao algoritmo da lâmpada – … – Coloque a lâmpada nova – Enquanto a lâmpada não acender ● Retire a lâmpada ● Coloque uma outra lâmpada
  • 14. Algoritmo - Exercícios • Suponha que você tenha uma caixa cheia de bolas. Nessa caixa existem bolas azuis e bolas vermelhas. Além disso, você tem também duas caixas vazias. Vamos chamar a caixa que contém as bolas de “caixa 1” e as duas caixas vazias de “caixa 2” e “caixa 3”. Neste contexto, escreva um algoritmo que defina como tirar todas as bolas da “caixa 1”, colocando as bolas azuis na “caixa 2” e as bolas vermelhas na “caixa 3”.
  • 15. Algoritmo - Exercícios Desafio de lógica: Três missionários e três canibais encontram-se na margem esquerda de um rio. Nessa margem também existe um bote que pode transportar uma ou duas pessoas. As seis pessoas pretendem todas passar para a margem direita (usando o bote). No entanto, os missionários têm de arranjar um plano para consegui-lo de modo que, em nenhuma circunstância, existam missionários numa margem em minoria relativamente aos canibais, pois têm receio do que lhes possa acontecer. Quando o bote chega à margem, os elementos do bote são contados como estando na margem. Assim, se houver apenas um canibal em uma margem, não podemos enviar a essa margem o bote com um canibal e um missionário, pois, ao chegar à outra margem, serão dois canibais contra um missionário. Lembre-se de que para o bote ir de uma margem a outra é necessário que alguém esteja remando, ou seja, o bote nunca atravessa vazio. Faça um algoritmo que exiba, passo a passo, como efetuar esta travessia de forma segura.
  • 16. Algoritmo – Solução • Fazer resposta
  • 17. Linguagem de Programação • É a reescrita dos algoritmos que escrevemos em linguagem natural em uma linguagem que o computador entenda. – Delphi, Java, C#, Python • Linguagem de programação possuem uma formalização ou padrão que é necessário ser seguido.
  • 18. Portugol • O Portugol é uma linguagem que une o formalismo ou padrões das linguagens de programação à facilidade de compreensão da linguagem natural. • Exemplo de comandos: – Programa – Inicio – Fim – Var – Escreva
  • 19. Portugol - Exemplo Programa CEPEP Var Frase: Caractere; Inicio Frase := 'Olá Delphi'; Escreva(Frase); Fim.
  • 20. Variáveis • O primeiro passo para que um programa seja executado em um computador é o carregamento desse programa para a memória. • Ao desenvolvermos nossos algoritmos, frequentemente precisamos armazenar dados referentes ao problema, como um nome, um número ou resultado de uma operação. • A forma de solicitar ao computador que reserve memória é chamada de Declaração de Variáveis.
  • 21. Declaração - Sintaxe var nome_da_variavel: tipo_da_variavel • Var: Inicio da declaração • Nome: identificador dessa variável • Tipo: Tipo de dado que será armazenado
  • 22. Declaração – Regras • Iniciar sempre com Letras – Nome(correto), 1Nome(errado) • Não utilizazar caracteres especiais – “,()/*;+. Nome(M); N*B • Não colocar espaço em branco ou hífen entre os nomes – Salario-bruto ou Salario Bruto • Se necessário utilizar Underline _ – Salario_Bruto
  • 23. Declaração – Boas Práticas • Crie suas variaveis com nomes sugestivos – Se vai guardar o salário, dê à variavel o nome de Salario. – Ao contrário de somente S
  • 24. Tipos de variáveis • Tipo Inteiro: Armazena valores numéricos inteiros tais como (0, 1, 5, 300, -10). • Tipo Real: Armazena valores numéricos reais, ou seja, com ponto decimal (5.7, 3.2, -8.5). • Tipo Caractere: Armazena um único caractere que pode ser uma letra ou um simbolo. Exemplo identificar o sexo de um indivíduo ('F' ou 'M').
  • 25. Tipos de variáveis • Tipo Cadeia: Armazena uma sequencia ou cadeia de caracteres. Exemplo o nome de uma pessoa ou uma frase inteira. • Tipo Logico: Armazena um valor lógico que sempre terá seu valor igual a Verdadeiro ou Falso.
  • 26. Variável - Exemplo Var Nome, SobreNome: Cadeia; Idade: Inteiro; Sexo: Caractere; Trabalha: Logico; Salario: Real;
  • 30. Constantes • Ao contrário das variáveis os valores das constantes não mudam com o tempo. • Seu tipo é assumido automatico de acordo com o valor atribuido. Const Pi = 3.1415; • Ex.: – Resultado := 10 x Pi; – Resultado := 10 x 3.1415;
  • 32. Comandos: Atribuição de Dados • O comando utilizado para atribuição de valores à variáveis é o := • Ex.: Var Nome: Cadeia; Inicio Nome := 'José Araújo'; Escreva(Nome); Fim.
  • 33. Comandos: Entrada de Dados • Frequentemente, na construção de algoritmos, precisamos solicitar que usuários informem, por meio do teclado, alguns valores a serem utilizados durante a execução. • O comando de entrada de dados será responsável pela leitura e armazenamento desses dados na variável que indicarmos.
  • 34. Entrada de Dados – Sintaxe • Sintaxe: Leia(variavel); • Leia() – Função responsável por ler o que o usuário digitou e armazenar o valor na variável indicada. • Variavel – Nome da variavel utilizada para armazenar o valor digitado. – O valor digitado tem que ser compativel com o tipo da variavel.
  • 35. Entrada de Dados – Sintaxe • Sintaxe: Leia(variavel); • Leia() – Função responsável por ler o que o usuário digitou e armazenar o valor na variável indicada. • Variavel – Nome da variavel utilizada para armazenar o valor digitado. – O valor digitado tem que ser compativel com o tipo da variavel.
  • 36. Comandos: Saida de Dados • Por meio da utilização do comando de saída de dados, conseguimos exibir mensagens ou valores para o usuário de nossos programas. É através desse comando que nosso algoritmo consegue se comunicar com o usuário para solicitar a entrada de dados ou para fornecer saídas de dados. • O comando de saída de dados exibe no monitor valores de constantes, variáveis ou expressões.
  • 37. Saida de Dados – Sintaxe • Sintaxe: Escreva(expressao); • Escreva() – Função responsável por escrever no monitor uma mensagem para o usuário. • Expressão – Indica o que será escrito no monitor. É normalmente composta por um texto fixo seguido por uma virgula e um nome de variavel. – Escreva('Seu nome é: ', Nome);
  • 38. Estrutura Base de um Programa Programa NomePrograma Const Declaracao de constantes Var Declaracação de variaveis Inicio Conjunto de comandos que formará o algoritmo Fim.
  • 41. Programa Portugol - Exercicio
  • 42. Programa Portugol - Exercicio
  • 43. Programa Portugol - Exercicio
  • 45. Fim