Aula 4 – Algoritmos – Estrutura Sequencial – Parte 1.pdf
1. Algoritmos e Programação de
Computadores
Algoritmos – Estrutura Sequencial –
Parte 1
Professor: Victor Hugo L. Lopes
2. 2
Agenda
• Etapas de ação do computador;
• TDP – Tipos de Dados Primitivos;
• Variáveis;
• Constantes;
• Expressões Aritméticas;
• Instruções Básicas;
3. 3
Etapas de ação do computador
• O computador independentemente de seu
porte e tipo, executa três ações:
– Entrada de dados;
– Processamento de dados;
– Saída de dados;
4. 4
Etapas de ação do computador
• Entrada de dados
– Computador recebe dados do “mundo externo” e os
armazena na memória(?) para uso em algum
processamento imediato ou uso em momento posterior
oportuno.
• Processamento
– Utilizando algoritmos o computador transforma dados em
informação que pode ser emitida para o “mundo externo”.
• Saída de dados
– O computador envia dados processados (informação) para
o “mundo externo”.
• Para um computador eletrônico funcionar,
deve cumprir estas 3 etapas!
5. 5
Dados primitivos
• Elementos que são manipulados dentro do
computador;
• Numéricos Inteiros e reais;
• Literais Caracteres ou cadeias;
• Lógicos Verdadeiros ou falsos;
6. 6
Dados primitivos
• Numéricos (utilizados em operações
matemáticas)
– Inteiros Números positivos e negativos sem
qualquer valor fracionário (conjunto dos números
inteiros): (50, 22, 0, -44, -45)
• ex.: Ricardnaldson tem 15 irmãos
– Reais Números positivos e negativos com
valores fracionários (conjunto dos números
reais): (-90.554, -32, 0, 77, 8.332)
• ex.: O meu saldo bancário é R$ 1,99
7. 7
Dados primitivos
• Literais
– Representados pelas letras do alfabeto (A – Z e
a - z), números (0 – 9) e símbolos (@, #, $, %, &,
*, (, ), +, ...);
– Caractere Delimitado por ‘ ’, utilizado quando
se tem apenas um símbolo. Ex.: ‘a’, ‘3’, ‘X’, ‘$’;
– Cadeia ou String Delimitado por “ ”, utilizado
quando se tem uma associação de mais de um
símbolo. Ex.: “Rua 64 esq. c/ Rua 11”,
“Formosa”, “C”, “8”, “-9.99”.
8. 8
Dados primitivos
• Lógicos
– Valores binários, dicotômicos*, biestável**;
– Sim e Não;
– Verdadeiro e Falso;
– True e False;
– 1 e 0;
– Booleano Matemático George Boole
(Inglaterra 1815):
lógica booleana, álgebra booleana
• ex.: a porta pode estar aberta ou fechada
*bifurcação, bipartição, separação. Distintos. ** admite apenas 2
valores/estados
9. 9
Dados primitivos
• Determine qual(is) o(s) tipo(s) de dado(s)
nas sentenças:
– A placa “Pare” tinha 2 furos de bala
– Jorvandinélia subiu 5 degraus para pegar uma maçã
– Apolinalverson levou 3,5 horas para chegar ao hospital
– Adelbaronaldson pintou em sua camiseta: “Preserve o
meio ambiente” utilizando uma tinta tóxica que custou R$
90,00
– O atendente da loja identificou que 1 nota de R$ 50,00 era
falsa
12. 12
Variáveis
• Tudo que está sujeito a variações, incerto,
inconstante, de valor arbitrário
• Representação de uma região de
memória(?) utilizada para armazenar um
determinado valor (numérico, literal ou
lógico)
• Todo dado a ser armazenado na memória
do computador deve ter um tipo!
13. 13
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 ser
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
14. 14
Variáveis
• Analogia com armário com várias gavetas
etiquetadas…
– Usamos o “endereço” para ter acesso ao
seu conteúdo
15. 15
Variáveis
• Simplificando: as variáveis na memória do
computador devem ter nome e tipo!
• Regras para nomes de variáveis(identificador)
– Pode ter um ou mais caracteres
– O primeiro caractere deve ser alfabético (não são
permitidos números, e caracteres especiais)
– Para nomes compostos, não deve-se utilizar espaço.
Deve-se utilizar “_” (underline)
– Não pode-se utilizar palavras reservadas da linguagem;
– Não pode-se utilizar um nome já utilizado
– Boa ideia se seu nome for representativo!!!
• Exemplos de nomes de variáveis?
16. 16
Constantes
• Assim como variáveis, pode-se definir
constantes em um programa.
• Exemplos:
– 5
– “Não Fume”
– O valor de PI
– A velocidade da luz
– A falta de título mundial de certos times
17. 17
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 ou
literal
18. 18
Variáveis e Constantes
• Importante:
– Identificadores: são os nomes escolhidos para as
variáveis e constantes
– Declaração: processo de reservar e etiquetar as
“gavetas”
• Feito com instruções/comandos no algoritmo
– Após a criação das variáveis e/ou constantes,
elas passam a estar disponíveis para uso no
algoritmo.
– O ato de guardar uma informação é chamada de
“atribuição” (= ou ←)
19. 19
Variáveis e Constantes
• Importante:
– Atribuição: Processo de associar um valor a uma
variável (guardar um objeto na gaveta)
– O tipo de dado deve ser compatível com a variável (objeto
precisa caber na gaveta)
– Cada variável pode receber apenas um valor. O segundo
valor sobrepõe-se ao anterior
– Podem ser atribuídos:
• Constantes
• Variáveis
– Expressões (aritméticas, relacionais ou lógicas)
– Comando de atribuição :
20. 20
Variáveis e Constantes
• Importante:
Ex.:
– B 7
– A B
– X B + (13 / 5)
– V B > C
– N “Nome”
atribuição identificador expressão
expressão expressão aritmética
expressão lógica
expressão literal
21. 21
Variáveis e Constantes
tipo identificador
Declaração de
variáveis
: ;
21
tipo inteiro
real
caracter
lógico
Exemplos
inteiro: X;
caracter: Nome;
real: Peso, Dolar;
lógico: Resposta;
22. 22
Variáveis e Constantes
identificador tipo
Declaração de
variáveis
:
22
tipo inteiro
real
caractere
logico
Exemplos
X: inteiro
Nome: caractere
Dolar: real
Resposta: logico
23. 23
Variáveis e Constantes
• Praticando
Supondo que as variáveis NB, NA, NMat e SX
sejam utilizadas para armazenar a nota do(a)
aluno(a), o nome do(a) aluno(a), o número de
matrícula e o sexo, declare-as corretamente,
associando o tipo primitivo adequado ao dado
que será armazenado
24. 24
Variáveis e Constantes
• Praticando
Supondo que as variáveis NB, NA, NMat e SX
sejam utilizadas para armazenar a nota do(a)
aluno(a), o nome do(a) aluno(a), o número de
matrícula e o sexo, declare-as corretamente,
associando o tipo primitivo adequado ao dado
que será armazenado
real: NB;
caracter: NA;
inteiro: Nmat;
lógico: SX;
NB: real
NA: caracter
Nmat: inteiro
SX: logico
25. 25
Operadores Aritméticos
• Principais operadores aritméticos
Operador Função Exemplos
+ Adição 2 + 3, X + Y
- Subtração 4 - 2, N – M
* Multiplicação 3 * 4, A * B
/ Divisão 10 / 2, C / D
pot(x,y) ou
^
Potenciação (x elevado a y) Pot(2, 3) ou 2^3
rad(x) Raiz quadrada (de x) Rad(9) ou sqrt(9)
Mod ou
MOD ou %
Resto da divisão 9 mod 4 resulta 1
Div Quociente da divisão inteira 9 div 4 resulta 2
27. 27
Expressões Aritméticas
• Processamentos matemáticos;
• Relacionamento entre variáveis e constantes
utilizando operadores aritméticos;
• Necessidade de converter expressões
matemáticas conhecidas em expressões
aritméticas aceitas pelo computador!
• A expressão:
x = {43 x [55 ÷ (30 + 2) ] }
Deve ser reescrita na forma:
x (43 * (55 / (30 + 2)))
Abolindo-se assim colchetes e chaves.
Respeito à precedência.
28. 28
Expressões Aritméticas
• A expressão para o cálculo da área de uma
circunferência:
AREA = π X RAIO2
Deve ser reescrita na forma:
AREA 3.14159 * RAIO ↑ 2 ou
AREA 3.14159 * RAIO * RAIO ou
AREA 3.14159 * RAIO ^ 2
29. 29
Expressões Aritméticas
• A expressão para o cálculo da área de um
triângulo:
A = B X H
2
Deve ser reescrita na forma:
A (B * H) / 2
30. 30
Expressões Aritméticas
• Fórmula de Bhaskara (ou Báskara):
x = - b ± √Δ
2a
Δ = b2
– 4ac
Deve ser adaptada para:
Delta B ^ 2 – 4 * A * C
X1 (- B + sqrt(Delta)) / (2 * A)
X2 (- B - sqrt(Delta)) / (2 * A)
Obs.: X1 e X2 representam x’ e x’’.
Sqrt → Delta ^ (1/2)
31. 31
Instruções Básicas(comandos)
• Instruções Representações do conjunto de
“palavras chave” de uma linguagem de
programação, utilizadas para dar comandos,
ordens ao computador;
• Diferentes, porém parecidas nas diversas
linguagens (C, C++, Pascal, Java, Basic);
• Instruções em pseudocódigo (português
estruturado):
– inicio, fim, var, programa, algoritmo, enquanto, se,
então, senão, para, escreva, leia, faça, repita,
ate_que...
– Repare que são ordens no imperativo!
32. 32
Instruções Básicas(comandos)
• Intruções em LPP para saída de informações do
algoritmo:
– Escreva() ou escreva ou escreval
• Intruções em LPP para entrada de informações
no algoritmo:
– Leia() ou leia
33. 33
Instruções Básicas(comandos)
Algumas regras de instruções (Portugol e Diagrama de blocos - db):
– Conhecer os dialetos e palavras reservadas;
– Codificação manual: letra de forma, cortando o zero
para diferenciação do “O”;
– Declaração de variáveis e constantes no maiúsculo;
– Todo valor atribuído diretamente no código do
algoritmo a uma variável será realizado por meio do
símbolo de atribuição (<-);
– Constantes definidas em db devem receber atribuição
de valores com a igualdade (=)
– Não utilizar símbolos, somente caracteres;
– Toda referência à variável ou constante serão sempre
indicados e utilizados dentro dos símbolos dos
diagramas de blocos;
– Sinal de multiplicação em portugol é o asterisco (*), em
db deve-se utilizar o (x).
34. 34
Instruções Básicas
• Problema básico: programa para efetuar a leitura
de dois valores numéricos inteiros, realizar sua
soma e apresentar em tela o resultado.
• Qual a sequência de passos para fazermos isso?
• Primeiramente, utilizando o DIA, podemos
montar o diagrama de blocos...
• Feito isso, podemos partir para o nosso primeiro
pseudocodigo!
35. 35
Instruções Básicas
algoritmo SOMA_NUMEROS Nome do programa
var
X : inteiro
A : inteiro
B : inteiro
inicio
leia(A)
leia(B)
X A + B Processamento de dados
escreva(X) Saída de dados
fimalgoritmo
• Obs 1: Os nomes de variáveis obedecem às regras descritas;
• Obs 2: As Instruções Básicas (ou palavras reservadas) estão
sublinhadas.
Declaração / alocação de variáveis
Entrada de dados
36. 36
Instruções Básicas
EXERCÍCIOS
1) Desenvolver um algoritmo para receber as horas, os minutos e
segundos, calcular e apresentar seu valor em segundos
2) Desenvolver um algoritmo para calcular o salário líquido de um
professor, que é baseado em salário bruto calculado pelas horas
trabalhadas no mês, descontando-se o INSS.
3) Desenvolver um algoritmo para ler o dia, mês e ano do
nascimento de uma determinada pessoa, e ler o dia, mês e ano
atual, calcular e apresentar a idade da pessoa.