Sei sulla pagina 1di 76

Curso Programador de Sistemas

Prof. Me. Francisco Verssimo Luciano /76

















Lgica de Programao











Professor
FRANCISCO VERSSIMO LUCIANO





























Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano /76

CURSO:
Programador de Sistemas
DISCIPLINA:
Lgica de Programao

EMENTA
Capacitar o aluno resoluo de problemas algortmicos, documentando a soluo em ferramentas de
representao de algoritmos mais usuais portugol (pseudocdigo; portugus estruturado) e diagrama de
blocos.
OBJETIVOS
Desenvolver a capacidade de desenvolvimento de algoritmos necessrios para a programao estruturada de
computadores independente da linguagem. Atravs de exerccios de desenvolvimento de algoritmos
solucionados em portugol e diagrama de blocos, capacitar o aluno a propor solues algortmicas enfocando a
validao do mesmo com o uso do teste de mesa.
CONTEDO PROGRAMTICO
Definio de algoritmo. Etapas da criao de um programa. Importncia do Teste de Mesa para o processo de
elaborao do algoritmo. Formas de representao de algoritmos: portugol, diagrama de blocos e diagrama de
Chapin. Definio de variveis, tipos de dados, expresses aritmticas e lgicas. Comando de entrada e sada
(E/S). Estrutura condicional: simples, composta, encadeada. Estrutura de seleo mltipla. Estrutura de
repetio.. Modularizao de algoritmos.


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.


Softwares sugeridos para desenvolvimento dos Diagramas de Blocos:
MS-Visio
Dia









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano /76
Noes Preliminares de Lgica e Construo de Algoritmos
Lgica:
- Relacionada capacidade de raciocinar
- Vinculada capacidade de pensar
- Lgica de programao a tcnica de encadear pensamentos para atingir determinado objetivo.
Algoritmo:
- Um algoritmo formalmente uma seqncia finita de passos que levam a execuo de uma tarefa.

Um pequeno exemplo: Torre de Hanoi
Descreva detalhadamente os procedimentos necessrios para passar os 3 discos do Pino 1 para
um dos outros Pinos, obedecendo s seguintes regras:
o Mover somente um disco por vez;
o Nunca poder ficar um disco maior sobre um menor;



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












Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano /76

Algoritmos

Conceituando:
Algoritmo consiste em um conjunto lgico e finito de aes ( instrues ) que
objetivam resolver um determinado problema.

Um algoritmo desenvolvido no a nica soluo possvel de um problema, pois, se
assim fosse, cada problema teria um nico algoritmo. Algoritmo um dos caminhos para a
soluo de um problema e, em geral, os caminhos que levam a uma soluo so muitos. O
aprendizado de algoritmos s conseguido atravs de muitos exerccios.

No se aprende Algoritmos:
- Copiando Algoritmos
- Estudando Algoritmos
S se aprende Algoritmos:
- Construindo 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.











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano /76

Estrutura de Algoritmos

Antes de utilizarmos uma linguagem de computador, necessrio definir
as aes a serem tomadas pela mquina de forma organizada e lgica, sem
nos atermos s regras rgidas da sintaxe de uma linguagem. Para isso
utilizaremos uma das formas de escrever tais algoritmos, conhecida como
Fluxograma ou Diagrama de Blocos.

Formas de representao de um Algoritmo:

-Fluxograma (Diagrama de Blocos).
-Portugol (Portugus Estruturado ou Pseudocdigo);
-Diagrama de Chapin;

Exemplos:

Portugol, Portugus Estruturado ou Pseudocdigo; Fluxograma ou Diagrama de Blocos;

algoritmo teste
incio
A, B: inteiro
A 1
B 2
se A > B ento
A 5
seno
A 10
fim se
fim.










V
Incio
A 1

A > B
B 2
A 5 A 10

Fim
F









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano /76

Diagrama de Chapin

A 1
B 2

A > B
F V
A 10 A 5


Exemplificando o algoritmo acima em uma linguagem de programao, como em Pascal, a
soluo apresentada pelos algoritmos acima ficaria da seguinte forma:

Program Teste;
Var
A , B : Integer ;
Begin
A := 1 ;
B := 2 ;
if ( A > B ) then
A := 5
else
A := 10 ;
End.









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 7/76

Variveis

O computador possui uma rea de armazenamento conhecida como memria. Todas
as informaes existentes no computador esto ou na memria primria (memria RAM
Random Access Memory - memria de acesso aleatrio) ou na memria secundria (discos,
fitas, CD-ROM, etc). Ns iremos trabalhar, neste curso, somente com a memria primria,
especificamente com as informaes armazenadas na RAM.

A memria do computador pode ser entendida como uma seqncia finita de caixas,
que num dado momento, guardam algum tipo de informao, como um nmero, uma letra,
uma palavra, uma frase, etc. No importa ao usurio conhecer todas as informaes
contidas, basta apenas saber que l sempre existe alguma informao.

O computador, para poder trabalhar como algumas destas informaes, precisa saber
onde, na memria, o dado est localizado. Fisicamente, cada caixa, ou cada posio de
memria, possui um endereo, ou seja, um nmero que indica onde cada informao est
localizada. Este nmero representado atravs da notao hexadecimal, tendo o tamanho
de quatro ou mais bytes. Abaixo seguem alguns exemplos:


Endereo Fsico Informao
3000 : B712 Joo
2000 : 12EC 12345
3000 : 0004 H


Como pode ser observado, o endereamento das posies de memria atravs de
nmeros hexadecimais perfeitamente compreendido pela mquina, mas para ns
humanos torna-se uma tarefa complicada. Pensando nisto, as linguagens de programao
de computadores facilitaram o manuseio das posies de memria da mquina, permitindo
que, ao invs de trabalhar diretamente com os nmeros hexadecimais, fosse possvel dar
nomes diferentes a cada posio de memria.

Os nomes so de livre escolha do usurio. Com este recurso, os usurios ficaram
livres dos endereos fsicos (nmeros hexadecimais) e passaram a trabalhar com endereos
lgicos (nomes dados pelos prprios usurios). Desta forma, o exemplo acima poderia ser
alterado para ter o seguinte aspecto:


