You are on page 1of 41

Lógica de Programação

Prof. Cláudio Fabian


cfabianvieira@gmail.com
Sobre o Professor

 Graduação Tecnológica em Análise e Desenvolvimento de


Sistemas - Instituo Brasileiro de Ensino Superior (IBES)

 Pós-graduando em Engenharia de Software


ESTÁCIO / FIB;

 Analista de TI – Empresa TRACT – Contabilidade – Assessoria –


Consultoria Tributária
Apresentação dos alunos

 Identificação dos alunos.


 Qual a área de atuação?
 Experiência na área?
 Qual expectativa do curso?
Objetivo da Disciplina

O objetivo desta disciplina é habilitar os alunos a aplicar


técnicas para o desenvolvimento de algoritmos
classificados como sequenciais, condicionais e algoritmos
com estruturas de repetição.
Ementa
 Lógica e Algoritmos
 Algoritimizando
 Variáveis e Constantes
 Tipos de Dados
 Operadores
 Estruturas Sequenciais
 Estruturas Condicionais
 Estruturas de Repetição
 Visualg
 Uso de Procedimentos/Funções
 Vetores
Lógica e Algoritmos
Para usar a lógica, deve-se ter um domínio de
como pensar, ou seja definir passos de forma
coerente para que satisfaça uma determinada
necessidade.

Algoritmo, trata de um conjunto ações para que


resulte em uma sucessão finita de passos
organizados, atingindo o objetivo.
Lógica e Algoritmos
Exemplo de Lógica:
- Todo mamífero é animal.
- Todo cavalo é mamífero.
- Portanto todo cavalo é animal.
- Maria é mais velha que Ana.
- Ana é mais velha que Sara.
- Portanto, Maria é mais velha que Sara.
Lógica e Algoritmos
Exemplo de Algoritmo:
A televisão está desligada.
Preciso ligar a televisão.
Quais passos deve-se executar?
Pegar controle, apontar o controle para a TV,
Pressionar o botão de ligar.
Algoritimizando
Lógica para :
Trocar uma Lâmpada

Início.
 LOCALIZAR Escada;  SEGURAR Lâmpada Nova;;
 POSICIONAR Embaixo da Lâmpada;  SUBIR na Escada;
 LOCALIZAR Nova Lâmpada;  POSICIONAR Lâmpada no Bocal;
 RESERVAR nova Lâmpada;  GIRAR Lâmpada 180º para a Esquerda;
 SUBIR Na Escada;  GIRAR Lâmpada 180º para a Esquerda;
 SEGURAR Lâmpada a ser Trocada;
 GIRAR Lâmpada 180º para a Esquerda;
 GIRAR a Lâmpada 180º para direita;
 DESCER da Escada;
 GIRAR a Lâmpada 180º para direita;
 GIRAR a Lâmpada 180º para direita;  POSICIONAR Frente do Interruptor;
 DESCER da Escada;  ACIONAR Interruptor
 RESERVAR Lâmpada Removida; Fim.
Algoritimizando
Lógica para :
Fazer Ligação Telefone Público

Início.
 LOCALIZAR Orelhão;
 RETIRAR o Fone do Gancho;
 LOCALIZAR a Ficha Telefônica;
 COLOCAR Ficha Telefônica o Reservatório;
 DISCAR o Número desejado;
 REALIZAR o Diálogo;
 FINALIZAR o Diálogo;
 COLOCAR o Fone no Gancho;
Fim.
Algoritimizando - Exercício

Exercícios :

1) Construa um algoritmo Tomar Banho;


2) Construa um algoritmo Trocar Pneu;
3) Construa um algoritmo Somar dois Números;
Variáveis e Constantes

Variável, como próprio nome diz, o que pode variar. Na


programação atribuímos valores as variáveis de memória. Estes
valores são armazenados no decorrer de uma execução de um
programa, podendo ser alterado ou não.

Constantes, é uma valor fixo que não se modifica ao longo do


tempo, durante a execução de um programa. Pode ser um
número, um valor lógico ou uma sequencia de caracteres.
Variáveis e Constantes
Uma variável pode ser identificada por um ou mais caracteres.
Obrigatoriamente, deve-se obedecer uma regra:

 Obrigatoriamente iniciar por uma letra;


 Caracteres seguintes letras ou números;
 Não pode uso de caracteres especiais;
 Deve-se utilizar nomes que reflitam a natureza do que será
armazenado;

Exemplos: R - nome – dtnasc - X1


Tipos de Dados
Variáveis e constantes podem ser dos seguintes tipos:
 Numéricas;
 Caracteres;
 Alfanuméricas;
 Lógicas;
