SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
Lógica de Programação
Andrei Bastos
UFES – LABIC
VITÓRIA, ES - 2014
Universidade Federal do Espírito Santo UFES - LABIC

1
OBJETIVOS
• Desenvolver o raciocínio lógico;
• Familiarizar o aluno com o modelo sequencial de
computação;
• Apresentar técnicas e linguagens para
representação e construção de algoritmos simples;
• Apresentar conceitos básicos de linguagens de
programação;

Universidade Federal do Espírito Santo UFES - LABIC

2
Bibliografia
• Lógica de Programação – A Construção de
Algoritmos e Estruturas de Dados – São Paulo
• Paulo Sérgio de Moraes, Apostila de Lógica de
Programação.

Universidade Federal do Espírito Santo UFES - LABIC

3
Conceito
São vários os conceitos para algoritmo.
Escolhemos alguns para serem apresentados
• “Um conjunto finito de regras que provê uma sequência
de operações para resolver um tipo de problema
específico” [KNUTH]
• “Sequência ordenada, e não ambígua, de passos que
levam à solução de um dado problema” [TREMBLAY]

Universidade Federal do Espírito Santo UFES - LABIC

4
Conceito
Um algoritmo é formalmente uma sequência
finita de passos que levam a execução de uma
tarefa.
Podemos pensar em algoritmo como uma
receita, uma sequência de instruções que dão
cabo de uma meta específica.
Estas tarefas não podem ser redundantes nem
subjetivas na sua definição, devem ser claras e
precisas.
Universidade Federal do Espírito Santo UFES - LABIC

5
Formas de Representação
DESCRIÇÃO NARRATIVA
Faz-se uso do português para descrever algoritmos
VANTAGENS:
• o português é bastante conhecido por nós;

DESVANTAGENS:
• imprecisão;
• pouca confiabilidade (a imprecisão acarreta a
desconfiança);
• extensão (normalmente, escreve-se muito para dizer pouca
coisa).
Universidade Federal do Espírito Santo UFES - LABIC

6
Exemplos
“Chupar uma bala”.
• Pegar a bala
• Retirar o papel
• Chupar a bala
• Jogar o papel no lixo

Universidade Federal do Espírito Santo UFES - LABIC

7
Exemplos
“Somar dois números quaisquer”.
• Escreva o primeiro número no retângulo A
• Escreva o segundo número no retângulo B
• Some o número do retângulo A com número do retângulo B e
coloque o resultado no retângulo C

Universidade Federal do Espírito Santo UFES - LABIC

8
Exercícios
Faça um algoritmo:
• para trocar uma lâmpada.
• para comprar um teclado.
• para colocar um tênis.
• Para somar dois números e multiplicar o
resultado pelo primeiro número.

Universidade Federal do Espírito Santo UFES - LABIC

9
Programas
Os programas de computadores nada mais são
do que algoritmos escritos numa linguagem de
computador (Pascal, C, Cobol, Fortran, Visual
Basic entre outras) e que são interpretados e
executados por uma máquina

Universidade Federal do Espírito Santo UFES - LABIC

10
Desenvolvendo algoritmos
Para escrever um algoritmo precisamos descrever a
sequência de instruções, de maneira
• simples e objetiva. Para isso utilizaremos algumas
técnicas:
• Usar somente um verbo por frase
• Usar frases curtas e simples
• Ser objetivo
• Procurar usar palavras que não tenham sentido
dúbio
Universidade Federal do Espírito Santo UFES - LABIC

11
Fases
Vimos que ALGORITMO é uma sequência lógica de
instruções que podem ser executadas.
É importante ressaltar que qualquer tarefa que siga
determinado padrão pode ser descrita por um
algoritmo, como por exemplo:
COMO FAZER ARROZ DOCE
ou então
CALCULAR O SALDO FINANCEIRO DE UM ESTOQUE
Universidade Federal do Espírito Santo UFES - LABIC

12
Fases
Entretanto ao montar um algoritmo, precisamos
primeiro dividir o problema apresentado em
três fases fundamentais.

Onde temos:
ENTRADA: São os dados de entrada do algoritmo
PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final
SAÍDA: São os dados já processados

Universidade Federal do Espírito Santo UFES - LABIC

13
Fases
Analogia com o Humano:

Universidade Federal do Espírito Santo UFES - LABIC

14
Exemplo
• Imagine o seguinte problema: Calcular a média final dos alunos de
uma turma da UFES. Os alunos realizarão três provas: P1, P2, P3.
Onde Média Final = (P1+P2+P3)/3.
Para montar o algoritmo proposto, faremos três perguntas:
a) Quais são os dados de entrada?
R: Os dados de entrada são P1, P2, P3 e P4.
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e
dividi-los por 3 (três).
c) Quais serão os dados de saída?
R: O dado de saída será a média final.

Universidade Federal do Espírito Santo UFES - LABIC

15
Exemplo
Algoritmo Calcular Média Final:
• Receba a nota da prova1
• Receba a nota de prova2
• Receba a nota de prova3
• Some todas as notas e divida o resultado por 3
• Mostre o resultado da divisão

Universidade Federal do Espírito Santo UFES - LABIC