Endereo Fsico Informao
Nome Joo
Nmero 12345
Letra H












Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 8/76
Como tnhamos falado, os endereos lgicos so como caixas, que num dado instante
guardam algum tipo de informao. Mas importante saber que o contedo desta caixa no
algo fixo ou permanente. Na verdade, uma caixa pode conter diversas informaes, ou
seja, como no exemplo acima, a caixa (Endereo Lgico) rotulada de Nome num dado
momento contm a informao Joo, mas em um outro momento poder conter uma outra
informao, por exemplo Pedro. Com isto queremos dizer que o contedo destas caixas (
endereos lgicos ) podem variar, isto , podem sofrer alteraes em seu contedo. Tendo
este conceito em mente, a partir de agora iremos chamar de forma genrica, as caixas ou
endereos lgicos, de variveis.





















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.

Memria

Posio de
Memria









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 9/76
Nomes de Variveis


O nome de uma varivel formado por uma letra ou por uma letra seguida de letras
ou nmeros (quaisquer nmeros);

No permitido o uso de espaos em branco ou de qualquer outro caractere, que no
seja letra ou nmero;

Se utilizar mais de uma palavra para compor o nome da varivel utilize o _
(underline) para separar as palavras. Exemplo: data_nasc ;

No pode iniciar com um nmero.


Contedo de uma Varivel

As variveis podem armazenar:

Valores numricos;

Textos (letras, palavras) ou at frases.


Identificadores: Variveis e Constantes

Considere a frmula matemtica do clculo do volume de uma esfera:

3
3
4
R V =


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 t 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.









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 10/76
Tipos de Dados

As Linguagens de Programao exigem que no momento que formos trabalhar com
variveis, indiquemos o tipo de dado que a mesma poder conter, isto , se uma dada
posio de memria armazenar um nmero ou uma letra, etc.

A linguagem Pascal, por exemplo, possui a definio de alguns tipos que devero ser
usados para se trabalhar com variveis. Esses tipos so:

Principais tipos de variveis e dados que armazenam (relembrando...):

Algoritmo
(Portugol)
Pascal Dados que podem armazenar
a) Inteiro a) INTEGER
Representa nmeros entre 32.768 at +32.767. Ocupa 2
bytes na memria.
b) Real b) REAL
Representa os nmeros entre 2,9 x 10
-39
at 1,7 x 10
38
.
Ocupa 6 bytes na memria.
e) Caracter e) CHAR
Representa um dos caracteres, da tabela ASCII. Ocupa 1
byte na memria.
d) Cadeia f) STRING
Conjunto de caracteres ( CHAR ). Ocupa de 1 a 255 bytes na
memria.
g) Lgica g) BOOLEAN
Valor lgico. Assume somente dois valores:
TRUE(Verdadeiro) ou FALSE(Falso). Ocupa 1 byte na
memria.

Outros tipos de Variveis

Pascal Dados que podem armazenar
h) WORD Nmeros de 0 at 65.535. Ocupa 2 bytes na memria.
i) BYTE Nmeros de 0 at 255. Ocupa 1 byte na memria.
j) ShortInt Representa os nmeros entre -128 at 128 . Ocupa 1 bytes na memria.
l) LongInt
Representa os nmeros entre - 2.147.483.648 at 2.147.483.648 . Ocupa
4 bytes na memria.
m) Single
Representa os nmeros entre 1,5 x 10
-45
at 3,4 x 10
38
. Ocupa 4 bytes na
memria.
n) Double
Representa os nmeros entre 5 x 10
-324
at 1,7 x 10
308
. Ocupa 8 bytes na
memria.











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 11/76
Iremos gradativamente trabalhar com alguns destes tipos e mostrar as suas
caractersticas.


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).






















Figura 1 Figura 2
Inicio

A 10

<Comandos>
Fim
Leia
A
Inicio

<Comandos>
Fim









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 12/76
Abaixo seguem exemplos de algumas declaraes de variveis em Pascal:


a) PROGRAM Teste ; b) PROGRAM Teste ;
VAR VAR
A : INTEGER ; Num : REAL ;
BEGIN BEGIN
<comandos> ; <comandos> ;

END .

END .



c) PROGRAM Teste ; d) PROGRAM Teste ;
VAR VAR
X, Palavra : STRING ; B, Letra : CHAR ;
BEGIN BEGIN
<comandos> ; <comandos> ;

END .

END .



e) PROGRAM Teste ; f) PROGRAM Teste ;
VAR VAR
Y : REAL ; Letra, Caractere : CHAR ;
N : INTEGER ; Nmero : INTEGER ;
BEGIN BEGIN
<comandos> ; <comandos> ;

END .

END .




Obs: Os nomes dados s variveis no podem ser os mesmos nomes de palavras
reservadas do Pascal, tais como PROGRAM, BEGIN, END, VAR, etc






















Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 13/76
Comandos de Atribuio

Quando definimos uma varivel, natural atribuirmos a ela uma informao. Uma das
formas de colocar um valor dentro de uma varivel, conseqentemente colocando este dado
na memria do computador, atravs da atribuio direta do valor desejado varivel.
Para isso so utilizados os smbolos : = (dois pontos igual) no Pascal e (seta para
esquerda) em Algoritmos, que significam: atribuir, ou seja, a posio de memria que uma
varivel representa receber uma informao, que ser armazenada no interior desta
varivel. Exemplos:

Algoritmo Pascal


O Exemplo anterior nos informa que:

a) Foi definida uma varivel, a qual demos o Nome de X , e informamos que esta
varivel, ou posio de memria, s poder aceitar dados que sejam numricos e que
estejam entre -32768 a +32767 ( tipo INTEGER );

b) Atribumos varivel X o valor 10.

A memria se comportaria da seguinte forma, de acordo com os itens acima:

Logo aps a declarao da varivel e antes da atribuio de valor:
Varivel Contedo
X Indefinido
Aps a atribuio de valor:

Varivel Contedo
X 10

Variveis do tipo CHAR (Caractere) e STRING (Cadeia)

As definies de variveis como sendo do tipo CHAR e STRING, possuem algumas
curiosidades que merecem um cuidado especial por parte do usurio.


PROGRAM Teste;
VAR
X : INTEGER;
BEGIN
X : = 10;
END.

X 10









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 14/76
Uso do apstrofro ( )

Quando estivermos fazendo a atribuio de um valor para uma varivel do tipo CHAR
(Caractere) ou STRING (Cadeia), temos que ter o cuidado de colocar o valor (dado) entre
apstrofos ( ) - chamados por alguns de aspas simples - pois esta a forma de dizer que
a informao caractere.

Exemplos: Algoritmo Pascal











Manipulao de caracteres individuais em STRINGs (Cadeias)

Muitas vezes necessrio manipular caracteres individuais em uma STRING (Cadeia) . O
Pascal possui uma forma toda especial de permitir tal operao, atravs do uso de
colchetes( [ ] ) logo aps o Nome da varivel do tipo STRING (Cadeia) , e o nmero do
caractere que se deseja manipular entre os colchetes.