Tipo Descrição
Inteiro Conjunto dos números inteiros relativos, sejam negativo,
positivo ou nulo.
Reais Pertencente ao conjunto dos números reais sejam (inteiros e
fracionários, positivos, negativos ou nulos).
Caractere Composto por qualquer simbologia, sejam números (0...9),
alfabéticos (A...Z), ou (a...z), e os símbolos (/ ! @ # $ % & * -).
Lógico Trata-se de valores que só aceitam duas situações: (V, F)
também identificado por tipo booleano.
Operadores
Operadores utilizados na programação estão classificados
como:

 Operadores Aritméticos;
 Operadores Relacionais;
 Operadores Lógicos;
Operadores
 Operadores Aritméticos
Operadores Simbologia
Adição +
Subtração -
Multiplicação *
Divisão /
Exponenciação **

 Regras de Precedência:
( ) Parênteses;
Exponenciação;
Multiplicação ou divisão;
Soma ou Subtração;
Operadores
 Operadores Aritméticos / Exemplos:

a) (6 + 2) / 4 =

= 8 / 4 = 2;

a) (3 * 4) / 2 + ( 5 + 1) =

= 12 / 2 + 6 =

= 6 + 6 = 12;
Operadores
 Operadores Relacionais
Operadores Simbologia
Igual a =
Diferente de <> ou ≠ ou !=
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
Operadores
 Operadores Relacionais / Exemplos:

A = 5; B = 7; Z = 5;

Definida as variáveis acima, determine V ou F:

A = B ( )
B > Z ( )
A = Z ( )
B < Z ( )
A <> B ( )
B >= Z ( )
A <= Z ( )
Operadores

 Operadores Lógicos
Operadores Valor Definição
E AND VERDADEIRO, apenas quando
comparados idênticos.
OU OR VERDADEIRO, quando uma das
opções comparada satisfaça a
condição.
NÃO NOT VERDADEIRO, quando as opções
comparadas forem falsa.
Operadores
 Operadores Lógicos / Exemplos:
Valores Atribuídos:

A = 10 B = 15 Z = 7
Expressões Lógicas Resultado
A = Z OR B > A
Z > B NOT B < A
A < B OR B > A
A >= Z AND B > Z
Z <= A AND A > Z
(A+Z)>(B–A) OR ( B – A ) >= ( A + Z )
Estruturas Sequenciais
Estruturas sequenciais, são executadas de cima para baixo.
Comandos: Início - Fim.
Início
X =8; Z = 4;
Y <- (X / Z) + 2
escreva X, Y, Z
Fim
------------------------------ xxxxxx --------------------------
Início
declare X, Y, Z, numéricos
leia X, Z
Y <- (X / Z) + 2
escreva X, Y, Z
Fim
Estruturas Condicionais
Estrutura Condicional, permite a escolha de determinadas ações
quando determinadas condições são satisfeitas ou não.
Comandos se - fim se.
Início
Início declare X, Y, Z, numéricos
X =8; Z = 4; leia X, Z
Y <- (X / Z) + 2 Y <- (X / Z) + 2
se Y < ( X + Y) se Y > (Y + Z)
então Escreva “MENOR” então escreva “MENOR”
fim se senão escreva “MAIOR”
Fim fim se
Fim
Estruturas Repetição
Estrutura Repetição, permite que uma sequencia de comandos seja
executada repetidamente até que uma determinada condição de
interrupção seja satisfeita.
Comandos: repita – fim repita – interrompa.
Início
X = 0; Z = 10;
repita
se X = Z
então
interrompa
fim se
escreva X
fim repita
escreva Z
Fim
Procedimentos e Funções
Trata-se de blocos de instruções para que seja realizada uma
determinada tarefa.

Podendo ser reutilizados, quantas vezes for necessário.

O uso de procedimentos permite ao programador economizar


espaço e tempo na programação.

Funções nada mais é que um procedimento, só que mais específico.


A função te dar um retorno dentro de uma rotina de
procedimentos.
VisuaAlg

É um visualizador de algoritmo, é um programa


que edita, interpreta e executa algoritmos com
uma linguagem próxima do português
estruturado como se fosse um programa normal
de computador.
VisuaAlg
VisuAlg
• A linguagem do VisuAlg permite apenas um comando por linha: desse
modo, não há necessidade de tokens separadores de estruturas, como
o ponto e vírgula em Pascal. Também não existe o conceito de blocos
de comandos (que correspondem ao begin e end do Pascal e ao { e }
do C), nem comandos de desvio incondicional como o goto. Na versão
atual do VisuAlg, com exceção das rotinas de entrada e saída, não há
nenhum subprograma embutido, tal como Inc(), Sqr(), Ord(), Chr(),
Pos(), Copy() ou outro.
• Importante: para facilitar a digitação e evitar confusões, todas as
palavras-chave do VisuAlg foram implementadas sem acentos, cedilha,
etc. Portanto, o tipo de dados lógico é definido como logico, o
comando se..então..senão é definido como se..entao..senao, e assim
por diante. O VisuAlg também não distingue maiúsculas e minúsculas
no reconhecimento de palavras-chave e nomes de variáveis.
VisuAlg
• Formato Básico do Pseudocódigo e Inclusão de
Comentários
• O formato básico do nosso pseudocódigo é o seguinte:
algoritmo "semnome"
// Função :
// Autor :
// Data :
// Seção de Declarações
inicio
// Seção de Comandos
fimalgoritmo
VisuAlg
A primeira linha é composta pela palavra-chave algoritmo
seguida do seu nome delimitado por aspas duplas.