16
Teste de Mesa
• Após desenvolver um algoritmo ele deverá sempre ser
testado. Este teste é chamado de TESTE DE MESA, que
significa, seguir as instruções do algoritmo de maneira
precisa para verificar se o procedimento utilizado está
correto ou não.
Veja o exemplo:
P1
P2
P3
Média Final
• Nota da Prova 1
• Nota da Prova 2
• Nota da Prova 3
• Utilize a tabela ao lado:
Universidade Federal do Espírito Santo UFES - LABIC

17
EXERCÍCIOS
1) Identifique os dados de entrada, processamento e saída no
algoritmo abaixo
–
–
–
–
–

Receba código da peça
Receba valor da peça
Receba Quantidade de peças
Calcule o valor total da peça (Quantidade * Valor da peça)
Mostre o código da peça e seu valor total

2) Faça um algoritmo para “Calcular o estoque médio de uma
peça”, sendo que
– ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE
MÁXIMA) /2

3) Teste o algoritmo anterior com dados definidos por você.
Universidade Federal do Espírito Santo UFES - LABIC

18
Formas de Representação
FLUXOGRAMA OU DIAGRAMA DE BLOCOS
O diagrama de blocos é uma forma padronizada e eficaz para
representar os passos lógicos de um determinado processamento. Com o
diagrama podemos definir uma sequência de símbolos, com significado bem
definido, portanto, sua principal função é a de facilitar a visualização dos
passos de um processamento.
VANTAGENS:
• Uma das ferramentas mais conhecidas;
• Figuras dizem muito mais que palavras;
• Padrão mundial
DESVANTAGENS:
• Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou
representá-los;
• Complica-se à medida que o algoritmo cresce.
Universidade Federal do Espírito Santo UFES - LABIC

19
SIMBOLOGIA
Existem diversos símbolos em um diagrama de bloco. Veja no quadro abaixo
alguns dos símbolos mais utilizados.

Universidade Federal do Espírito Santo UFES - LABIC

20
Exemplos
•

Dentro do símbolo sempre terá algo escrito, pois somente os símbolos não
nos dizem nada. Veja no exemplo a seguir:

Universidade Federal do Espírito Santo UFES - LABIC

21
Exemplos

Universidade Federal do Espírito Santo UFES - LABIC

22
Constantes, Variáveis e Tipos de Dados
• Variáveis e constantes são os elementos básicos que um
programa manipula.
• Uma variável é um espaço reservado na memória do
computador para armazenar um tipo de dado
determinado.
• Variáveis devem receber nomes para poderem ser
referenciadas e modificadas quando necessário.
• Um programa deve conter declarações que especificam de
que tipo são as variáveis que ele utilizará e as vezes um
valor inicial.
• Tipos podem ser por exemplo: inteiros, reais, caracteres,
etc. As expressões combinam variáveis e constantes para
calcular novos valores
Universidade Federal do Espírito Santo UFES - LABIC

23
Constantes
Constante é um determinado valor fixo que não
se modifica ao longo do tempo, durante a
execução de um programa. Conforme o seu tipo,
a constante é classificada como sendo numérica,
lógica e literal.
Exemplo de constantes:

Universidade Federal do Espírito Santo UFES - LABIC

24
Variáveis
• Variável é a representação simbólica dos elementos de um
certo conjunto. Cada variável corresponde a uma posição de
memória, cujo conteúdo pode se alterado ao longo do tempo
durante a execução de um programa. Embora uma variável
possa assumir diferentes valores, ela só pode armazenar um
valor a cada instante
Exemplos de variáveis

Universidade Federal do Espírito Santo UFES - LABIC

25
Tipos de Variáveis
As variáveis e as constantes podem ser basicamente de quatro tipos: Numéricas,
caracteres, Alfanuméricas ou lógicas.
Numéricas Específicas para armazenamento de números, que posteriormente poderão ser
utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais.
Caracteres Específicas para armazenamento de conjunto de caracteres que não
contenham números (literais). Ex: nomes.

Alfanuméricas Específicas para dados que contenham letras e/ou números. Pode em
determinados momentos conter somente dados numéricos ou somente
literais. Se usado somente para armazenamento de números, não poderá
ser utilizada para operações matemáticas.
Lógicas Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso.

Universidade Federal do Espírito Santo UFES - LABIC

26
Declaração de Variáveis
As variáveis só podem armazenar valores de um mesmo tipo, de maneira que também são
classificadas como sendo numéricas, lógicas e literais.

Universidade Federal do Espírito Santo UFES - LABIC

27
EXERCÍCIOS
•
•
•

O que é uma constante? Dê dois exemplos.
O que é uma variável? Dê dois exemplos.
Faça um teste de mesa no diagrama de bloco abaixo e preencha a tabela
ao lado com os dados do teste:

Universidade Federal do Espírito Santo UFES - LABIC

28
Operadores
Os operadores são meios pelo qual incrementamos,
decrementamos, comparamos e avaliamos dados
dentro do computador. Temos três tipos de
operadores:

• Operadores Aritméticos
• Operadores Relacionais
• Operadores Lógicos

Universidade Federal do Espírito Santo UFES - LABIC

29
Operadores Aritméticos
Os operadores aritméticos são os utilizados para obter resultados numéricos.
Além da adição, subtração, multiplicação e divisão, podem utilizar também o
operador para exponencial. Os símbolos para os operadores aritméticos são:

OPERAÇÃO

SÍMBOLO

Adição

+

Subtração

-

Multiplicação

*

Divisão

/

Exponencial

** ou ^
Universidade Federal do Espírito Santo UFES - LABIC

