Este documento resume uma aula sobre algoritmos e programação. Ele discute fluxogramas, pseudocódigo, tipos de instruções, variáveis e dados primitivos.
2. Resumo
• Fluxograma
– Definição inicial
– Vantagens e desvantagens do uso de fluxograma
– Formato gráfico: uso de símbolos para
representação de algoritmos
– Conjunto de símbolos empregados
• Exemplos
• Exercícios
Prof. Gracon Lima
4. Pseudocódigo
O pseudocódigo é uma forma de
representação baseada na escrita de
códigos que lembram uma
linguagem de programação.
Essa modalidade não possui regras tão flexíveis
quanto a descrição narrativa e nem tão rígidas
quanto uma linguagem de programação.
Ela serve para mostrar a lógica do
programa a ser desenvolvido.
Prof. Gracon Lima
5. Pseudocódigo
• Pseudocódigo é uma forma genérica de
escrever um algoritmo:
– utiliza uma linguagem simples
• nativa a quem o escreve; pode ser entendido por
qualquer pessoa;
• Não há necessidade de conhecer a sintaxe de nenhuma
linguagem de programação.
Prof. Gracon Lima
6. Pseudocódigo
• Tipos de algoritmo
– Pseudocódigo ou portugol: consiste em analisar o
enunciado e escrever, por meio de regras
predefinidas, os passos seguidos para a resolução
– Vantagem: a passagem do algoritmo para qualquer
linguagem é quase imediata; basta conhecer as
palavras reservadas que serão utilizadas
– Desvantagem: aprender as regras de pseudocódigo
Prof. Gracon Lima
8. Instruções
• Seqüência isoladas não resolvem problemas
– Devem haver conjuntos de instruções em ordem
seqüencial lógica para a realização de alguma
tarefa
Na informática, é a ação elementar
que um computador deve executar
Normas ou regras definidas para a
realização ou emprego de algo
Prof. Gracon Lima
9. Instruções
• As instruções devem ser
executadas em modo
seqüencial
– A CPU Busca a instrução na
memória
– Decodifica para determinar
os operandos
– Determina as operações a
realizar com os operandos
– Executa as operações
– Busca, Decodifica e
Executa as próximas
instruções
algoritmo "semnome"
var
<bloco_de_comandos>
fimalgoritmo
Prof. Gracon Lima
10. Instruções
Entrada
• Ler de algum
periférico de entrada
Proces.
• Realiza operações
com os dados
passados
Saída
• Exibe o resultado em
algum periférico de
saída
Há instruções para todas as fases do
processo!
Prof. Gracon Lima
12. Tipos de instrução
• Escrita (ESCREVA): utilizado para mostrar
dados na saída (monitor ou impressora)
Algoritmo leia
ESCREVA (“Olá Mundo”)
Fim_Algoritmo
Busca o espaço na memória do identificador Envia os dados para a saída
Prof. Gracon Lima
14. VisuAlg
• O que é?
– Editor e interpretador de algoritmos
• Criado pelo professor Claúdio Morgado de Souza;
• Serve para...
– alunos iniciantes em programação exercitarem
seus conhecimentos;
Prof. Gracon Lima
16. VisuAlg
• Características:
– Possui interface simples;
– Não requer instalação;
– Aceita instruções em português estruturado;
– Os programas gerados são mais limitados que as
linguagens de programação convencional.
Prof. Gracon Lima
23. Exercícios
1. Desenvolva um programa que escreva seu
nome
2. Desenvolva um programa que escreva seu
nome em uma linha e o sobrenome em outra
Prof. Gracon Lima
25. Representação de Dados
• Humanos
– Sistema decimal (base
10)
• Computadores
– Sistema Binário (base 2)
– Notações auxiliares
• Hexadecimal (base 16)
• Octal (base 8)
• A quantidade de
algarismos necessária
para representar
determinado número
varia de acordo com o
sistema utilizado
– Decimal: 10n
• 102 = 100 números
– Binário: 2n
• 22 = 4 números
Com dois algarismos
representa 4 númerosProf. Gracon Lima
26. Representação de Dados
Medidas de Dados
bit
menor unidade de dado
apresenta os valores 0 ou 1
byte
conjunto de 8 bits
representa um caractere
caracter ou letra código binário ou bit
G 01011101
1 byte
Prof. Gracon Lima
27. Representação de Dados
Algoritmo “ler”
var
a:caractere
inicio
Leia(a)
escreval(a)
fim_algoritmoEstou
esperando 1
byte
Prof. Gracon Lima
29. Conceitos básicos
• Tipos de Dados (TD)
– Numérico: inteiro (sem parte fracionária), real
(com parte fracionária)
– Lógico: booleanos, podem assumir valores de
verdadeiro e falso
– Literais: um ou uma sequencia de caracteres
Prof. Gracon Lima
30. Números
• Representam quantidades. Basicamente,
existem dois tipos de informação numérica:
– Números Inteiros: 1 , 827 , 1235 ;
– Números Reais: 1.35 , 827. , -83.420 , -5.2
E7
• Operações:
– + SOMA, - SUBTRAÇÃO, / DIVISÃO, *
MULTIPLICAÇÃO e ** POTENCIAÇÃO
Prof. Gracon Lima
31. Literais
• Representam as letras, os dígitos numéricos e
os caracteres especiais. Constantes do tipo
caractere são representadas entre aspas ‘
simples.
• Operações
– Comparação e atribuição de caracteres
– Comparação e atribuição de sentenças
Prof. Gracon Lima
32. Valores lógicos (Booleanos)
• Um valor lógico pode estar em apenas um dos
estados: Verdadeiro (V) ou Falso (F).
• Operações:
– NÃO - Troca o estado
– OU - Se algum estado for verdadeiro, então
verdadeiro
– E - Se algum estado for falso, então falso
Prof. Gracon Lima
33. Tipos Primitivos no VisuAlg
• Palavra-reservada: logico
– variáveis do tipo booleano
• VERDADEIRO ou FALSO
• 1 ou 0
• Palavra-reservada: literal
– variáveis do tipo cadeia de caracteres
• Entre “” -> x := “Ola mundo”
• Palavra-reservada: caractere ou caracter
– variáveis com um caractere
• Entre ‘’ -> b := “a”
• Palavra-reservada: inteiro
– variáveis numéricas sem casas decimais
• Palavra-reservada: real
– variáveis numéricas com casas decimais
Prof. Gracon Lima
35. O que é uma variável
• Segundo o Aurélio
– Que pode apresentar diversos valores distintos.
– Que pode ter ou assumir diferentes valores, diferentes
aspectos, segundo os casos particulares ou segundo
as circunstâncias.
– Em um programa, elemento de dado cujo valor pode
ser modificado ao longo de sua execução.
• Uma variável representa uma posição na
memória e pode ter tipo, tamanho e nome
definidos.
Prof. Gracon Lima
36. Conceitos básicos
• Variáveis
– Dados que podem mudar de
valor
• O conjunto de “variáveis” que um
programa necessita precisa ser
definido antes de se iniciar a
execução do programa
• Exemplos
Prof. Gracon Lima
37. Conceitos básicos
• Variáveis
– Uma variável representa uma
posição de memória
• Uma vez atribuído um valor para
uma variável, este permanece até
que sofra nova modificação pelo
programa
• são criadas no início da execução
do programa e destruídas ao
término da sua execução
• Exemplos
Variáveis são
desalocadas da
memória
Prof. Gracon Lima
38. Conceitos básicos
• Variáveis
– Possui nome, tipo e seu
conteúdo pode variar ao longo
do tempo
• pode armazenar vários valores,
mas apenas um de cada vez
• Exemplos
– raio ← 3.7
– area ← PI * raio
– nome ← “Joao”
– Sexo ← ‘m’
Prof. Gracon Lima
40. Conceitos básicos
• Constante
– Informação que não muda
o seu valor (conteúdo) do
início ao fim do algoritmo.
– não podem ser alterados
pelas instruções do
algoritmo
– É um espaço de memória
cujo valor não deve ser
alterado durante a
execução de um algoritmo
– Pode ser a informação ou
uma variável que a
contenha
• Exemplo:
– inteiro (10, -23768)
– real (-2.34, 0.149)
– caractere (“k”, “professor”)
Prof. Gracon Lima
41. Conceitos básicos
• Constantes
– Valores que não se
alteram
– Atribuídas como
variáveis
– Representadas em Caixa
Alta
• Exemplos:
– PI ← 3.1415
– VAL_MAX ← 100
– CONTADOR ← 50
Prof. Gracon Lima
42. Identificadores
• São os nomes utilizados para referenciar
variáveis, funções ou vários outros
• objetos definidos pelo programador.
• Exemplo:
– letras, dígitos e sublinhado(_);
– não podem começar com dígito;
– não podem ser iguais a uma palavra-chave e nem
iguais a um nome de uma função declarada pelo
programador ou pelas bibliotecas da linguagem
utilizada.
Prof. Gracon Lima
43. Regras Para Criação de Identificadores
• Regras para variáveis
– Nunca comece com números; sempre
iniciar com uma letra ou sublinhado;
Geralmente começam com um
caractere alfabético
– Não é permitido o uso de espaços em
branco, acentos ou caracteres especiais;
Como Não podem ser colocados
espaços em branco no nome de
variáveis, usar o UNDERSCORE “_”.
– Não é permitido utilizar palavras
reservadas
– Geralmente são escritas em minúsculo
– Pode possuir os caracteres numéricos
– Os nomes das variáveis devem
representar o que será guardado dentro
dela
– A declaração de uma variável é feita no
algoritmo informando o seu nome,
seguido pelo seu tipo, separados por “:”
• Regras para constantes
– Segue todas as regras para
variáveis, exceto que são
escritas em caixa alta
Prof. Gracon Lima
45. Tipos de Dados
• Dados são necessários para a entrada e a
saída
• Apesar de serem representados por bytes
algoritmos podem interpretá-los de maneiras
diferentes (tipos de dados)
Prof. Gracon Lima
46. Tipos de Dados
• Tipos:
– Inteiros: número sem parte fracionária
– Real: números fracionários
– Caractere: representam todo e qualquer símbolo
que o programa pode exibir
– Literal: frases completas ao invés de símbolos
Prof. Gracon Lima
47. Variáveis
• Declaração de variáveis
em algoritmos
– É dificil manipularmos
dados por endereços de
memória
– Usamos nomes para nos
referir a determinado
endereço e o
computador fica a cargo
de transformar o nome
em endereço
• Declaração de variáveis:
– Devemos indicar as
variáveis utilizadas após
a palavra “var” antes do
início do programa
Prof. Gracon Lima
48. Tipos de instrução
• Leitura (LEIA): utilizado para receber dados digitados pelo usuário
que serão armazenados em variáveis:
– A CPU busca o endereço na memória das variáveis
– Espera o envio dos dados
– Grava os dados no endereço de memória
Algoritmo leia
LEIA (Identificador1, Identificador2)
Fim_Algoritmo
Espera Envido de Dado
Busca o espaço na memória do identificador
Grava no espaço na memória o dado passado
Prof. Gracon Lima
49. Exemplo
• Faça um algoritmo que
escreva o valor digitado
por um usuário
Algoritmo testeVariavel
var
x:inteiro
inicio
leia(x)
escreva (“vc digitou”, x)
fim_algoritmo
Prof. Gracon Lima
50. Operadores
Tipo de Operador Operador Exemplo
Aritmético + - SOMA
- - SUBTRAÇÃO
/ - DIVISÃO
* - MULTIPLICAÇÃO
^ - POTENCIAÇÃO
MOD - RESTO DA DIVISÃO
15000*16
(32+12)/2
37*12+4^2
Prof. Gracon Lima
51. Tipos de instrução
• Atribuição (← ou :=): Algum valor é colocado numa
posição de memória;
– Concede valores ou operações a variáveis;
– Define o valor de uma variável sem a necessidade de ler
Algoritmo atribuicao
x ← 7
y ← 8
z ← x+y
Fim_Algoritmo
Busca o espaço na memória do identificador
Grava no espaço na memória o dado passado
Prof. Gracon Lima