Formas de representao de algoritmos:

Diagrama de Chapin (pronuncia-se Chap)
Diagrama de Blocos ou Fluxograma: representao grfica do algoritmo
Portugol, pseudocdigo ou portugus estruturado: descrio narrativa do
algoritmo







PROGRAM AtribuiString;
VAR
Letra : CHAR ;
Nome : STRING ;
BEGIN
Letra := A ;
Nome := Joo ;
END.


Letra A
Nome Joo

Inicio
Fim









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 15/76
Diagrama de Blocos ou Fluxograma

um dos mtodos utilizados para o desenvolvimento de algoritmos. Com esta tcnica
definimos os passos lgicos, a serem seguidos para a soluo de um problema, com o
auxlio de figuras geomtricas. Posteriormente, codificarmos esses passos em uma
linguagem de programao em um computador.

H muitas figuras para construo de Diagramas de Blocos/Fluxogramas. As
principais que utilizaremos, so:

Terminal - para indicar Incio ou Fim do programa;


Processamento - para clculos, classificaes, atribuies de valor, etc.;


Entrada e Sada de Dados - utilizado sempre em conjunto com os verbos
Leia, para indicar a leitura de valores para variveis, ou Escreva, para indicar a
exibio de mensagens e/ou contedo de variveis;

Entrada de Dados via teclado


Sada ou Exibio de Dados em Vdeo - para indicar a exibio dos valores
contidos nas variveis e mensagens (textos) contidas nos programas;


Sada de Dados Impressos;


Deciso - para efetuar um desvio condicional, uma pergunta, para definir se o
programa deve seguir numa direo ou em outra;


Estrutura de controle: repetio (lao para)


Conector - para ligar as seqncias de soluo do problema vindas de
diferentes pontos do Fluxograma;

Conector de Pgina - para ligar pontos do Fluxograma na mesma pgina ou
em pginas diferentes; normalmente utiliza-se um nmero junto, para indicar de
que ponto vem e para qual ponto deve seguir o fluxo;

Setas de Orientao do Fluxo - para indicar o sentido a ser seguido.
3









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 16/76
Operadores Aritmticos

+ (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:

- Se os dois operandos so inteiros, o resultado da soma um valor inteiro;
- Se os dois operandos so reais, o resultado da soma um valor real;
- Se um dos operandos real e o outro inteiro, o resultado da soma um valor
real;
- No caso dos operandos serem ambos cadeias de caracteres o resultado da
operao dado pela cadeia obtida pela concatenao da cadeia dada pelo
primeiro operando com a cadeia dada pelo segundo operando.

- (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:

- Se os dois operandos so inteiros, o resultado da operao inteiro;
- Se os dois operandos so reais, o resultado da operao real;
- Se um dos operandos real e o outro inteiro, o resultado da operao real.

* (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:

- Se os dois operandos so inteiros, o resultado da operao um valor inteiro;
- Se os dois operandos so reais, o resultado da operao um valor real;
- Se um dos operandos real e o outro inteiro, o resultado da operao um
valor real.

/ (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.









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 17/76
DIV
Tipo de operandos permitidos: ambos do tipo inteiro.
Operao executada: o operando esquerda do DIV dividido pelo operando
sua direita, sendo o resultado desta operao um valor inteiro resultante da
diviso.
Exemplo: 7 DIV 3 resulta 2 (vide abaixo).

MOD
Tipo de operandos permitidos: ambos do tipo inteiro.
Operao executada: o operando esquerda do MOD dividido pelo operando
sua direita, sendo o resultado desta operao o resto inteiro da diviso.
Exemplo: 7 MOD 3 resulta 1 (vide abaixo).

Dividendo 7 3 Divisor

MOD 1 2 DIV



























































Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 18/76
Programas Seqenciais

So programas onde so executadas as linhas de instrues uma aps a outra,
seqencialmente, sem desvios.

1)Faa um algoritmo para ler dois nmeros inteiros, efetuar e mostrar a SOMA dos mesmos.


Inicio
X, A, B
Escreva
Digite o1
numero:
Leia
A
Escreva
Digite o2
numero:
Leia
B
X A + B
Escreva
A Soma
, X
Fim
Declarao de variveis
do algoritmo













Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 19/76

Programa SOMA_INTEIROS
Var
X, A, B : Inteiro
Inicio
Escreva Digite o 1 nmero:
Leia A
Escreva Digite o 2 nmero:
Leia B
X A + B
Escreva A soma , X
Fim.





Outro exerccio:



2)Faa um algoritmo que leia 2 nmeros reais, efetue e mostre a SOMA e a MDIA:









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 20/76



















Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 21/76
Programa SOMA_MEDIA_REAIS
Var
X, A, B, MED : real
Inicio
Escreva Digite o 1 nmero:
Leia A
Escreva Digite o 2 nmero:
Leia B
X A + B
Escreva A soma , X
MED X/2
Escreva A Mdia , MED
Fim.
3) Faa um algoritmo que receba dois nmeros inteiros, calcule e mostre o dobro do primeiro
e o triplo do segundo.












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.

INICIO
NUM1, NUM2,
DOBRO,
TRIPLO
LEIA
NUM1
LEIA
NUM2
DOBRO <--
NUM1 * 2
TRIPLO <--
NUM2 * 3
A
A
"O DOBRO
DE", NUM1, "E
IGUAL A",
DOBRO
"O TRIPLO
DE", NUM2, "E
IGUAL A",
TRIPLO
FIM









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 22/76
Nota-se no diagrama acima que foi usada uma representao
para declarar as variveis do algoritmo. Essa prtica
recomendada para dar mais clareza ao algoritmo. Veja a
seguir a figura (retngulo):




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.











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 23/76
INICIO
P1, P2, T1,
T2, EX, MED
"PROVA
1: "
P1
"PROVA
2: "
P2
"TRAB 1:"
T1
"TRAB 2:"
T2
"EXERC.:"
EX
A
A
MED <-- ((P1*6) + (P2 * 6) +
(T1 *3) + (T2*3) + (EX *1))/19
"MDIA = ",
MED
FIM




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
Fim.










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 24/76
Exerccios - Programas Seqenciais
1. Fazer o algoritmo que leia dois nmeros inteiros, calcule e exiba a subtrao do primeiro
pelo segundo.
2. Fazer o algoritmo que leia dois nmeros inteiros, calcule e exiba a subtrao do segundo
pelo primeiro.
3. Fazer o algoritmo que leia dois nmeros inteiros, calcule e exiba a multiplicao dos dois
nmeros.
Reais
4. Fazer o algoritmo que receba duas notas de um aluno e seus respectivos pesos, calcule
e exiba a mdia ponderada dessas notas.
MP = (N1 * P1 + N2 * P2) / (P1 + P2)
5. Fazer o algoritmo que leia o valor de um depsito e o valor da taxa de juros. Calcule e
exiba o valor do rendimento e o valor total (depsito + rendimento).
6. Fazer o algoritmo que leia um nmero inteiro, calcule e exiba:
a) a raiz quadrada desse nmero; b) esse nmero elevado ao quadrado.
7. Fazer o algoritmo que leia o valor do salrio de um funcionrio e o valor do salrio
mnimo. Calcule e exiba quantos salrio mnimos ganha esse funcionrio.
8. Fazer o algoritmo e o programa Pascal que calcule e exiba a rea de um tringulo.
9. Fazer o algoritmo que calcule e exiba a rea de um quadrado.
10. Fazer o algoritmo que calcule e exiba a rea de um crculo.
11. Fazer o algoritmo que calcule e exiba a rea de um trapzio.
12. Fazer o algoritmo que calcule e exiba a rea de um retngulo.
13. Fazer o algoritmo que calcule e exiba a rea de um losango.
14. Fazer o algoritmo que leia o salrio de um funcionrio, calcule e exiba o valor do imposto
de renda a ser pago, sabendo-se que o imposto equivale a 5% do salrio.
15. Fazer o algoritmo que leia o salrio de um funcionrio, calcule e exiba o novo salrio,
sabendo-se que este sofreu um aumento de 25%.
16. Sabe-se que o quilowatt de energia custa um quinto do salrio mnimo. Fazer o algoritmo
que leia o valor do salrio mnimo e a quantidade de quilowatts gasta por residncia.
Calcule e exiba:









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 25/76
a) valor, em reais, de cada quilowatt;
b) valor, em reais, a ser pago por essa residncia;
c) novo valor a ser pago por essa residncia, a partir de um desconto de 15%.
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









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 26/76