30
Operadores Aritméticos
Hierarquia das Operações Aritméticas
1 º ( ) Parênteses
2 º Exponencial
3 º Multiplicação, divisão (o que aparecer primeiro)
4 º + ou – (o que aparecer primeiro)
Exemplos

TOTAL = PRECO * QUANTIDADE
1 + 7 * 2 ** 2 –1 = 28
3 * (1 – 2) + 4 * 2 = 5

Universidade Federal do Espírito Santo UFES - LABIC

31
Operadores Relacionais
Os operadores relacionais são utilizados para comparar variáveis. Os valores a serem
comparados podem ser caracteres, numéricos ou lógicos.

Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False)
Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize
os parênteses.
Os operadores relacionais são:
Descrição

Resultado

Igual a

==

Diferente de

!= ou <>

Maior que

>

Menor que

<

Maior ou igual a

=>

Menor ou igual a

<=
Universidade Federal do Espírito Santo UFES - LABIC

32
Exemplos
Tendo duas variáveis A = 5 e B = 3
Os resultados das expressões seriam:
Expressão

Resultado

A == B

Falso

A <> B

Verdadeiro

A>B

Verdadeiro

A<B

Falso

A >= B

Verdadeiro

A <= B

Falso

Universidade Federal do Espírito Santo UFES - LABIC

33
Operadores Lógicos
Os operadores lógicos servem para combinar resultados de expressões, retornando se
o resultado final é verdadeiro ou falso.

Os operadores lógicos são:
E

AND

OU

OR

NÃO

NOT

E / AND: Uma expressão AND (E) é verdadeira se
todas as condições forem
Verdadeiras
OR/OU: Uma expressão OR (OU) é verdadeira se
pelo menos uma condição for
Verdadeira

NOT: Um expressão NOT (NÃO) inverte o valor da
expressão ou condição, se
verdadeira inverte para falsa e vice-versa.

Universidade Federal do Espírito Santo UFES - LABIC

34
Exemplo
A tabela abaixo mostra todos os valores possíveis criados pelos três operadores lógicos
(AND, OR e NOT)
1º Valor

Operador

2º Valor

Resultado

True

AND

True

True

True

AND

False

False

False

AND

True

False

False

AND

False

False

True

OR

True

True

True

OR

False

True

False

OR

True

True

False

OR

False

False

True

NOT

False

False

NOT

True

Universidade Federal do Espírito Santo UFES - LABIC

35
Exemplo
Suponha que temos três variáveis A = 5, B = 8 e C =1
Os resultados das expressões seriam:

Expressões

Resultado

A == B

AND

B>C

False

A <> B

OR

B<C

True

A>B

NOT

A<B

AND

B>C

True

A >= B

OR

B == C

False

A <= B

NOT

True

False

Universidade Federal do Espírito Santo UFES - LABIC

36
EXERCÍCIOS
1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo.
Informe se as expressões são verdadeiras ou falsas.
Salário

IR

SALLIQ

EXPRESSÃO

100,00

0,00

100

(SALLIQ >= 100,00)

200,00

10,00

190,00

(SALLIQ < 190,00)

300,00

15,00

285,00

V OU F

SALLIQ = SALARIO - IR

2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas.
a) (A+C) > B
b) B >= (A + 2)
c) C = (B –A)
d) (B + A) <= C
e) (C+A) > B

()
()
()
()
()
Universidade Federal do Espírito Santo UFES - LABIC

37
EXERCÍCIOS
3) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras
ou
falsas.
a) (A > C) AND (C <= D) ( )
b) (A+B) > 10 OR (A+B) = (C+D) ( )
c) (A>=C) AND (D >= C) ( )

Universidade Federal do Espírito Santo UFES - LABIC

38
Operações Lógicas
Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um
diagrama de bloco.
Num diagrama de bloco, toda decisão terá sempre como resposta o resultado
VERDADEIRO
ou FALSO.
Como no exemplo do algoritmo “CHUPAR UMA BALA”. Imaginemos que algumas pessoas
não gostem de chupar bala de Morango, neste caso teremos que modificar o algoritmo
para:
“Chupar uma bala”.
· Pegar a bala
· A bala é de morango?
· Se sim, não chupe a bala
· Se não, continue com o algoritmo
· Retirar o papel
· Chupar a bala
· Jogar o papel no lixo

Universidade Federal do Espírito Santo UFES - LABIC

39
Exemplo
Exemplo: Algoritmo “Chupar Bala” utilizando diagrama de Blocos

Universidade Federal do Espírito Santo UFES - LABIC

40
Estrutura de Decisão e Repetição
Como vimos no capítulo anterior em “Operações Lógicas”, verificamos que na maioria das
vezes necessitamos tomar decisões no andamento do algoritmo. Essas decisões interferem
diretamente no andamento do programa. Trabalharemos com dois tipos de estrutura. A
estrutura
de Decisão e a estrutura de Repetição
Comandos de Decisão
Os comandos de decisão ou desvio fazem parte das técnicas de programação que
conduzem a estruturas de programas que não são totalmente sequenciais. Com as
instruções de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou
outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou
resultados anteriores. As principais estruturas de decisão são: “Se Então”, “Se então
Senão” e “Caso Selecione”

Universidade Federal do Espírito Santo UFES - LABIC

41
SE ENTÃO / IF ... THEN
A estrutura de decisão “SE/IF” normalmente vem acompanhada de um comando,
ou seja, se determinada condição for satisfeita pelo comando SE/IF então execute
determinado comando.