Este nome será usado como título nas janelas de leitura de


dados. A seção que se segue é a de declaração de variáveis,
que termina com a linha que contém a palavra-chave inicio.

Deste ponto em diante está a seção de comandos, que


continua até a linha em que se encontre a palavra-chave
fimalgoritmo. Esta última linha marca o final do
pseudocódigo: todo texto existente a partir dela é ignorado
pelo interpretador.
VisuAlg
Tipos de Dados

O VisuAlg prevê quatro tipos de dados: inteiro, real, cadeia de


caracteres e lógico (ou booleano).

As palavras-chave: ( não têm acentuação):


inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem
casas decimais.
real: define variáveis numéricas do tipo real, ou seja, com casas
decimais.
caractere: define variáveis do tipo string, ou seja, cadeia de
caracteres.
logico: define variáveis do tipo booleano, ou seja, com valor
VERDADEIRO ou FALSO.
VisuAlg
1. Elaborar uma algoritmo para calcular a soma
entre dois números inteiros.
2. Elaborar uma algoritmo que solicite dois
números e mostre qual é o maior.
3. Elaborar um algoritmo para calcular a média
aritmética.
4. Elaborar um algoritmo para informar se o
número inteiro é par ou impar.
VisuAlg
• Passos para elaborar um algoritmo:
No modelo computacional, dispomos de três
elementos:

Entrada -> Processamento -> Saída


VisuAlg – Entrada -> Processamento -> Saída

• Elaborar uma algoritmo para calcular a soma


entre dois números inteiros.

Entrada -> X, Y
Processamento -> X + Y
Saída -> R
VisuAlg – Entrada -> Processamento -> Saída
algoritmo "soma"
// Função : Efetuar a soma entre dois números inteiros e exibir seu resultado;
// Autor :
// Data :
// Seção de Declarações
var
x,y,r: inteiro
inicio
// Seção de Comandos
escreva ("Digite o primeiro número a ser somado: ")
leia (x)
escreva ("Digite o segundo número a ser somado: ")
leia (y)
r <- x + y
escreval ("A soma de x + y e: ",r)
fimalgoritmo
VisuAlg – Entrada -> Processamento -> Saída

Elaborar uma algoritmo que solicite dois números


inteiros e mostre qual é o maior.

Entrada -> x, y
Processamento -> x > y
Saída -> x ou Y
VisuAlg – Entrada -> Processamento -> Saída
algoritmo "comparar"
// Função : Efetuar a comparação entre dois números inteiros e exibir o maior;
var
x,y: inteiro
inicio
escreva ("Digite o primeiro número a ser somado: ")
leia (x)
escreva ("Digite o segundo número a ser somado: ")
leia (y)
se (x > y) entao
escreval ("o número maior e: ",x)
senao
escreval ("o número maior e: ",y)
fimse
fimalgoritmo
VisuAlg – Entrada -> Processamento -> Saída

Elaborar um algoritmo para calcular a média


aritmética.

Entrada -> n1, n2


Processamento -> (n1 + n2) / 2
Saída -> m
VisuAlg – Entrada -> Processamento -> Saída
algoritmo "media"
// Função : Calcular a média aritmética
var
n1,n2, m: real
inicio
escreva ("Digite a primeira Nota para n1: ")
leia (n1)
escreva ("Digite a segunda Nota para n2: ")
leia (n2)
m <- (n1 + n2) / 2
escreval ("A média das notas digitadas e: ",m)
fimalgoritmo
VisuAlg – Entrada -> Processamento -> Saída

Elaborar um algoritmo para informar se o número


inteiro é par ou impar.

Entrada -> x
Processamento -> (n1 + n2) / 2
Saída -> “par” ou “impar”
VisuAlg – Entrada -> Processamento -> Saída
algoritmo "parimpar"
// Função : Verificar se um número é par ou impar
var
x : inteiro
inicio
escreva ("Digite um número: ")
leia (x)
se (x mod 2 = 0) entao
escreval ("O número", x, " e PAR")
senao
escreval ("O número", x, " e IMPAR")
fimse
fimalgoritmo