Programao
condicional ou desvios
condicionais


A partir daqui voc ver algoritmos que
trabalharo com situaes de desvios
condicionais, tomadas de decises
















Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 27/76
Operadores Relacionais


Operador Resultado
= Igual a
Verdadeiro se os dois operandos para o operador forem
iguais. Falso em caso contrrio.
<> Diferente de
Verdadeiro se os dois operandos para o operador forem
diferentes.Falso em caso contrrio.
< Menor que
Verdadeiro se o operando esquerda do operador for menor
que o operando direita. Falso em caso contrrio.
<= Menor ou igual a
Verdadeiro se o operando esquerda do operador for menor
ou igual o operando direita. Falso em caso contrrio
> Maior que
Verdadeiro se o operando esquerda do operador for maior
do que o operando direita. Falso em caso contrrio.
>= Maior ou Igual a
Verdadeiro se o operando esquerda do operador for maior
ou igual que o operando direita. Falso em caso contrrio.


Estes operadores so fundamentais para que se possa comparar situaes e
tomar decises. Dessa forma, a partir da compreenso das funcionalidades desses
operadores possvel comear a utilizar um recurso muito importante em
programao: os desvios condicionais, que so um tipo de Estrutura de Controle.
Os desvios condicionais podem ser simples, compostos ou encadeados,
conforme ser visto a seguir.


Desvio Condicional Simples ( se ... ento )


O Desvio Condicional Simples testa uma determinada condio atravs do comando
SE e dos operadores relacionais. Caso a resposta condio seja VERDADEIRA, o
programa sair pelo (ENTO), executando a linha de instrues, ou bloco de instrues,
que vem logo a seguir (ao ENTO). Caso a resposta para a condio seja FALSA, o
programa pular a linha de instrues, ou bloco de instrues, que pertencem ao ENTO e
continuar sua execuo aps os mesmos.
O Fluxograma (Diagrama de Blocos) pode tornar-se bem mais simplificado usando-
se o mtodo de Deciso Composta ou seja, Desvio Condicional Composto. Este
procedimento ser visto no prximo tpico.
Procure codificar os programas sempre utilizando a endentao (disposio das
linhas com recuos diferentes) pois esta tcnica facilita a depurao de eventuais erros de
codificao e de lgica, alm de facilitar a visualizao e testes de mesa.

Veja a seguir um exemplo de desvio condicional simples: Leia 2 nmeros
inteiros, determinar e exibir o maior deles.










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 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
Fim_se

Se (N2 > N1) ento
Escreva O maior o N2: , N2
Fim_se

Se (N1 = N2) ento
Escreva Os nmeros so iguais
Fim_se
Fim











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 29/76
Desvio Condicional Composto ( Se ... Ento ... Seno )

O Desvio Condicional Composto testa uma determinada condio atravs do
comando (SE) e dos operadores relacionais.

Caso a resposta condio proposta seja VERDADEIRO, o programa sair pelo
(ENTO), executando a linha de instrues, ou bloco de instrues, que vem logo a seguir.

Caso a resposta para a condio seja FALSA, o programa sair pelo (SENO) e
executar a linha de instruo, ou bloco de instrues, que vem logo a seguir (ao SENO).

Aps ter executado as instrues do ENTO ou do SENO, o programa continuar
sua execuo na linha seguinte aos mesmos.




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













Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 30/76
Outro exemplo: faa o algoritmo para Ler 2 nmeros inteiros, efetuar e exibir a SOMA dos
mesmos, obedecendo aos critrios:

a) se a SOMA for maior ou igual a 10, ento ao valor da SOMA ser adicionado 5;
b) caso contrrio, do valor da SOMA ser subtrado o valor 7.





Proposta: Faa o portugol para o exerccio









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 31/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
Desvio Condicional Encadeado
Existem situaes em que necessitamos fazer teste de uma condio dentro de outra,
isto , se uma determinada condio for satisfeita ento ser feito uma segundo teste, um
terceiro, etc... Nesses casos utilizamos o Desvio Condicional Encadeado (ou SEs
encadeados, ou Ninho de SEs).
No primeiro modelo, se a condio1 for satisfeita, ser executada a linha depois do
primeiro ENTO e o programa continuar. Seno, ser testada uma segunda condio,
depois do primeiro SENO. Se a segunda condio for satisfeita, ser executada a linha
depois do segundo ENTO e o programa continuar. Se a segunda condio tambm no
for satisfeita, ser executada a linha depois do segundo SENO e o programa continuar.













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).









Observaes:
A utilizao de blocos de instrues feita como explicado anteriormente;
Se (condio1) Ento