Imagine um algoritmo que determinado aluno somente estará aprovado se sua
média for maior ou igual a 5.0, veja no exemplo de algoritmo como ficaria.
SE (MEDIA >= 5.0 )
Em diagrama de blocos ficaria assim:
ENTÃO
ALUNO APROVADO

Na linguagem C, Ficaria:

If(Media>=5.0)
{
Texto = “APROVADO”;
}
Universidade Federal do Espírito Santo UFES - LABIC

42
SE ENTÃO SENÃO / IF ... THEN ... ELSE
A estrutura de decisão “SE/ENTÃO/SENÃO”, funciona exatamente como a
estrutura “SE”, com apenas uma diferença, em “SE” somente podemos executar comandos
caso a condição seja verdadeira, diferente de “SE/SENÃO” pois sempre um comando será
executado independente da condição, ou seja, caso a condição seja “verdadeira” o
comando da condição será executado, caso contrário o comando da condição “falsa” será
executado
Em algoritmo ficaria assim:
SE MÉDIA >= 5.0 ENTÃO
Em diagrama:
ALUNO APROVADO
SENÃO
ALUNO REPROVADO
Em Linguagem C:
If (MEDIA>=5.0)
{
Texto = “APROVADO”;
}
else
{
Texto = “REPROVADO”;
}

Universidade Federal do Espírito Santo UFES - LABIC

43
Exercício
• Escreva uma Algoritmo que envolva:
– Uma condição com Se então (if)
– Uma condição com Se então (if .. Else)

Universidade Federal do Espírito Santo UFES - LABIC

44
Comandos de Repetição
Utilizamos os comandos de repetição quando desejamos que um determinado conjunto
de instruções ou comandos sejam executados um número definido ou indefinido de
vezes, ou enquanto um determinado estado de coisas prevalecer ou até que seja
alcançado.

São eles os comandos:
Para (valores Iniciais; Condições; Conjunto de comandos) (for)
Enquanto (Condições forem satisfeitas) (while)
Faça (conjunto de comandos) Enquanto (conjunto condições forem satisfeitas) (do while)

Universidade Federal do Espírito Santo UFES - LABIC

45
Para/for
•
•

Nessa estrutura, você determina valores iniciais as variáveis, impõem condições e
comandos para serem realizados caso as condições forem satisfeitas.
Mais utilizados em contadores, quando você quer fazer uma escala de variação

Exemplo:
Imagina que você queira ler 100 valores e calcular a média aritmética deles
Bastaria você declarar uma variável inteira que começasse com o valor 0, fizesse uma
condição lógica para contar os 100 valores e incrementar +1 a cada passagem.

Vejamos na prática...

Universidade Federal do Espírito Santo UFES - LABIC

46
Exemplo
• Exemplo de para/for para o caso anterior:
int i, soma, valor;
double media_final ;
for(i=0,soma=0, i<100; i++)
{
leia valor;
soma = soma + valor ;
}
media_final = soma/100;
imprima (media_final);

Universidade Federal do Espírito Santo UFES - LABIC

47
Enquanto/while
• Nessa estrutura você impõem condições e comandos para
serem realizados caso as condições forem satisfeitas.
• As condições serão avaliadas antes dos comandos
• Geralmente utilizados quando você não sabe o número de
vezes que irá se repetir.
Exemplo:
Imagina que você queira ler valores até que a soma de todos
valores lidos seja maior que 100 e exiba a cada alteração;
Vejamos na prática...

Universidade Federal do Espírito Santo UFES - LABIC

48
Enquanto/While
int i, soma, valor;
soma = 0;
while (soma<100)
{
Leia valor;
Soma = soma + valor;
Imprima Soma;
}

Universidade Federal do Espírito Santo UFES - LABIC

49
Faça... Enquanto /do.. while
• Nessa estrutura você impõem condições e comandos para
serem realizados caso as condições forem satisfeitas.
• As condições serão avaliadas depois dos comandos
• Geralmente utilizados quando você não sabe o número de
vezes que irá se repetir e precisa que o começo seja lido.
Exemplo:
se o utilizador introduzir um valor menor que 10 para o raio, o
programa volta a pedir um valor para o raio.
Vejamos na prática...

Universidade Federal do Espírito Santo UFES - LABIC

50
Faça Enquanto/do While
double area, raio, Pi;
Pi = 3.1415;
do {
Leia raio;
} while( raio < 10 );
area = PI * raio * raio;
Imprima area;
Universidade Federal do Espírito Santo UFES - LABIC

51
Exercícios
• Faça uma algoritmo que leia valores enquanto
forem menores que 20;
• Faça um algoritmo que leia 10 valores e
imprima no final a multiplicação de todos eles;

Universidade Federal do Espírito Santo UFES - LABIC

52

Más contenido relacionado

La actualidad más candente

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 

La actualidad más candente (20)

Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica 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
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Aula 06 - Sistema Binário
Aula 06 - Sistema BinárioAula 06 - Sistema Binário
Aula 06 - Sistema Binário
 

Similar a Lógica de programação em ppt

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
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
João Gomes
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 

Similar a Lógica de programação em ppt (20)

Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
01 fundamentos de programação
01   fundamentos de programação01   fundamentos de programação
01 fundamentos de programação
 
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...
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
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
 
