Вы находитесь на странице: 1из 31

ALGORITMOS E PROGRAMAO

Algoritmo: uma sequncia de operaes para se


obter a soluo de um problema.
Independente da linguagem;
Enfoque na soluo.
PROGRAMA
Um algoritmo escrito em uma linguagem de
programao.


SOLUO DE UM PROBLEMA
Analisar o problema compreender as partes
que compem o problema;
Identificar as informaes (as entradas) que
esto disponveis;
Identificar as operaes (tranformaes) que
precisam ser realizadas com as informaes;
Identificar o que dever ser gerado (sadas);
Construir e testar uma soluo.

PROBLEMA: CALCULAR A MDIA ENTRE 2 NMEROS:

inci
o
Declarao
de variaveis
a , b e media

Leia a, b
Medoa =
media (a+b)/2

Escreva media
fim
algoritmo media
var
a, b: inteiro
media : real
inicio
leia (a, b)
media := (a + b) /2
escreva(media)
fimalgoritmo


DIAGRAMA DE BLOCOS (FLUXOGRAMA)
Smbolos:

Terminal incio ou trmino
Processamento - ao
Entrada ou sada
Deciso permite a incluso de desvio, dependendo
do resultado de uma expresso lgica.
Conector identificar um ponto de ou para
onde pode ser desvia o fluxo
TIPOS DE DADOS
VisuAlg Descrio C / C ++ Tamanho
inteiro Um nmero
inteiro
positivo, zero
ou negativo
int 4 bytes -2147483648 a
2147483647
real Um nmero
com um parte
fracionria
float
double
4 bytes
(float=real)
8 bytes
(double)
3.4E-38 a 3.4E+38

1.7E-308 a
1.7E+308
caractere Caracteres
alfanumricos
, uma cadeia
de caracteres
char 1 byte -128 a 127
logico Valor lgico
V ou F
OPERADORES ARITMTICOS
Operador operao C
+ adio +
- subtrao -
* multiplicao *
/ diviso /
\ Diviso inteira
mod mdulo (resto da diviso) %
DECLARAO DE VARIVEIS
Pseudocdigo VisuAlg

Identificador : tipo

Identificador o nome da varivel, que, sempre comeando por
uma letra, pode ser formado com caracteres alfabticos e
numricos.
O smbolo de dois prontos (:) faz parte da sintaxe.
Exemplo da declaraes:
valor : inteiro // valor o identificador (nome) da varivel,
// inteiro o tipo
saldo : real
nome : caractere
PRIMEIROS COMANDOS
Entrada e Saida
leia (variavel) // o comando leia serve para obter um dado que //
ser informado pelo usurio.
// A varivel receber o valor digitado.

escreva (varivel) // o comando escreva serve para exibir na tela o
contedo de uma varivel ou uma constante.


Atribuio
identificador := identificador ou expresso ou constante
:= faz parte da sintaxe e significa a atribuio.
Exemplos: contador := 0
maior := 99
media := (a+b)/2
CALCULAR A MDIA ENTRE 3 NMEROS INTEIROS
O programa dever ler os 3 nmeros;
Calcular a mdia e
escrever a mdia.

PROBLEMA: CALCULAR A MDIA ENTRE 3 NMEROS:

inci
o
Declarao
de variaveis
a , b, c e media

Leia a, b, c
Medoa = media (a+b+c)/3

Escreva media
fim
algoritmo media
var
a, b, c: inteiro
media : real
inicio
leia (a, b, c )
media := (a + b + c) /3
escreva(media)
fimalgoritmo


DADOS 3 NMEROS, DETERMINAR QUAL O MAIOR
Ler os 3 nmeros;
Comparar para identificar o maior;
Escrever o maior.

DECISO SIMPLES: SE ... ENTAO ... SENAO ...
FIMSE
Comando se permite verificar se uma condio
verdadeira. A condio pode ser o valor de
uma varivel lgica ou o resultado de uma
expresso lgica.

se ( a = 0 ) ento
escreva(a nulo)
se ( a > b ) ento escreva(O maior a )
algoritmo exemplo2
var
a, b, c, media :inteiro
mediaR : real
inicio
// Seo de Comandos
leia (a, b, c)
se ( a = 0 ) entao
escreva("a = zero")
senao
se( a > b ) entao
escreva("a maior que b")
fimse
fimse
media := (a+b+c)\3
mediaR := (a+b+c)/3
escreva("Mdia = ", media, mediaR:5:2)
fimalgoritmo
se (expresso lgica) ento
lista de comandos
seno { opcional }
lista de comandos
fimse
Comando se ... entao ... senao ... fimse
OPERADORES LGICOS
Permitem a construo de expresses lgicas,
aquelas que retornam um valor verdadeiro
ou falso.