Se (condio2) Ento
<instrues para condies 1 e 2 verdadeiras>
Seno
<instrues para condio1 verdadeira e condio2 falsa>
Fim_se
Seno
<instrues para condio1 falsa>
Fim_se

Neste caso a condio2 nem ser analisada.









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 32/76
Em uma srie de comandos SE aninhados, a clusula SENO est ligada ao SE
mais prximo no aninhamento. Podemos utilizar vrios SE aninhados, combinando os
formatos descritos.

Veja o exemplo a seguir:














Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 33/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
Se (N1 = N2) ento
Escreva Os nmeros so iguais
Seno
Escreva O maior o N2: , N2
Fim_se
Fim_se
Fim



Outro exemplo: ler 2 nmeros inteiros e mostr-los em
ordem crescente. Se os nmeros lidos forem iguais,
mostrar uma mensagem OS NMEROS SO
IGUAIS.



















Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 34/76































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.
Os
nmeros
so Iguais
V F
Inicio
Leia
A , B
Fim

A = B

A , , B

A < B
V F

B , , A

A , , B









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 35/76















































Os
nmeros
so
V F
Inicio
Leia
A , B
Fim

A = B

A , ,
B

A > B
V F

X B

B A

A X









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 36/76
Programa ORDENA2;
Var
A, B, X: Inteiro
Incio
Leia A
Leia B
Se (A = B) Ento
Escreva Os nmeros so iguais:
Seno
Se (A > B) Ento
X B
B A
A X
Fim_se
Fim_se
Escreva A , , B
Fim.

Foi empregada acima outra forma de ordenao: mtodo de
substituio de valores. Precisamos de uma varivel auxiliar
(geralmente X ou AUX), que armazena temporariamente os
valores trocados, para o sucesso da ordenao


Teste de Mesa: teste do programa

O Teste de Mesa consiste em adotarmos valores fictcios para as variveis do programa, como se
tivessem sido digitadas, verificando passo a passo o funcionamento do mesmo. Devemos analisar
todas as situaes possveis, para eliminarmos eventuais erros de lgica.

Se adotarmos os valores para o ltimo programa codificado: A = 15 e B = 7

1. Os nmeros no so iguais, portanto iremos testar se A > B;

2. A maior que B, ento:
X = A (ou seja, X passa a ter o valor 15);

A = B (ou seja, A passa a ter o valor 7);

B = X (ou seja, B passa a ter o valor 15).










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 37/76
3. Assim, logo aps a ordenao, os valores sero: A = 7 e B = 15

4. Os valores so exibidos em ordem crescente.

Notas:

a) Quando A for menor que B, os valores sero apresentados de acordo com a sua ordem natural
de entrada, pois A no ser > que B.
b) Quando A e B forem iguais, ser exibida a mensagem Os nmeros so iguais.


Operadores Lgicos (E, OU e NO)

Operador E
Faz com que somente seja executada uma determinada operao se todas as
condies mencionadas forem simultaneamente verdadeiras.

Ler um nmero inteiro e informar se o mesmo est entre 20 e 90 ou no.



















V F
Inicio
Leia
NUM
Fim
NUM >= 20
E
NUM <= 90
O nmero
est fora da
faixa de 20 a
90

O nmero
est na faixa
de 20 a 90









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 38/76
Programa TESTA_LOGICA_E
Var
NUM : Inteiro
Inicio
Leia NUM
Se (NUM >= 20 .E. NUM <= 90) Ento
Escreva O nmero est na faixa de 20 a 90
Seno
Escreva O nmero est fora da faixa de 20 a 90
Fim_se
Fim.

Operador OU
Utilizado quando pelo menos um dos relacionamentos lgicos de uma condio necessita
ser verdadeiro.
Ex.: Solicitar a digitao do sexo de uma pessoa e informar se o mesmo existe ou no.





















V F
Inicio
Leia
INF
Fim
INF = M
OU
INF = F

Sexo invlido



Sexo vlido









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 39/76
Program TESTA_LOGICA_OU
Var
INF : caractere
Inicio
Leia INF
Se (INF = M .OU. INF = F ) Ento
Escreva Sexo vlido
Seno
Escreva Sexo invlido
Fim_se
Fim.

Operador NO
Utilizado quando se necessita estabelecer que uma determinada condio deve ser
no verdadeira ou deve ser no falsa. Inverte o estado lgico de uma condio.

Solicitar a digitao da mdia de um estudante e verificar: se a mdia no for maior que 5
informar que o mesmo dever fazer exame, seno informar que est aprovado.











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 40/76

Programa TESTA_LOGICA_NO
Var
M : Real
Inicio
Leia M
Se NO(M > 5) Ento
Escreva Exame
Seno
Escreva Aprovado
Fim_se
Fim.











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 41/76
Exerccios - Programas Condicionais
1. Fazer o algoritmo que leia dois nmeros inteiros distintos e mostrem o maior deles.
2. Fazer o algoritmo que leia dois nmeros inteiros distintos e mostrem o menor deles.
3. Fazer o algoritmo que leia dois nmeros inteiros e mostrem o maior deles. Se os
nmeros lidos forem iguais, devero mostrar a mensagem: Os nmeros digitados so
iguais.
4. Fazer o algoritmo que leia dois nmeros inteiros e mostrem o menor deles. Se os
nmeros lidos forem iguais, devero mostrar a mensagem: Os nmeros digitados so
iguais".
5. Fazer o algoritmo que leia os quocientes de uma equao do 1 grau, calculem e
mostrem a sua raiz. Obs: equao do 1 grau ax + b (a = 0).
6. Fazer o algoritmo que leia os quocientes de uma equao do 2 grau, calculem e
mostrem as suas razes. Obs: equao do 2 grau ax
2
+ bx + c (a = 0). Se o Delta for
menor que zero devero informar que no existem razes reais.
7. Fazer o algoritmo que leia trs valores. Verificar se eles podem ser lados de um tringulo
(um lado no pode ser maior que a soma dos outros dois). Em caso afirmativo, informar
qual o tipo de tringulo formado escaleno (quando possui todos os lados diferentes),
eqiltero (todos os lados iguais) ou issceles (dois lados iguais e um diferente)]. Caso
no formem um tringulo, informar com a mensagem No formam um tringulo.
8. Fazer o algoritmo que leia as duas notas de um aluno e calculem a mdia aritmtica. Se
a mdia for maior ou igual a 7,0 o aluno est aprovado. Se a mdia for menor do que 4,0
o aluno est reprovado. Se o aluno estiver no intervalo de 4,0 a 7,0, ele estar de
exame. Informar a mdia e a situao do aluno aps os clculos.
9. Fazer o algoritmo e o programa Pascal que efetuem o clculo do reajuste de salrio de
um funcionrio. Considere que o funcionrio dever receber um reajuste de 15% caso o
seu salrio seja menor que 500,00. Se o salrio for maior ou igual a 500,00 mas menor
ou igual a 1000,00, o reajuste ser de 10%. Caso o salrio seja maior que 1000,00, o
reajuste ser de 5%. Informar no final o novo salrio.