Aula02
Aula02Aula02
Aula02
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Excel - como funciona
Excel - como funcionaExcel - como funciona
Excel - como funciona
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Lógica de programação 2
Lógica de programação 2Lógica de programação 2
Lógica de programação 2
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Más de Andrei Bastos

Más de Andrei Bastos (20)

Geometria analitica exercicios resolvidos
Geometria analitica exercicios resolvidosGeometria analitica exercicios resolvidos
Geometria analitica exercicios resolvidos
 
Apostila vetores e geometria analitica
Apostila vetores e geometria analiticaApostila vetores e geometria analitica
Apostila vetores e geometria analitica
 
GEOMETRIA ANALÍTICA cap 09
GEOMETRIA ANALÍTICA cap 09GEOMETRIA ANALÍTICA cap 09
GEOMETRIA ANALÍTICA cap 09
 
GEOMETRIA ANALÍTICA cap 08
GEOMETRIA ANALÍTICA cap  08GEOMETRIA ANALÍTICA cap  08
GEOMETRIA ANALÍTICA cap 08
 
GEOMETRIA ANALÍTICA cap 07
GEOMETRIA ANALÍTICA cap  07GEOMETRIA ANALÍTICA cap  07
GEOMETRIA ANALÍTICA cap 07
 
GEOMETRIA ANALÍTICA cap 06
GEOMETRIA ANALÍTICA cap  06GEOMETRIA ANALÍTICA cap  06
GEOMETRIA ANALÍTICA cap 06
 
GEOMETRIA ANALÍTICA cap 05
GEOMETRIA ANALÍTICA cap  05GEOMETRIA ANALÍTICA cap  05
GEOMETRIA ANALÍTICA cap 05
 
GEOMETRIA ANALÍTICA cap 04
GEOMETRIA ANALÍTICA cap  04GEOMETRIA ANALÍTICA cap  04
GEOMETRIA ANALÍTICA cap 04
 
GEOMETRIA ANALÍTICA cap 03
GEOMETRIA ANALÍTICA cap  03GEOMETRIA ANALÍTICA cap  03
GEOMETRIA ANALÍTICA cap 03
 
GEOMETRIA ANALÍTICA cap 02
GEOMETRIA ANALÍTICA cap 02GEOMETRIA ANALÍTICA cap 02
GEOMETRIA ANALÍTICA cap 02
 
GEOMETRIA ANALÍTICA cap 01
GEOMETRIA ANALÍTICA cap  01GEOMETRIA ANALÍTICA cap  01
GEOMETRIA ANALÍTICA cap 01
 
GEOMETRIA ANALÍTICA cap 10
GEOMETRIA ANALÍTICA cap 10GEOMETRIA ANALÍTICA cap 10
GEOMETRIA ANALÍTICA cap 10
 
Algebra Linear cap 07
Algebra Linear cap 07Algebra Linear cap 07
Algebra Linear cap 07
 
Algebra Linear cap 06
Algebra Linear cap  06Algebra Linear cap  06
Algebra Linear cap 06
 
Algebra Linear cap 08
Algebra Linear cap  08Algebra Linear cap  08
Algebra Linear cap 08
 
Algebra Linear cap 05
Algebra Linear cap  05Algebra Linear cap  05
Algebra Linear cap 05
 
Algebra Linear cap 04
Algebra Linear cap 04Algebra Linear cap 04
Algebra Linear cap 04
 
Algebra Linear cap 03
Algebra Linear cap 03Algebra Linear cap 03
Algebra Linear cap 03
 
Algebra Linear cap 02
Algebra Linear cap 02Algebra Linear cap 02
Algebra Linear cap 02
 
Algebra Linear cap 01
Algebra Linear cap 01Algebra Linear cap 01
Algebra Linear cap 01
 

Último

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
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
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 

Último (20)

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
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.
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
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
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
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
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 