Operador C / C++
e &&
ou ||
no !
TABELAS VERDADE
Operao e envolve 2 operandos:



Operao ou envolve 2 operandos:

a \ b 0 1
0 0 0
1 0 1
a \ b 0 1
0 0 1
1 1 1
TABELA VERDADE
a a` (ou )
0 1
1 0
OPERADORES RELACIONAIS
Operador (VisuAlg) significado C / C++
> maior >
< menor <
= igual ==
<> diferente !=
>= maior ou igual >=
<= menor ou igual <=
COMANDOS DE REPETIO
para variavl de valorInicial ate valorFinal
[passo incremento ] faca

lista de comandos


fimpara
EXERCCIO:
1. Construa um programa que leia 10 valores
e calcule a mdia;

2. Altere o programa (1) para determinar, entre
os 10 valores, o maior e o menor valor;

3. O programa dever solicitar ao usurio
quantos valores devero ser lidos.
COMANDOS DE REPETIO (2)
enquanto (expresso lgica ) faca

lista de comandos

fimenquanto
Inicialmente, a expresso lgica analisada, se o
resultado for verdadeiro ento a lista de comandos
executada. Encontrado o fimenquanto, a expresso lgica
analisada, novamente, se ainda for verdadeira, a lista de
comandos executada novamente.
Comando enquanto utilizado para executar uma lista de
comando, um nmero no conhecido de vezes.

ENQUANTO - EXEMPLOS


escreva(Informe nmero para calcular fatorial)
Leia(numero)
Fatorial := 1
enquanto ( numero > 0 ) faca
Fatorial := Fatorial * numero
numero := numero -1
fimenquanto




soma := 0
Contador := 0
escreva(informe valor a ser somado :)
leia(valor)
enquanto ( valor >= 0 ) faca
contador := contador + 1
soma := soma + valor
se ( valor > maior) entao
maior := valor
fimse
escreva(informe valor a ser somado :)
leia(valor)
fimenquanto
COMANDOS DE REPETIO (3)
repita

lista de comandos

ate (expresso lgica)

No comando repita, a lista de comandos executada,
quando encontra o ate, a expresso lgica avaliada, se
o resultado for falso, a lista de comandos executada
novamente. Se o resultado da expresso lgica for
verdadeiro, a execuo continua aps a linha que contm
o ate.
Com o comando repita, a lista de comandos ser
executada 1 ou mais vezes.
COMANDO DE SELEO MLTIPLA - ESCOLHA
escolha <expresso-de-seleo>
caso <exp11>, <exp12>, ..., <exp1n>
<seqncia-de-comandos-1>
caso <exp21>, <exp22>, ..., <exp2n>
<seqncia-de-comandos-2>
...
outrocaso
<seqncia-de-comandos-extra>
fimescolha

VETOR
Varivel estruturada homognea. Consiste de
um conjunto de elementos de um mesmo
tipo.



1 2 3 4 5 6
12 23 52 56 45 78
1 2 3 4 5 6 7 8 9 10
1.5 2.2 0.5 6.7 3.2 4.5
DECLARAO DE VETOR

V : vetor[1..6] de inteiro
1..6 representa: o ndice inicial = 1 e
o ndice final = 6.

V[1] := 0 // para acessar um elemento,
especifica-se o ndice do mesmo.
EXEMPLO - ESCOLHA
var
opcao : inteiro
Inicio /* programa solicita ao usurio informar a opcao */
leia(opcao)
escolha opcao
caso 1
escreva("aqui executar se opcao = 1")
caso 2
escreva("aqui executar se opcao = 2")
outrocaso
escreva("executar se opcao = Outrovalor")
fimescolha
MATRIZ (OU VETOR BIDIMENSIONAL)
Estrutura com 2 dimenses.
Semelhante ao vetor, os elementos do do
mesmo tipo.

Matriz : vetor[1..5,1..5] de inteiro
Matriz[1,1] := 0
Matriz[5,5] := 0
MATRIZ
12 45 52 56 63
54 23 48 65 11
12 52 20 10 44
44 78 63 85 27
25 41 17 11 18

Вам также может понравиться