10. Fazer o algoritmo que leia trs nmeros inteiros distintos e exibam o menor deles.
11. Fazer o algoritmo que leia trs nmeros reais distintos e exibam-nos em ordem
crescente.
12. Fazer o algoritmo que leia trs nmeros inteiros distintos e exibam o maior deles.
13. Fazer o algoritmo que leia trs nmeros inteiros distintos e exibam-nos em ordem
decrescente.
14. Fazer o algoritmo que leia quatro notas de um aluno, calculem e exibam a mdia
aritmtica das notas e a mensagem aprovado, para mdia superior ou igual a 7,0, ou a
mensagem reprovado, para mdia inferior a 7,0.
15. Fazer o algoritmo que leia a idade de uma pessoa e exibam uma mensagem de
maioridade ou no.
16. Fazer o algoritmo que leia dois nmeros inteiros distintos e exibam o menor deles.









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 42/76
17. Fazer o algoritmo que leia trs notas de um aluno. Calculem e exibam a mdia aritmtica
entre essas trs notas e uma das mensagens da tabela abaixo:
Mdia Mensagem
0 , 5 reprovado
5 , 7 exame
7 ,, 10 aprovado
inclusive exclusive

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
8.0 ,, 10.0 A
7.0 , 8.0 B
6.0 , 7.0 C
5.0 , 6.0 D
< 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 Classificao
0 a 2 anos Recm-nascido
3 a 11 anos Criana
12 a 19 anos Adolescente
20 a 60 anos Adulto
acima de 60 anos Idoso

20. Fazer o algoritmo que leia o cdigo correspondente ao cargo de um funcionrio e
exibam o seu cargo e o percentual de aumento ao qual este funcionrio tem direito,
segundo a tabela abaixo:

Cdigo Cargo Percentual
1 Escriturrio 50%
2 Secretria 35%
3 Caixa 20%
4 Gerente 10%
5 Diretor 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









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 43/76
definidos trs grupos de risco. A tabela a seguir fornece as categorias, em funo da
faixa de idade e do grupo de risco:

Grupo de Risco
Idade
baixo mdio alto
18 a 24 7 8 9
25 a 40 4 5 6
41 a 70 1 2 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 Quadrante
0 , 90 1 quadrante
90 , 180 2 quadrante
180 , 270 3 quadrante
270 ,, 360 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
1800 , 2400 400
1200 , 1800 300
600 , 1200 200
<= 600 100
inclusive exclusive

Fazer o algoritmo que leia o nmero de horas-extras e o nmero de horas-faltas de um
funcionrio, em minutos. Em funo desses valores, devero exibir o nmero de horas-
extras e o nmero de horas-faltas, em horas, e o valor do prmio.











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 44/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.









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 45/76

Conforme foi dito anteriormente, uma estrutura de seleo permite a escolha de um conjunto de
aes e/ou estruturas que sero executadas a partir do resultado de uma condio (simples,
composta ou encadeada), representada por uma expresso lgica. Vale a pena explorar um
pouco mais um tipo em particular, de estruturas de deciso.


Como tambm foi citado anteriormente,
necessrio o uso dos Operadores relacionais,
para serem estabelecidas comparaes e/ou
testes lgicos:


Exemplo de aplicao de operadores relacionais
tabela verdade: Tendo duas variveis A = 5 e B
= 3, os resultados das expresses seriam:

Alm dos operadores relacionais, ao lado,
possvel combinar as decises com outros
operadores: os lgicos.




Exemplo de aplicao de operadores lgicos
tabela verdade mostrada abaixo


Exemplo de aplicao de operadores lgicos tabela verdade:












Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 46/76

Estrutura de deciso simples:

Faa um algoritmo que leia dois valores numricos, efetue a adio e apresente o seu resultado,
somente se o valor somado for maior que 10.

INCIO
A, B, C
"Digite o 1
valor: "
A
"Digite o 2
valor: "
B
X A + B
X > 10
X
FIM
N S



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
X A + B
Se (X > 10) ento
Escreva X
Fim_se
Fim.




















Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 47/76
Estrutura de deciso composta:





Se (condio) ento
Instrues para condio seja verdadeira
Seno
Instrues para a condio seja falsa
Fim_se

Se (sexo = M) ento
Escreva Masculino
Seno
Escreva Feminino
Fim_se

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: "
A
"Digite o 2
valor: "
B
X A + B
X >= 10
N S
R X + 5 R X - 5
"Resultado
= ", R


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
X A + B
Se (X >= 10) ento
R X + 5
Seno
R X - 5
Fim_se
Escreva Resultado = , R
Fim.













Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 48/76



Outro exerccio: Verificar uma varivel Sexo digitada

Estrutura de deciso encadeada (Ses aninhados):

Nestas estruturas de deciso tem-se uma ou mais decises que esto subordinadas a uma primeira.
Dessa forma, no exemplo abaixo, a segunda condio ser testada apenas se a primeira condio
for verdadeira.










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 49/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:










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 50/76



INCIO
N1, N2, MED
"Digite 1
nota: "
N1
"Digite 2
nota: "
N2
MED
(N1+N2)/2
MED >= 7
FIM
N S
"Aprovado" MED< 4
N S
"Reprovado" "Exame"




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.




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:









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 51/76




INCIO
SAL,
NOVO_SAL
"Salario
Atual: "
SAL
SAL < =
500
N S
SAL < =
1000
N S
NOVO_SAL
SAL * 1.15
NOVO_SAL
SAL * 1.05
NOVO_SAL
SAL * 1.10
FIM
"Novo
Salario: ",
NOVO_SAL


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.

















Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 52/76
A seguir, um algoritmo que mostra a soluo de um problema de
verificao de SEXO com estrutura encadeada, com 3 possibilidades:











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 53/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:













Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 54/76
2) Uma Universidade tem problemas com arredondamento das mdias dos alunos, pois
cada professor estipula um critrio de arredondamento. Devemos elaborar um algoritmo,
para a secretaria da Universidade, resolvendo esse problema. O programa deve solicitar
uma nota e fazer o devido ao arredondamento. Regras:
Notas que ultrapassem 0,5 de resto sero arredondas para CIMA. Ex: 4,6 5,0
Notas que abaixo ou igual a 0,5 de resto sero arredondas para BAIXO. Ex: 4,5 4,0


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
3 anos e, freqentemente, precisa consultar a lista. Escreva um algoritmo que, dada a
idade de uma criana de 1 a 3 anos, mostre na tela os pesos provveis para meninos e
meninas da mesma idade, seguindo a tabela:

dade Meninos Meninas
1 ano De 8.5 kg a 12.5kg De 7.5kg a 11.5kg
2 anos De 10.1 kg a 15.2kg De 9.8kg a 14.5kg
3 anos De 11.7 kg a 18 kg De 11.4kg a 17.950kg
Exemplo:


5) Desenvolva um algoritmo que atenda seguinte necessidade: uma cooperativa de leite
paga, a cada um de seus produtores cooperados, por volume de leite entregue
diariamente. Devido grande quantidade de fraudes (adicionamento de gua ao leite,
por exemplo) e erros na leitura do volume dos tarros de leite, a cooperativa comear a
pag-los por massa. Para isso comprou uma balana e um densmetro e necessitar de
um programa para clculo. Na balana sero jogados e misturados os contedos de
todos os tarros de leite de um determinado produtor. A balana informar a massa e o
densmetro a densidade. O programa receber, via teclado, esses dois dados mais o
preo por kg de leite vigente naquele dia. Aps isto, o programa dever apresentar em
tela:

1)Os valores digitados;
2)O volume de leite calculado (volume = massa / densidade);
3)O valor em Reais a ser pago a aquele cooperado;
4)Classificar o leite do cooperado dentro de uma das 3 faixas de densidade
existentes:
Escolha uma idade de 1 a 3 anos: 2
Pesos Provveis: Meninos Pesos Provveis: Meninas
De 10.1 kg a 15.2kg De 9.8kg a 14.5kg









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 55/76

- Categoria I (abaixo de 1,14 kg/l);
- Categoria II (entre 1,14 e 1,20 kg/l);
- Categoria III (acima de 1,20 kg/l);

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) A > 0 e B > 0 e C > 0
2) A < B + C e B < A + C e C < A + B
3) A = B e A = C Tringulo Equiltero
4) A = B ou A = C ou B = C Tringulo Issceles
5) A <> B e A <> C e B <> C Tringulo Escaleno



Para uma reflexo...sempre Antes dos estudos...

O Bambu Chins (Autor desconhecido)
Depois de plantada a semente do bambu, no se v nada por aproximadamente 5 anos,
exceto um lento desabrochar de um diminuto broto a partir do bulbo.
Durante 5 anos, todo o crescimento subterrneo, invisvel a olho nu, mas uma macia
e fibrosa estrutura de raiz que se estende vertical e horizontalmente pela terra est
sendo construda.
Ento, no final do 5 ano, o bambu chins cresce at atingir a altura de 25 metros.
O escritor Stephen Covey escreveu: "Muitas coisas na vida pessoal e profissional so
iguais ao bambu chins. Voc trabalha, investe tempo, esforo, faz tudo o que pode
para nutrir seu crescimento, e s vezes no v nada por semanas, meses ou anos. Mas
se tiver pacincia para continuar trabalhando, persistindo e nutrindo, o seu 5. ano
chegar, e com ele viro um crescimento e mudanas que voc jamais esperava..."
O bambu chins nos ensina que a persistncia e a pacincia so os
caminhos para alcanarmos nossos sonhos e que preciso muita fibra para
chegar s alturas, e ao mesmo tempo, muita humildade e flexibilidade
para se curvar ao cho.


Bons estudos











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 56/76












Estruturas de Controle
Laos de Repetio





































Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 57/76

Estruturas de Controle: estrutura de seleo (Escolha/caso)

- O escolha/caso um comando de tomada de deciso.

- 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 pr-
estabelecidos


Usando a estrutura de deciso (se/seno)
SEXO = M
Masculino
S
N
SEXO
SEXO = m
Masculino
SEXO = F
Feminino
SEXO = f
Feminino
Sexo
Invlido
S
S
S
N
N
N



...
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
...










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 58/76





Usando a estrutura de seleo (escolha/caso)






...
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
...

Usando a estrutura de seleo (escolha/caso)









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 59/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
...

Estruturas de Controle: Teste lgico no incio do looping (Enquanto)

uma estrutura que repete um processamento durante um certo nmero de vezes. Caracteriza-se
por repetir a execuo do trecho de instrues subordinado a esse looping enquanto obedecida a
condio de controle.






Enquanto (<condio>) faa
<instrues executadas enquanto a condio verdadeira>
<demais instrues e procedimentos>
Fim_enquanto






CONDIO
INSTRUES
EXECUTADAS
ENQUANTO A
CONDIO
VERDADEIRA
DEMAIS
INSTRUES
E PROCEDI-
MENTOS
N
S









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 60/76

Ex: Faa um algoritmo que leia cinco nmeros, multiplique-os por trs e exiba-os:




Programa Numeros
Var
I, N, R: inteiro
Incio
I 1
Enquanto (I< = 5) faa
Leia N
R N * 3
Escreva R
I I + 1
Fim_enquanto
Fim.




Ex: Faa um algoritmo que leia N nmeros quaisquer, enquanto o usurio desejar,
multiplique-os por trs e exiba-os:











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 61/76



Programa Numeros2
Var
N, R: inteiro
RESP: caractere
Incio
RESP S
Enquanto (RESP = S ou RESP = s)
faa
Leia N
R N * 3
Escreva R
Escreva Deseja Continuar?
Leia RESP
Fim_enquanto
Fim.
















Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 62/76
Ex.: Faa um algoritmo que escreva os valores pares existentes de 1 a 100:
Inicio
CONT
CONT 1
CONT <=
100
CONT
MOD 2 = 0
CONT,
eh par
CONT CONT + 1
Fim
S
S
N
N




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.










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 63/76

Veja dois exerccios aplicando o conceito de repetio:


1) Faa um algoritmo que calcule o
fatorial de um nmero N.

0! = 1
1! = 1
N! = N * N-1 * ...
Exemplo: 3! = 3 * 2 * 1 6


2) Receber notas de N alunos e no
final mostrar:
- A menor nota
- A maior nota e
- A nota mdia










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 64/76