Lógica de programação em ppt

  • 1. Lógica de Programação Andrei Bastos UFES – LABIC VITÓRIA, ES - 2014 Universidade Federal do Espírito Santo UFES - LABIC 1
  • 2. OBJETIVOS • Desenvolver o raciocínio lógico; • Familiarizar o aluno com o modelo sequencial de computação; • Apresentar técnicas e linguagens para representação e construção de algoritmos simples; • Apresentar conceitos básicos de linguagens de programação; Universidade Federal do Espírito Santo UFES - LABIC 2
  • 3. Bibliografia • Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados – São Paulo • Paulo Sérgio de Moraes, Apostila de Lógica de Programação. Universidade Federal do Espírito Santo UFES - LABIC 3
  • 4. Conceito São vários os conceitos para algoritmo. Escolhemos alguns para serem apresentados • “Um conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema específico” [KNUTH] • “Sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema” [TREMBLAY] Universidade Federal do Espírito Santo UFES - LABIC 4
  • 5. Conceito Um algoritmo é formalmente uma sequência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Universidade Federal do Espírito Santo UFES - LABIC 5
  • 6. Formas de Representação DESCRIÇÃO NARRATIVA Faz-se uso do português para descrever algoritmos VANTAGENS: • o português é bastante conhecido por nós; DESVANTAGENS: • imprecisão; • pouca confiabilidade (a imprecisão acarreta a desconfiança); • extensão (normalmente, escreve-se muito para dizer pouca coisa). Universidade Federal do Espírito Santo UFES - LABIC 6
  • 7. Exemplos “Chupar uma bala”. • Pegar a bala • Retirar o papel • Chupar a bala • Jogar o papel no lixo Universidade Federal do Espírito Santo UFES - LABIC 7
  • 8. Exemplos “Somar dois números quaisquer”. • Escreva o primeiro número no retângulo A • Escreva o segundo número no retângulo B • Some o número do retângulo A com número do retângulo B e coloque o resultado no retângulo C Universidade Federal do Espírito Santo UFES - LABIC 8
  • 9. Exercícios Faça um algoritmo: • para trocar uma lâmpada. • para comprar um teclado. • para colocar um tênis. • Para somar dois números e multiplicar o resultado pelo primeiro número. Universidade Federal do Espírito Santo UFES - LABIC 9
  • 10. Programas Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que são interpretados e executados por uma máquina Universidade Federal do Espírito Santo UFES - LABIC 10
  • 11. Desenvolvendo algoritmos Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira • simples e objetiva. Para isso utilizaremos algumas técnicas: • Usar somente um verbo por frase • Usar frases curtas e simples • Ser objetivo • Procurar usar palavras que não tenham sentido dúbio Universidade Federal do Espírito Santo UFES - LABIC 11
  • 12. Fases Vimos que ALGORITMO é uma sequência lógica de instruções que podem ser executadas. É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo, como por exemplo: COMO FAZER ARROZ DOCE ou então CALCULAR O SALDO FINANCEIRO DE UM ESTOQUE Universidade Federal do Espírito Santo UFES - LABIC 12
  • 13. Fases Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais. Onde temos: ENTRADA: São os dados de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados Universidade Federal do Espírito Santo UFES - LABIC 13
  • 14. Fases Analogia com o Humano: Universidade Federal do Espírito Santo UFES - LABIC 14
  • 15. Exemplo • Imagine o seguinte problema: Calcular a média final dos alunos de uma turma da UFES. Os alunos realizarão três provas: P1, P2, P3. Onde Média Final = (P1+P2+P3)/3. Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4. b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi-los por 3 (três). c) Quais serão os dados de saída? R: O dado de saída será a média final. Universidade Federal do Espírito Santo UFES - LABIC 15
  • 16. Exemplo Algoritmo Calcular Média Final: • Receba a nota da prova1 • Receba a nota de prova2 • Receba a nota de prova3 • Some todas as notas e divida o resultado por 3 • Mostre o resultado da divisão Universidade Federal do Espírito Santo UFES - LABIC 16
  • 17. Teste de Mesa • Após desenvolver um algoritmo ele deverá sempre ser testado. Este teste é chamado de TESTE DE MESA, que significa, seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não. Veja o exemplo: P1 P2 P3 Média Final • Nota da Prova 1 • Nota da Prova 2 • Nota da Prova 3 • Utilize a tabela ao lado: Universidade Federal do Espírito Santo UFES - LABIC 17
  • 18. EXERCÍCIOS 1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo – – – – – Receba código da peça Receba valor da peça Receba Quantidade de peças Calcule o valor total da peça (Quantidade * Valor da peça) Mostre o código da peça e seu valor total 2) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que – ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2 3) Teste o algoritmo anterior com dados definidos por você. Universidade Federal do Espírito Santo UFES - LABIC 18
  • 19. Formas de Representação FLUXOGRAMA OU DIAGRAMA DE BLOCOS O diagrama de blocos é uma forma padronizada e eficaz para representar os passos lógicos de um determinado processamento. Com o diagrama podemos definir uma sequência de símbolos, com significado bem definido, portanto, sua principal função é a de facilitar a visualização dos passos de um processamento. VANTAGENS: • Uma das ferramentas mais conhecidas; • Figuras dizem muito mais que palavras; • Padrão mundial DESVANTAGENS: • Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los; • Complica-se à medida que o algoritmo cresce. Universidade Federal do Espírito Santo UFES - LABIC 19
  • 20. SIMBOLOGIA Existem diversos símbolos em um diagrama de bloco. Veja no quadro abaixo alguns dos símbolos mais utilizados. Universidade Federal do Espírito Santo UFES - LABIC 20
  • 21. Exemplos • Dentro do símbolo sempre terá algo escrito, pois somente os símbolos não nos dizem nada. Veja no exemplo a seguir: Universidade Federal do Espírito Santo UFES - LABIC 21
  • 22. Exemplos Universidade Federal do Espírito Santo UFES - LABIC 22
  • 23. Constantes, Variáveis e Tipos de Dados • Variáveis e constantes são os elementos básicos que um programa manipula. • Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. • Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando necessário. • Um programa deve conter declarações que especificam de que tipo são as variáveis que ele utilizará e as vezes um valor inicial. • Tipos podem ser por exemplo: inteiros, reais, caracteres, etc. As expressões combinam variáveis e constantes para calcular novos valores Universidade Federal do Espírito Santo UFES - LABIC 23
  • 24. Constantes Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Conforme o seu tipo, a constante é classificada como sendo numérica, lógica e literal. Exemplo de constantes: Universidade Federal do Espírito Santo UFES - LABIC 24
  • 25. Variáveis • Variável é a representação simbólica dos elementos de um certo conjunto. Cada variável corresponde a uma posição de memória, cujo conteúdo pode se alterado ao longo do tempo durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante Exemplos de variáveis Universidade Federal do Espírito Santo UFES - LABIC 25
  • 26. Tipos de Variáveis As variáveis e as constantes podem ser basicamente de quatro tipos: Numéricas, caracteres, Alfanuméricas ou lógicas. Numéricas Específicas para armazenamento de números, que posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais. Caracteres Específicas para armazenamento de conjunto de caracteres que não contenham números (literais). Ex: nomes. Alfanuméricas Específicas para dados que contenham letras e/ou números. Pode em determinados momentos conter somente dados numéricos ou somente literais. Se usado somente para armazenamento de números, não poderá ser utilizada para operações matemáticas. Lógicas Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso. Universidade Federal do Espírito Santo UFES - LABIC 26
  • 27. Declaração de Variáveis As variáveis só podem armazenar valores de um mesmo tipo, de maneira que também são classificadas como sendo numéricas, lógicas e literais. Universidade Federal do Espírito Santo UFES - LABIC 27
  • 28. EXERCÍCIOS • • • O que é uma constante? Dê dois exemplos. O que é uma variável? Dê dois exemplos. Faça um teste de mesa no diagrama de bloco abaixo e preencha a tabela ao lado com os dados do teste: Universidade Federal do Espírito Santo UFES - LABIC 28
  • 29. Operadores Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores: • Operadores Aritméticos • Operadores Relacionais • Operadores Lógicos Universidade Federal do Espírito Santo UFES - LABIC 29
  • 30. Operadores Aritméticos Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição, subtração, multiplicação e divisão, podem utilizar também o operador para exponencial. Os símbolos para os operadores aritméticos são: OPERAÇÃO SÍMBOLO Adição + Subtração - Multiplicação * Divisão / Exponencial ** ou ^ Universidade Federal do Espírito Santo UFES - LABIC 30
  • 31. Operadores Aritméticos Hierarquia das Operações Aritméticas 1 º ( ) Parênteses 2 º Exponencial 3 º Multiplicação, divisão (o que aparecer primeiro) 4 º + ou – (o que aparecer primeiro) Exemplos TOTAL = PRECO * QUANTIDADE 1 + 7 * 2 ** 2 –1 = 28 3 * (1 – 2) + 4 * 2 = 5 Universidade Federal do Espírito Santo UFES - LABIC 31
  • 32. Operadores Relacionais Os operadores relacionais são utilizados para comparar variáveis. Os valores a serem comparados podem ser caracteres, numéricos ou lógicos. Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False) Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize os parênteses. Os operadores relacionais são: Descrição Resultado Igual a == Diferente de != ou <> Maior que > Menor que < Maior ou igual a => Menor ou igual a <= Universidade Federal do Espírito Santo UFES - LABIC 32
  • 33. Exemplos Tendo duas variáveis A = 5 e B = 3 Os resultados das expressões seriam: Expressão Resultado A == B Falso A <> B Verdadeiro A>B Verdadeiro A<B Falso A >= B Verdadeiro A <= B Falso Universidade Federal do Espírito Santo UFES - LABIC 33
  • 34. Operadores Lógicos Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Os operadores lógicos são: E AND OU OR NÃO NOT E / AND: Uma expressão AND (E) é verdadeira se todas as condições forem Verdadeiras OR/OU: Uma expressão OR (OU) é verdadeira se pelo menos uma condição for Verdadeira NOT: Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. Universidade Federal do Espírito Santo UFES - LABIC 34
  • 35. Exemplo A tabela abaixo mostra todos os valores possíveis criados pelos três operadores lógicos (AND, OR e NOT) 1º Valor Operador 2º Valor Resultado True AND True True True AND False False False AND True False False AND False False True OR True True True OR False True False OR True True False OR False False True NOT False False NOT True Universidade Federal do Espírito Santo UFES - LABIC 35
  • 36. Exemplo Suponha que temos três variáveis A = 5, B = 8 e C =1 Os resultados das expressões seriam: Expressões Resultado A == B AND B>C False A <> B OR B<C True A>B NOT A<B AND B>C True A >= B OR B == C False A <= B NOT True False Universidade Federal do Espírito Santo UFES - LABIC 36
  • 37. EXERCÍCIOS 1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. Salário IR SALLIQ EXPRESSÃO 100,00 0,00 100 (SALLIQ >= 100,00) 200,00 10,00 190,00 (SALLIQ < 190,00) 300,00 15,00 285,00 V OU F SALLIQ = SALARIO - IR 2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B b) B >= (A + 2) c) C = (B –A) d) (B + A) <= C e) (C+A) > B () () () () () Universidade Federal do Espírito Santo UFES - LABIC 37
  • 38. EXERCÍCIOS 3) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) AND (C <= D) ( ) b) (A+B) > 10 OR (A+B) = (C+D) ( ) c) (A>=C) AND (D >= C) ( ) Universidade Federal do Espírito Santo UFES - LABIC 38
  • 39. Operações Lógicas Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um diagrama de bloco. Num diagrama de bloco, toda decisão terá sempre como resposta o resultado VERDADEIRO ou FALSO. Como no exemplo do algoritmo “CHUPAR UMA BALA”. Imaginemos que algumas pessoas não gostem de chupar bala de Morango, neste caso teremos que modificar o algoritmo para: “Chupar uma bala”. · Pegar a bala · A bala é de morango? · Se sim, não chupe a bala · Se não, continue com o algoritmo · Retirar o papel · Chupar a bala · Jogar o papel no lixo Universidade Federal do Espírito Santo UFES - LABIC 39
  • 40. Exemplo Exemplo: Algoritmo “Chupar Bala” utilizando diagrama de Blocos Universidade Federal do Espírito Santo UFES - LABIC 40
  • 41. Estrutura de Decisão e Repetição Como vimos no capítulo anterior em “Operações Lógicas”, verificamos que na maioria das vezes necessitamos tomar decisões no andamento do algoritmo. Essas decisões interferem diretamente no andamento do programa. Trabalharemos com dois tipos de estrutura. A estrutura de Decisão e a estrutura de Repetição Comandos de Decisão Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. Com as instruções de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores. As principais estruturas de decisão são: “Se Então”, “Se então Senão” e “Caso Selecione” Universidade Federal do Espírito Santo UFES - LABIC 41
  • 42. SE ENTÃO / IF ... THEN A estrutura de decisão “SE/IF” normalmente vem acompanhada de um comando, ou seja, se determinada condição for satisfeita pelo comando SE/IF então execute determinado comando. Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 5.0, veja no exemplo de algoritmo como ficaria. SE (MEDIA >= 5.0 ) Em diagrama de blocos ficaria assim: ENTÃO ALUNO APROVADO Na linguagem C, Ficaria: If(Media>=5.0) { Texto = “APROVADO”; } Universidade Federal do Espírito Santo UFES - LABIC 42
  • 43. SE ENTÃO SENÃO / IF ... THEN ... ELSE A estrutura de decisão “SE/ENTÃO/SENÃO”, funciona exatamente como a estrutura “SE”, com apenas uma diferença, em “SE” somente podemos executar comandos caso a condição seja verdadeira, diferente de “SE/SENÃO” pois sempre um comando será executado independente da condição, ou seja, caso a condição seja “verdadeira” o comando da condição será executado, caso contrário o comando da condição “falsa” será executado Em algoritmo ficaria assim: SE MÉDIA >= 5.0 ENTÃO Em diagrama: ALUNO APROVADO SENÃO ALUNO REPROVADO Em Linguagem C: If (MEDIA>=5.0) { Texto = “APROVADO”; } else { Texto = “REPROVADO”; } Universidade Federal do Espírito Santo UFES - LABIC 43
  • 44. Exercício • Escreva uma Algoritmo que envolva: – Uma condição com Se então (if) – Uma condição com Se então (if .. Else) Universidade Federal do Espírito Santo UFES - LABIC 44
  • 45. Comandos de Repetição Utilizamos os comandos de repetição quando desejamos que um determinado conjunto de instruções ou comandos sejam executados um número definido ou indefinido de vezes, ou enquanto um determinado estado de coisas prevalecer ou até que seja alcançado. São eles os comandos: Para (valores Iniciais; Condições; Conjunto de comandos) (for) Enquanto (Condições forem satisfeitas) (while) Faça (conjunto de comandos) Enquanto (conjunto condições forem satisfeitas) (do while) Universidade Federal do Espírito Santo UFES - LABIC 45
  • 46. Para/for • • Nessa estrutura, você determina valores iniciais as variáveis, impõem condições e comandos para serem realizados caso as condições forem satisfeitas. Mais utilizados em contadores, quando você quer fazer uma escala de variação Exemplo: Imagina que você queira ler 100 valores e calcular a média aritmética deles Bastaria você declarar uma variável inteira que começasse com o valor 0, fizesse uma condição lógica para contar os 100 valores e incrementar +1 a cada passagem. Vejamos na prática... Universidade Federal do Espírito Santo UFES - LABIC 46
  • 47. Exemplo • Exemplo de para/for para o caso anterior: int i, soma, valor; double media_final ; for(i=0,soma=0, i<100; i++) { leia valor; soma = soma + valor ; } media_final = soma/100; imprima (media_final); Universidade Federal do Espírito Santo UFES - LABIC 47
  • 48. Enquanto/while • Nessa estrutura você impõem condições e comandos para serem realizados caso as condições forem satisfeitas. • As condições serão avaliadas antes dos comandos • Geralmente utilizados quando você não sabe o número de vezes que irá se repetir. Exemplo: Imagina que você queira ler valores até que a soma de todos valores lidos seja maior que 100 e exiba a cada alteração; Vejamos na prática... Universidade Federal do Espírito Santo UFES - LABIC 48
  • 49. Enquanto/While int i, soma, valor; soma = 0; while (soma<100) { Leia valor; Soma = soma + valor; Imprima Soma; } Universidade Federal do Espírito Santo UFES - LABIC 49
  • 50. Faça... Enquanto /do.. while • Nessa estrutura você impõem condições e comandos para serem realizados caso as condições forem satisfeitas. • As condições serão avaliadas depois dos comandos • Geralmente utilizados quando você não sabe o número de vezes que irá se repetir e precisa que o começo seja lido. Exemplo: se o utilizador introduzir um valor menor que 10 para o raio, o programa volta a pedir um valor para o raio. Vejamos na prática... Universidade Federal do Espírito Santo UFES - LABIC 50
  • 51. Faça Enquanto/do While double area, raio, Pi; Pi = 3.1415; do { Leia raio; } while( raio < 10 ); area = PI * raio * raio; Imprima area; Universidade Federal do Espírito Santo UFES - LABIC 51
  • 52. Exercícios • Faça uma algoritmo que leia valores enquanto forem menores que 20; • Faça um algoritmo que leia 10 valores e imprima no final a multiplicação de todos eles; Universidade Federal do Espírito Santo UFES - LABIC 52