Escolar Documentos
Profissional Documentos
Cultura Documentos
Curso Programador de Sistemas PDF
Curso Programador de Sistemas PDF
Lgica de Programao
Professor
FRANCISCO VERSSIMO LUCIANO
/76
BIBLIOGRAFIA BSICA
GUIMARES, ngelo de Moura e LAGES, Alberto de Castilho. Algoritmos e Estruturas de Dados. 1a ed, Rio
de Janeiro: LTC, 1994.
FARRER, Harry et al. Algoritmos Estruturados. 3 ed, Rio de Janeiro: LTC, 1999.
MIZHARI, Victorine Viviane. Treinamento em linguagem C Mdulo 1. 1a ed, So Paulo: Makron Books,
1990.
BIBLIOGRAFIA COMPLEMENTAR
FORBELLONE, Andr Luiz Villar e EBERSPACHER, Henri Frederico. Lgica de Programao - A Construo
de Algoritmos e Estrutura de Dados. 1a ed, So Paulo: Makron Books, 1999.
MANZANO, Jose Augusto N. G. e OLIVEIRA, Jayr F. Algoritmos Lgica para Desenvolvimento de Programao
de Computadores. 16 Ed, So Paulo: Erica, 2004.
WIRTH, Niklaus. Algoritmos e estruturas de dados. Rio de Janeiro: Prentice Hall do Brasil, 1989.
SCHILDT, Herbert. C, completo e total. 3 ed, So Paulo: Makron Books, 1997.
MS-Visio
Dia
Prof. Me. Francisco Verssimo Luciano
/76
Algoritmo:
- Um algoritmo formalmente uma seqncia finita de passos que levam a execuo de uma tarefa.
Disco 3
Disco 2
Disco 1
Pino 1
Pino 2
Pino 3
Canibais e Jesutas
Descreva passo a passo os procedimentos necessrios para passar os 3 canibais e os 3 jesutas
da margem A para a margem B do rio, obedecendo s seguintes regras:
o No barco s cabem duas pessoas;
o Sempre ter que voltar algum para buscar os demais;
o O nmero de canibais nunca poder ser superior ao de jesutas em qualquer uma das
margens (considerando-se quem est no barco tambm).
MARGEM B
MARGEM A
/76
No se aprende Algoritmos:
S se aprende Algoritmos:
- Copiando Algoritmos
- Construindo Algoritmos
- Estudando Algoritmos
- Testando Algoritmos
Fases de um Algoritmo
Quando temos um problema e vamos utilizar um computador para resolv-lo,
inevitavelmente temos que passar pelas seguintes etapas:
a) Definir o problema;
b) Realizar um estudo de qual(is) a(s) forma(s) de resolver o problema;
c) Terminada a fase de estudo, elaborar um algoritmo contendo os passos lgicos
a serem seguidos para a soluo do problema;
d) Codificar os passos do algoritmo na linguagem de programao mais
adequada;
e) Analisar junto aos usurios se o problema foi resolvido. Se a soluo no foi
encontrada, dever-ser- retornar fase de estudos a fim de localizar-se a
falha.
Estas so, de forma bem geral, as etapas que um analista passa, desde a
apresentao do problema at a sua efetiva soluo. Iremos, neste curso, nos ater etapa
de estudo, tambm chamada de anlise, e etapa de programao. Mas, antes, vamos
definir o seguinte conceito: programar um computador consiste em elaborar um conjunto
finito de instrues, reconhecidas pelo mesmo, de forma que consiga execut-las. Estas
instrues possuem regras e uma sintaxe prprias, como o portugus ou o ingls - sendo
chamadas de linguagem de programao.
No mundo computacional existe uma grande variedade de linguagens: Pascal, C,
C++, C#, Cobol, Fortran, Delphi, Visual Basic, Java, ASP, PHP, Phyton, Perl, etc.
/76
algoritmo teste
incio
A, B: inteiro
A1
B2
se A > B ento
A5
seno
A 10
fim se
fim.
Incio
A1
B2
A>B
V
A5
A 10
Fim
/76
A1
B2
A>B
F
V
A 10
A5
Program Teste;
Var
A , B : Integer ;
Begin
A := 1 ;
B := 2 ;
if ( A > B ) then
A := 5
else
A := 10 ;
End.
/76
Informao
Joo
12345
H
Informao
Joo
12345
H
7/76
Posio de
Memria
Memria
Conceituando:
Desta forma, possvel afirmar que uma varivel uma posio de memria,
representada por um nome simblico (atribudo pelo usurio), a qual contm, num
dado instante, uma informao.
Prof. Me. Francisco Verssimo Luciano
8/76
4
V R 3
3
onde so encontrados valores que podem ser classificados como:
a) valores constantes, invariantes em todas as aplicaes da frmula, como so os
casos dos valores 4, 3 e denominam-se CONSTANTES;
b) valores a serem substitudos na frmula, em cada aplicao; a representao desses
valores, usualmente feita atravs de letras, que recebem o nome de VARIVEIS e
tornam a frmula genrica, possvel de ser aplicada para resolver uma certa classe de
problemas e no apenas um problema especfico;
c) operaes a serem feitas sobre determinados operandos (valores), para a obteno
da soluo do problema.
Prof. Me. Francisco Verssimo Luciano
9/76
Pascal
a) Inteiro
a) INTEGER
b) Real
b) REAL
e) Caracter
e) CHAR
d) Cadeia
f) STRING
g) Lgica
h) WORD
i) BYTE
j) ShortInt
l) LongInt
m) Single
n) Double
10/76
Declarao de Variveis
necessrio informar, logo no incio do programa, quais as variveis que sero
utilizadas e que tipo de dados cada uma armazenar.
Para declarar uma ou mais variveis, devemos utilizar, em Pascal, a palavra VAR.
Nos algoritmos feitos em Portugol pode-se utilizar a mesma nomenclatura.
Nos algoritmos construdos com Fluxograma (Diagrama de Blocos) no necessrio
declarar as variveis. Apenas indicamos a atribuio de valores s variveis necessrias
(Fig. 1) ou a leitura dos dados para as mesmas( Fig. 2).
Inicio
Inicio
Leia
A 10
<Comandos>
<Comandos>
Fim
Fim
Figura 1
Figura 2
11/76
b)
PROGRAM Teste ;
VAR
Num : REAL ;
BEGIN
<comandos> ;
END .
c) PROGRAM Teste ;
VAR
X, Palavra : STRING ;
BEGIN
<comandos> ;
END .
d)
PROGRAM Teste ;
VAR
B, Letra : CHAR ;
BEGIN
<comandos> ;
END .
e) PROGRAM Teste ;
VAR
Y : REAL ;
N : INTEGER ;
BEGIN
<comandos> ;
END .
f)
PROGRAM Teste ;
VAR
Letra, Caractere : CHAR ;
Nmero : INTEGER ;
BEGIN
<comandos> ;
END .
12/76
Pascal
PROGRAM Teste;
VAR
X : INTEGER;
BEGIN
X : = 10;
END.
X 10
Contedo
10
13/76
Algoritmo
Inicio
Letra A
Nome Joo
Fim
Pascal
PROGRAM AtribuiString;
VAR
Letra : CHAR ;
Nome : STRING ;
BEGIN
Letra := A ;
Nome := Joo ;
END.
14/76
15/76
(Adio)
Tipo de operandos permitidos: inteiros, reais, cadeias de caracteres.
Operao executada: no caso de inteiros e reais o operando esquerda do +
somado ao operando a sua direita, sendo o tipo do resultado dessa operao
dependente de seus operandos:
(Subtrao)
Tipo de operandos permitidos: inteiros, reais.
Operao executada: o operando esquerda do - subtrado do operando a sua
direita, sendo o tipo do resultado dessa operao dependente de seus operandos:
(Multiplicao)
Tipo de operandos permitidos: inteiros, reais.
Operao executada: o operando esquerda do * multiplicado pelo operando a
sua direita, sendo o tipo do resultado dessa operao dependente de seus
operandos:
(Diviso)
Tipo de operandos permitidos: inteiros, reais.
Operao executada: o operando esquerda do / dividido pelo operando a sua
direita, sendo o resultado dessa operao real.
Prof. Me. Francisco Verssimo Luciano
16/76
3 Divisor
MOD
2 DIV
17/76
Inicio
Declarao de variveis
do algoritmo
X, A, B
Escreva
Digite o1
numero:
Leia
A
Escreva
Digite o2
numero:
Leia
B
A+B
Escreva
A Soma
, X
Fim
18/76
Outro exerccio:
2)Faa um algoritmo que leia 2 nmeros reais, efetue e mostre a SOMA e a MDIA:
19/76
20/76
INICIO
NUM1, NUM2,
DOBRO,
TRIPLO
"O DOBRO
DE", NUM1, "E
IGUAL A",
DOBRO
LEIA
NUM1
"O TRIPLO
DE", NUM2, "E
IGUAL A",
TRIPLO
LEIA
NUM2
FIM
DOBRO <-NUM1 * 2
Programa Dobro_triplo
NUM1, NUM2, DOBRO, TRIPLO: Inteiro
Incio
Leia NUM1
Leia NUM2
DOBRO NUM1 * 2
TRIPLO NUM2 * 3
Escreva O DOBRO DE , NUM1, E IGUAL A, DOBRO
Escreva O TRIPLO DE , NUM2, E IGUAL A, TRIPLO
Fim.
TRIPLO <-NUM2 * 3
21/76
Mais um exerccio
4) Faa um algoritmo que receba pelo teclado as notas de duas provas, dois
trabalhos e uma lista de exerccios. Calcule e mostre a mdia, sabendo que as
provas tm peso 6, os trabalhos, peso 3 e a lista, peso 1.
22/76
"PROVA
1: "
"MDIA = ",
MED
P1
FIM
"PROVA
2: "
P2
"TRAB 1:"
T1
"TRAB 2:"
Programa Media_Ponderada
P1, P2, T1, T2, EX, MED: Real
Incio
Escreva PROVA 1:
Leia P1
Escreva PROVA 2:
Leia P2
Escreva TRAB 1:
Leia T1
Escreva TRAB 2:
Leia T2
Escreva EXERC:
Leia EX
MED ((P1*6) + (P2*6)+(T1*3)+(T2*3)+(EX*1))/10
Escreva MEDIA = , MED
T2
Fim.
"EXERC.:"
EX
23/76
24/76
17. Fazer o algoritmo que leia o peso de uma pessoa em quilograma, um valor inteiro,
calcule e exiba:
a)
peso dessa pessoa em gramas;
b)
se essa pessoa engordar 15%, qual ser seu novo peso em gramas.
18. Fazer o algoritmo que leia a quantidade de litros de uma represa, um valor inteiro,
calcule e exiba;
a)
a quantidade total em litros se ocorrer um aumento de 34% na sua capacidade,
aps um perodo de chuvas;
b)
a quantidade total em mililitros se ocorrer uma reduo de 40% na sua capacidade,
aps um perodo de seca.
19. Construa o algoritmo que leia dois ns inteiros, calcule a soma e mostre o resultado.
20. Construa o algoritmo que leia trs ns inteiros, calcule a soma e mostre o resultado.
21. Construa o algoritmo que leia dois nmeros reais, calcule a mdia aritmtica entre eles e
mostre o resultado.
22. Construa o algoritmo que leia trs ns reais, calcule a mdia aritmtica entre eles e
mostre o resultado.
23. Construa o algoritmo que leia o preo unitrio e a quantidade vendida de um produto.
Calcule e mostre o valor total vendido.
24. Construa o algoritmo que calcule e mostre a mdia aritmtica entre quatro notas
bimestrais quaisquer fornecidas por um aluno.
25. Construa o algoritmo que leia uma temperatura em graus Centgrados e apresentem-na
convertida em graus Fahrenheit. A frmula de converso F = (9 * C + 160) / 5. Onde F
a temperatura em Fahrenheit e C a temperatura em Centgrados.
26. Construa o algoritmo que leia uma temperatura em graus Fahrenheit e apresentem-na
convertida em graus Centgrados. A frmula de converso C = (F 32) * (5 / 9). Onde F
a temperatura em Fahrenheit e C a temperatura em Centgrados.
27. Construa o algoritmo que calcule e apresente o valor do volume de uma lata de leo,
utilizando a frmula: VOLUME = 3.14159 * (RAIO * RAIO) * ALTURA.
28. Construa o algoritmo e o programa Pascal que efetuem o clculo da quantidade de litros
de combustvel gastos em uma viagem, utilizando-se um automvel que faz 12 km por
litro. Para obter o clculo, o usurio dever fornecer o tempo gasto na viagem e a
velocidade mdia durante a mesma. Desta forma, ser possvel obter a distncia
percorrida com a frmula DISTNCIA = TEMPO * VELOCIDADE. Tendo o valor da
distncia, basta calcular a quantidade de litros de combustvel utilizada na viagem com a
frmula: LITROS_USADOS = DISTNCIA / 12. O algoritmo e o programa Pascal devero
apresentar os valores da velocidade mdia, tempo gasto na viagem, a distncia
percorrida e a quantidade de litros utilizada na viagem.
Bons estudos
Prof. Me. Francisco Verssimo Luciano
25/76
Programao
condicional ou desvios
condicionais
A partir daqui voc ver algoritmos que
trabalharo com situaes de desvios
condicionais, tomadas de decises
26/76
Operador
Resultado
Igual a
<>
Diferente de
<
Menor que
<=
Menor ou igual a
>
Maior que
>=
Maior ou Igual a
27/76
Fim_se
Fim
28/76
Programa MAIOR_NUM;
Var //declarao de variveis
N1, N2 : Inteiro
Inicio
Escreva 1 nmero:
Leia N1
Escreva 2 nmero:
Leia N2
Se (N1 > N2) ento
Escreva O maior o N1: , N1
Seno
Escreva N2 maior ou igual a N1: , N2
Fim_se
Fim
29/76
30/76
Se (condio1) Ento
<instrues para condio1 verdadeira>
Seno
Se (condio2) Ento
<instrues para condio1 falsa e condio2 verdadeira>
Seno
<instrues para condies 1 e 2 falsas>;
Fim_se
Fim_Se
No segundo modelo, se a condio1 for satisfeita ser testada uma segunda
condio, depois do primeiro ENTO. Se a segunda condio tambm for satisfeita, ser
executada a linha depois do segundo ENTO e o programa continuar. Se a primeira
condio for satisfeita e a segunda no, o programa executar a linha depois do primeiro
SENO e continuar. Se a primeira condio no for satisfeita o programa executar a linha
depois do segundo SENO e continuar, ou seja, no verificar a segunda condio (vide
modelo abaixo).
Se (condio1) Ento
Se (condio2) Ento
<instrues para condies 1 e 2 verdadeiras>
Seno
<instrues para condio1 verdadeira e condio2 falsa>
Fim_se
Seno
Observaes:
para condio1
falsa>
A <instrues
utilizao de blocos
de instrues
feita como explicado anteriormente;
Fim_se
Neste caso a condio2 nem ser analisada.
31/76
32/76
33/76
A,B
B , , A
A<B
A=B
Os
nmeros
so Iguais
A , , B
A , , B
Fim
Program ORDENA
Var
A, B: Inteiro
Inicio
Leia A, B
Se (A = B) Ento
Escreva Os nmeros so iguais:
Escreva A, , B
Seno
Se (A < B) Ento
Escreva A, , B
Seno
Escreva B, , A
Fim_se
Fim_se
Fim.
34/76
A,B
A>B
A=B
Os
nmeros
so
XB
BA
AX
A , ,
B
Fim
35/76
36/76
NUM
NUM >= 20
E
NUM <= 90
O nmero
est fora da
faixa de 20 a
90
O nmero
est na faixa
de 20 a 90
Fim
37/76
INF
INF = M
OU
INF = F
Sexo invlido
Sexo vlido
Fim
Prof. Me. Francisco Verssimo Luciano
38/76
39/76
40/76
41/76
18. Fazer o algoritmo que leia as 3 notas de um estudante e seus respectivos pesos ( N1:
peso 1 - N2: peso 2 N3: peso 2 ). Calculem e exibam a mdia final (mdia ponderada)
e o conceito final desse estudante. Os conceitos seguem a tabela abaixo:
Mdia final (ponderada)
Conceito
A
8.0 10.0
B
7.0 8.0
C
6.0 7.0
D
5.0 6.0
< 5.0
E
inclusive exclusive
19. Fazer o algoritmo que leia a idade de uma pessoa e classifiquem-na segundo o critrio a
seguir:
Idade
0 a 2 anos
3 a 11 anos
12 a 19 anos
20 a 60 anos
acima de 60 anos
Classificao
Recm-nascido
Criana
Adolescente
Adulto
Idoso
Cargo
Escriturrio
Secretria
Caixa
Gerente
Diretor
Percentual
50%
35%
20%
10%
5%
21. Uma companhia de seguros tem trs categorias de seguros baseadas na idade e
ocupao do segurado. Somente pessoas com pelo menos 18 anos e no mais de 70
anos podem adquirir aplices de seguros. Quanto s classes de ocupaes, foram
Prof. Me. Francisco Verssimo Luciano
42/76
baixo
7
4
1
18 a 24
25 a 40
41 a 70
Grupo de Risco
mdio
8
5
2
alto
9
6
3
Fazer o algoritmo que leia a idade e o grupo de risco (b baixo, m mdio ou a alto) e
determinem e exibam o nmero do grupo de risco (1 a 9).
22. Fazer o algoritmo e o programa Pascal que recebam a medida de um ngulo em graus
(um nmero inteiro) e determinem e exibam em que quadrante se localiza esse ngulo.
Considere os quadrantes abaixo:
ngulo
0 90
90 180
180 270
270 360
Quadrante
1 quadrante
2 quadrante
3 quadrante
4 quadrante
inclusive exclusive
23. Uma empresa decidiu dar uma gratificao de Natal aos seus funcionrios, baseada no
nmero de horas-extras e no nmero de horas que o funcionrio faltou ao trabalho. O
valor do prmio obtido consultando-se a tabela a seguir, em que:
H = (nmero de horas-extras) (2/3 * (nmeros de horas-faltas))
H (minutos)
Prmio ($)
> 2400
500
400
1800 2400
300
1200 1800
200
600 1200
<= 600
100
inclusive exclusive
43/76
REVISO
Vamos fazer agora uma reviso do conceito
que acabamos de ver. O assunto estruturas de
Controle, chamado de Condicional ou Deciso
muito importante em programao. Portanto,
vamos relembrar algumas passagens, para
tudo ficar bem claro.
44/76
45/76
Programa Maior_que_10
Var
A: inteiro
B: inteiro
X: inteiro
Incio
Escreva Digite o 1 valor:
Leia A
Escreva Digite o 2 valor:
Leia B
XA+B
Se (X > 10) ento
Escreva X
Fim_se
Fim.
A, B, C
"Digite o 1
valor: "
"Digite o 2
valor: "
A +B
S
X > 10
FIM
46/76
Exerccio:
Faa um algoritmo que leia dois valores numricos e efetue a adio. Se a soma for maior ou igual a
10, uma varivel de resultado R receber X + 5, caso contrrio a varivel R receber X 5.
INCIO
A, B, C
"Digite o 1
valor: "
"Digite o 2
valor: "
A+B
X >= 10
X- 5
X+5
Programa Maior_igual_10
Var
A, B, X, R: inteiro
Incio
Escreva Digite o 1 valor:
Leia A
Escreva Digite o 2 valor:
Leia B
XA+B
Se (X >= 10) ento
RX+5
Seno
RX-5
Fim_se
Escreva Resultado = , R
Fim.
"Resultado
= ", R
47/76
48/76
Se (1 condio) ento
Instrues para 1 condio verdadeira
Seno
Se (2 condio) ento
Instrues para a 2 condio verdadeira
Seno
Instrues para a 2 condio falsa
Fim_se
Fim_se
Veja exemplo:
Se (sexo = M) ento
Escreva Masculino
Seno
Se (sexo = F) ento
Escreva Feminino
Seno
Escreva Letra Invlida
Fim_se
Fim_se
Exerccio:
Receber duas notas e calcular a mdia aritmtica e mostrar o resultado:
Prof. Me. Francisco Verssimo Luciano
49/76
INCIO
"Digite 1
nota: "
N1
"Digite 2
nota: "
N2
MED
(N1+N2)/2
S
MED >= 7
S
MED< 4
"Exame"
"Aprovado"
"Reprovado"
Programa Media_aritmetica
Var
N1, N2, MED: real
Incio
Escreva Digite a 1 nota:
Leia N1
Escreva Digite a 21 nota:
Leia N2
MED (N1+ N2)/2
Se (MED >= 7) ento
Escreva Aprovado
Seno
Se (MED < 4) ento
Escreva Reprovado
Seno
Escreva Exame
Fim_se
Fim_se
Fim.
FIM
Ex.: Fazer um algoritmo que ao receber o salrio atual de um funcionrio, calcule o valor do
novo salrio reajustado de acordo com a tabela abaixo:
Prof. Me. Francisco Verssimo Luciano
50/76
INCIO
SAL,
NOVO_SAL
"Salario
Atual: "
SAL
NOVO_SAL
SAL * 1.05
SAL < =
1000
SAL < =
500
S
NOVO_SAL
SAL * 1.15
NOVO_SAL
SAL * 1.10
Programa Novo_Salario
Var
SAL, NOVO_SAL: real
Incio
Escreva Salrio Atual:
Leia SAL
Se (SAL < = 500) ento
NOVO_SAL SAL * 1.15
Seno
Se (SAL < = 1000) ento
NOVO_SAL SAL * 1.10
Seno
NOVO_SAL SAL * 1.05
Fim_se
Fim_se
Escreva
Novo
Salrio:
,
NOVO_SAL
Fim.
"Novo
Salario: ",
NOVO_SAL
FIM
51/76
52/76
Exerccios:
1) O critrio de avaliao semestral de determinada Faculdade segue a regra:
P1 primeira avaliao do semestre. P2 segunda avaliao do semestre.
Ativ nota atribuda pelas atividades realizadas no semestre.
Mdia
=
P1 x 4 + P2 x 4 + Ativ x 2
10
Faa um algoritmo que leia as notas das provas (P1 e P2) e da atividade (Ativ),
calcule e mostre a mdia, seguindo o clculo acima e o resultado de acordo com a
tabela:
53/76
3) Faa um algoritmo que leia 4 nmeros e imprima: O maior nmero; O menor nmero; O
nmero do meio.
4) Um pediatra elaborou uma lista com pesos provveis para meninos e meninas entre 1 e
Meninos
De 8.5 kg a 12.5kg
De 10.1 kg a 15.2kg
De 11.7 kg a 18 kg
Meninas
De 7.5kg a 11.5kg
De 9.8kg a 14.5kg
De 11.4kg a 17.950kg
54/76
6) Este exerccio possibilitar a utilizao dos novos recursos aprendidos, atravs dessa
aplicao pedaggica: faa um algoritmo que leia trs valores numricos, verifique se eles
formam um tringulo. Se sim, mostre o tipo do tringulo. Condies para existncia de um
tringulo:
1)
2)
3)
4)
5)
A>0eB>0eC>0
A<B+CeB<A+CeC<A+B
A = B e A = C Tringulo Equiltero
A = B ou A = C ou B = C Tringulo Issceles
A <> B e A <> C e B <> C Tringulo Escaleno
Bons estudos
55/76
Estruturas de Controle
Laos de Repetio
56/76
Pode ser comparado com o se/seno, porm o escolha/caso no aceita expresses, apenas
variveis.
O escolha/caso testa a varivel e executa a declarao cujo caso corresponda ao valor atual da
varivel.
Sem dvida alguma o mais importante dos dois o se/seno, mas o comando escolha/caso tem
aplicaes valiosas. Mais uma vez vale lembrar que devemos usar o comando certo no local certo. Isto
assegura um cdigo limpo e de fcil entendimento.
O comando escolha/caso prprio para se testar uma varivel em relao a diversos valores prestabelecidos
SEXO
N
S
SEXO = M
S
Masculino
SEXO = m
N
S
SEXO = F
Feminino
SEXO = f
Sexo
Invlido
Masculino
Feminino
...
Leia SEXO
Se (SEXO = M) ento
Escreva Masculino
Seno
Se (SEXO = m) ento
Escreva Masculino
Seno
Se (SEXO = F) ento
Escreva Feminino
Seno
Se (SEXO = f) ento
Escreva Feminino
Seno
Escreva Sexo Invlido
Fim_se
Fim_se
Fim_se
Fim_se
...
57/76
...
Leia SEXO
Escolha (SEXO)
Caso M: Escreva Masculino
Caso m: Escreva Masculino
Caso F: Escreva Feminino
Caso f: Escreva Feminino
Seno
Escreva Sexo Invlido
Fim_escolha
...
58/76
...
Leia MES
Escolha (MES)
Caso 1: Escreva Janeiro
Caso 2: Escreva Fevereiro
Caso 3: Escreva Maro
...
Caso 12: Escreva Dezembro
Seno
Escreva Ms Invlido
Fim_escolha
...
N
CONDIO
S
INSTRUES
EXECUTADAS
ENQUANTO A
CONDIO
VERDADEIRA
DEMAIS
INSTRUES
E PROCEDIMENTOS
59/76
Programa Numeros
Var
I, N, R: inteiro
Incio
I1
Enquanto (I< = 5) faa
Leia N
RN*3
Escreva R
II+1
Fim_enquanto
Fim.
Ex: Faa um algoritmo que leia N nmeros quaisquer, enquanto o usurio desejar,
multiplique-os por trs e exiba-os:
60/76
61/76
CONT
CONT
1
N
CONT <=
100
S
N
S
CONT
MOD 2 = 0
CONT,
eh par
CONT
CONT + 1
Fim
Programa Numeros_Pares
Var
CONT : inteiro
Incio
CONT 1
Enquanto (CONT < = 100) faa
Se (CONT mod 2 = 0) ento
Escreva CONT, eh par
Fim_se
CONT CONT + 1
Fim_enquanto
Fim.
Prof. Me. Francisco Verssimo Luciano
62/76
63/76
Leia N
Enquanto (CONT <= N) faa
FAT FAT * CONT
CONT CONT + 1
Fim_enquanto
Escreva Fatorial de , N, = , FAT
Escreva Deseja Continuar?
Leia RESP
Fim_enquanto
Fim.
Teste de mesa:
CONT
1
2
3
4
64/76
65/76
Exerccios Propostos:
6)
7) Elaborar um algoritmo que calcule a mdia das notas dos alunos de uma
sala de aula qualquer, sendo que em primeiro lugar dever ser solicitada a
digitao da quantidade de alunos existentes nessa sala e, posteriormente,
a digitao de todas as notas dos alunos da mesma.
Mdia = ( N1 + N2 + N3 + N4 + N5 + ... + Nm ) / m
Exemplo:
Digite a quantidade de alunos da sala (m): 5 <Enter>
Digite N1: 5.5 <Enter>
Digite N2: 4.5 <Enter>
Digite N3: 3.0 <Enter>
Digite N4: 5.0 <Enter>
Digite N5: 7.0 <Enter>
Mdia da sala: 5.0
Prof. Me. Francisco Verssimo Luciano
66/76
Faa
Instruo1
Instruo2
Enquanto (condio)
Instru3
INSTRUO1
INSTRUO2
do
N
{
Instruo1;
Instruo2;
} while(condio);
CONDIO
S
INSTRUO3
Observa-se que a diferena fundamental em relao forma Enquanto/faa, est no controle das
repeties, que ocorre no final. Por conta disso, mesmo que a condio no seja satisfeita, a(s)
instruo (es) do lao ser (ao) executada(s) pelo menos uma vez.
Veja agora, como fica o algoritmo que escreve os valores pares existentes de 1 a 100, usando a nova
estrutura de controle:
67/76
68/76
S = x / 1 - x / 2 + x / 3 - x / 4 + x / 5 - ..... + x / 19 - x / 20
2) Faa um algoritmo para calcular e exibir o resultado de S para os N
primeiros termos da srie:
3,
3,
3,
1,
4
2
1
1
2
2
3
MMC = 12
69/76
N
CONDIO
S
INSTRUES
EXECUTADAS
ENQUANTO A
CONDIO
VERDADEIRA
DEMAIS
INSTRUES
E PROCEDIMENTOS
70/76
Observa-se que a diferena fundamental em relao forma Enquanto/faa, est no controle das
repeties, que ocorre no final. Por conta disso, mesmo que a condio no seja satisfeita, a(s)
instruo (es) do lao ser (ao) executada(s) pelo menos uma vez.
71/76
Na linguagem C:
for (x=1; x<=10; x++)
{
Instruo1;
Instruo 2;
}
Onde: X
1
10
1
varivel de controle
valor inicial da varivel X
valor final da varivel X
passo/salto/variao/incremento de X
72/76
VAL
VAL
1, 1250, 1
Valor = ,
VAL
Programa Nmeros_1_a_1250
Inicio
Var
VAL: inteiro
Para VAL de 1 at 1250 passo 1 faa
Escreva Valor = , VAL
Fim_para
Fim
for (VAL = 1; VAL<=1250;VAL++)
printf(Valor = %d,VAL);
FIM
73/76
VAL
VAL
1, 1250, 1
N
VAL mod 7 = 0
VAL,
multiplo
de 7
Programa Nmeros_Multiplos_7
Var
VAL: inteiro
Inicio
Para VAL de 1 at 1250 passo 1
faa
Se (VAL mod 7 = 0) ento
Escreva VAL, mltiplo de
7
Fim_se
Fim_para
Fim
for (...)
if (VAL % 7 == 0)
printf(....);
FIM
Prximo exerccio:
Calcular o fatorial de um nmero N
qualquer:
74/76
Fim_enquanto
Fim
1,1,2,3,5,8,13,...N
75/76
S = x / 1 - x / 2 + x / 3 - x / 4 + x / 5 - ..... + x / 19 - x / 20
2) Faa um algoritmo para calcular e exibir o resultado de S para os N
primeiros termos da srie: S = 1/(35+36) 2/(36+37)+3/(37+38) - ... + N
76/76