Programa Fatorial_de_N
Var
FAT, CONT, N: inteiro
RESP: caractere
Incio
RESP S
Enquanto (RESP = S ou RESP = s)
faa
FAT 1
CONT 1
Escreva Informe o n para calcular:

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 N FAT FAT = FAT * CONT
1 3 1 1 * 1 1
2 3 1 1 * 2 2
3 3 2 2 * 3 6
4 3 6 ----











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 65/76


Programa Maior_Menor_Nota
Var
NT, ME, MA, MED: real
N, I: inteiro
RESP: caractere
Inicio
RESP S
Enquanto (RESP=S ou RESP=s) faa
ME 0
MA 0
MED 0
I 1
Escreva Digite o numero de alunos:
Leia N
Faa
Escreva Digite a, I, nota:
Leia NT
Se (I = 1) ento
ME NT
MA NT
Seno
Se (NT < ME) ento
ME NT
Fim_se
Se (NT > MA) ento
MA NT
Fim_se
Fim_se
MED MED + NT
I I + 1
Enquanto (I <= N)
MED MED/N
Escreva Menor nota: , ME
Escreva Maior nota: , MA
Escreva Mdia.......: , MED
Escreva Digite S para continuar:
Leia RESP
Fim_enquanto
Fim












Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 66/76

Desenvolva o portugol referente ao diagrama acima

Exerccios Propostos:

6) Faa um algoritmo que calcule o resultado de S na srie dada abaixo. O
usurio deve informar, via teclado, o nmero inteiro que representa o valor
de n:



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









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 67/76

Estruturas de controle

Estruturas de repetio/laos de repetio (faa-enquanto)

- Idem estrutura enquanto/faa

- A diferena est no controle da repetio que ocorre no final

- As instrues sero executadas pelo menos uma vez



INSTRUO1
INSTRUO2
CONDIO
N
INSTRUO3
S



Faa
Instruo1
Instruo2
Enquanto (condio)
Instru3

do
{
Instruo1;
Instruo2;
} while(condio);


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:









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 68/76



Programa Fatorial_de_N
Var
FAT, CONT: inteiro
RESP: caractere
Incio
RESP S
Enquanto (RESP = S ou RESP = s) faa
FAT 1
CONT 1
Escreva Informe o n para calcular:
Leia N
Faa
FAT FAT * CONT
CONT CONT + 1
Enquanto (CONT <= N)
Escreva Fatoria de , N, = , FAT
Escreva Deseja Continuar?
Leia RESP
Fim_enquanto
Fim.










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 69/76


Exerccios Propostos:

1) Faa um algoritmo para calcular e exibir o resultado de S na srie:

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

3) calcular o MMC entre trs nmeros.

Exemplo: MMC entre 2, 3 e 4

2, 3, 4 2
1, 3, 2 2
1, 3, 1 3
1, 1, 1 MMC = 12























Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 70/76

Relembrando: nas pginas anteriores, foram estudadas as estruturas de
controle Enquanto e Faa/enquanto nas memrias de aulas anteriores

Teste lgico no incio do looping (Enquanto)

uma estrutura que repete um processamento durante um certo nmero de vezes. Caracteriza-se
por repetir a execuo do trecho de instrues subordinado a esse looping enquanto obedecida a
condio de controle.






Enquanto (<condio>) faa
<instrues executadas enquanto a condio verdadeira>
<demais instrues e procedimentos>
Fim_enquanto







Teste lgico no fim do looping (faa-enquanto)

- Idem estrutura enquanto/faa
- A diferena est no controle da repetio que ocorre no final
- As instrues sero executadas pelo menos uma vez
CONDIO
INSTRUES
EXECUTADAS
ENQUANTO A
CONDIO
VERDADEIRA
DEMAIS
INSTRUES
E PROCEDI-
MENTOS
N
S









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 71/76



Faa
Instruo1
Instruo2
Enquanto (condio)
Instru3

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.


Agora veremos a ltima estrutura de controle que o lao PARA

- Tem a mesma finalidade das estruturas anteriores, ou seja,
processar instrues por n vezes de acordo com o desejo do
programador

- A varivel de controle possui previamente os valores de incio e
fim.










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 72/76

...
Incio
...
Para X de 1 at 10 passo 1 faa
Instruo 1
Instruo 2
Fim_para
...
Fim



Na linguagem C:


for (x=1; x<=10; x++)
{
Instruo1;
Instruo 2;
}

Onde: X varivel de controle
1 valor inicial da varivel X
10 valor final da varivel X
1 passo/salto/variao/incremento de X

Ex.: mostrar todos os valores de 1 a 1250:











Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 73/76
VAL
1, 1250, 1
INCIO
FIM
VAL
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);



Ex.: mostrar todos os valores de 1 a 1250 que sejam mltiplos de 7:









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 74/76
VAL
1, 1250, 1
INCIO
FIM
VAL
VAL,
multiplo
de 7
VAL mod 7 = 0
N
S

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(....);


Prximo exerccio:

Calcular o fatorial de um nmero N
qualquer:










Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 75/76

Programa Fatorial_N
Var
RESP, N, FAT, VAL: inteiro
Inicio
RESP 1
Enquanto (RESP = 1) faa
FAT 1
Escreva Numero para calculo:
Leia N
Para VAL de 1 at N passo 1 faa
FAT FAT * VAL
Fim_para
Escreva Fatorial de , N, = , FAT
Escreva Digite [1] para continuar:
Leia RESP
Fim_enquanto
Fim


Exerccio: Definir a seqncia
de Fibonacci para os N termos
abaixo:

1,1,2,3,5,8,13,...N









Curso Programador de Sistemas
Prof. Me. Francisco Verssimo Luciano 76/76
Exerccios Propostos faa-os usando o lao PARA:
1) Faa um algoritmo para calcular e exibir o resultado de S na srie:
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
3) calcular o MMC entre trs nmeros. Exemplo: MMC entre 2, 3 e 4
2, 3, 4 2
1, 3, 2 2
1, 3, 1 3
1, 1, 1 MMC = 12
4) Faa um algoritmo que receba um numero qualquer como base e
o ensimo expoente faa os clculos. Veja exemplo:
Nmero = 5 e expoente = 3
5
0
= 1
5
1
= 5
5
2
= 25
5
3
= 125
5) Desenvolva um algoritmo que receba dados para uma pesquisa
entre N alunos, para verificar acessos a redes de relacionamentos:
1 Orkut
2 twitter
3 facebook
4 outros
Para encerrar deve ser digitado 0 (zero) e no final devem ser
mostrados:
Rede N de alunos %
-------------------------------------------------------
Orkut
Twitter
Facebook
Outros
-------------------------------------------------------
Totais 100

Potrebbero piacerti anche