Anda di halaman 1dari 121

APOSTILA DE INTRODUO PROGRAMAO

1.Conceitos Bsicos
O ser humano desde o inicio de sua existncia tem procurado meios para solucionar
seus problemas. Com a evoluo da espcie ele foi criando recursos, ferramentas e
mquinas para ajud-lo. A revoluo industrial foi o estopim para que a tecnologia
comeasse a avanar e nos dias de hoje o computador uma das ferramentas mais
utilizadas. Na maior parte das profisses o encontramos auxiliando nas tarefas mais
simples at as mais complexas.
Para muitos ainda, os computadores so seres abstratos, muitos acreditam que os
eles fazem tudo sozinhos, mas sabemos que isso no uma verdade. O computador
s executa o que programamos. justamente neste ponto que entramos. Como
fazer programas de computadores? Muitos de vocs conhecem o computador como
usurios e talvez nem saibam como desenvolver um programa. isso que iremos
aprender! Fazer um programa! Mas o que um programa? Voc deve estar se
perguntando!
Um programa a codificao de em portugol em uma determinada linguagem de
programao, Ascencio, (1999).

Alguns de meus alunos acham que programar sentar em frente ao micro e sair
digitando cdigos de programao. Essa maneira de pensar errnea, o bom
raciocnio lgico revela o bom programador.
Nosso raciocnio vai influenciar diretamente a lgica de programao. Para isso,
temos algumas formas de representao da Lgica, que veremos adiante.

Programas
Os programas de computadores nada mais so do que algoritmos escritos numa
linguagem de computador, voc j deve ter ouvido falar em algumas linguagens de
programao, tais como Java, C, C++, (Pascal Delphi) Essas linguagens so
interpretados e executados por uma mquina, no caso um computador.

APOSTILA DE INTRODUO PROGRAMAO

Representao da lgica.
Acima falamos que para desenvolver um programa preciso ter um bom raciocino
lgico, para representarmos est lgica utilizamos as simbologias dos algoritmos. Na
linguagem computacional temos trs tipos de algoritmos mais utilizados, so eles:
descrio

narrativa,

fluxograma

pseudocdigo

ou

portugol,

que

descreveremos a seguir.

Abaixo temos algumas definies sobre algoritmos:


Algoritmo a descrio de uma sequncia de passos que deve ser seguida para a
realizao de uma tarefa ,[Ascencio, 1999].
Algoritmo uma sequncia finita de instrues ou operaes cuja execuo, em
tempo finito, resolve um problema computacional, qualquer que seja sua instncia,
(Salvetti, 1999).

Regras para construo do Algoritmo


As regras para escrever um algoritmo no so complexas, basta ser simples e
objetiva. Para isso descreva a sequncia de instrues seguindo as dicas abaixo:

Use um verbo por frase, seja objetivo.

O teu algoritmo dever se simples o suficiente de tal maneira que uma pessoa
que no trabalha com informtica entenda.

No use frases rebuscadas e confusas, seja simples e claro no seu objetivo.

No use palavras que deixe margem de dvidas.

APOSTILA DE INTRODUO PROGRAMAO

Fases de um Algoritmo
Se no soubermos desenvolver um bom algoritmo dificilmente conseguiremos ser
um bom programador. Portanto, antes de sentarmos diante do computador para
desenvolver um programa preciso definir nossas metas.

Por isso, diante de um problema devemos agir da seguinte maneira:

1. Faa uma leitura de todo o problema at o final, a fim de formar a primeira


impresso.

A seguir, releia o problema e faa anotaes sobre os pontos

principais.
2. Verifique se o problema foi bem entendido. Questione, se preciso, ao autor da
especificao sobre suas dvidas. Releia o problema quantas vezes for preciso
para tentar entend-lo.
3. Extraia do problema todas as suas sadas.
4. Extraia do problema todas as suas entradas.
5. Identifique qual o processamento principal.
6. Verifique se ser necessrio algum valor intermedirio que auxilie a
transformao das entradas em sadas. Esta etapa pode parecer obscura no
incio, mas com certeza no desenrolar do algoritmo, estes valores aparecero
naturalmente.
7. Teste cada passo do algoritmo, com todos os seus caminhos para verificar se o
processamento est gerando os resultados esperados.
Crie valores de teste para submeter ao algoritmo.
8. Reveja o algoritmo, checando as boas normas de criao.

Agora, voc sabia que no dia-a-dia executamos vrios tipos de algoritmos? Sabe
como? Imagine a seguinte situao: O objetivo levantar s 6:00h e sair para
trabalhar.

APOSTILA DE INTRODUO PROGRAMAO


Passo1 desligar o despertador
Passo 2 levantar.
Passo 3 escovar os dentes
Passo 4- trocar de roupa
Passo 5- tomar caf
Passo 6- sair de casa.

Voc deve estar se perguntando: Mas eu no sigo esses passos!


Este pensamento faz sentido, porque muitas vezes um problema
pode ser resolvido de maneiras diferentes. Assim tambm ocorre
em programao, como veremos adiante. Um problema pode ter

Anote a:

solues diferentes.

Agora tente sozinho:

Trocar o pneu de um carro.

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Escovar os dentes.

____________________________________________________________________

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Mandar um e-mail.

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Da mesma maneira como ordenamos nossos pensamentos devemos ordenar nossa


forma de programarmos. O computador ir executar exatamente aquilo que
desenvolvermos.

Por exemplo, vamos trabalhar um exemplo simples, imagine que te peam para
somar 2 nmeros, o que voc faria? Ah, mas isso muito fcil, voc deve estar
pensando. Eu peo os dois nmeros, fao a soma e dou o resultado. Exatamente!
Essa a resposta! Portanto, temos que ficar atentos a trs passos bsicos:

APOSTILA DE INTRODUO PROGRAMAO

Figura 1 passos iniciais para a construo de algoritmo

Fazendo uma analogia com o homem tem-se:

Entrada

Processamento

Percepo
das impresses
sensorial

Sada

Saida dos
resultados

Processamento
do pensamento
Com o auxilio de
nosso pensamento,
calculamos, dividimos,
enfim, executamos
as tarefas.

figura 2- Analogia com o ser humano 1


Tenha sempre em mente:

1. Entender o problema.
2. Verificar que dados so necessrios para garantir a
resoluo de meu problema.
3. Analisar qual ser a resposta dada de acordo com o que foi

Importante:

pedido.

Fonte: http://www.inf.ufrgs.br/~binsely/logica.pdf

APOSTILA DE INTRODUO PROGRAMAO

Tipos de Algoritmos
Descrio Narrativa
A descrio narrativa consiste em entender o problema proposto e escrever sua
soluo atravs da linguagem natural, ou seja, a lngua portuguesa.

Vantagem

Desvantagem

No necessrio aprender nenhum Esta linguagem da margem para vrios


conceito

novo.

Basta

escrever

maneira como se fala.

da tipos de interpretao. Portanto, se voc


no for claro o suficiente isto poder
trazer

dificultar

transio

desse

algoritmo para a programao

Fluxograma
Atravs de um conjunto de smbolos (tabela abaixo): voc define os passos para a
soluo do problema apresentado.

Funo: Inicio e Fim do algoritmo

Funo: indica clculo e atribuies de valores

Funo: indica a entrada de dados

Funo: indica uma deciso com possibilidades de


desvios.
Funo: indica sada de dados
Funo: indica o fluxo de dados. Serve tambm para
conectar os blocos ou smbolos existentes.
Tabela 1: Smbolos utilizados no fluxograma

APOSTILA DE INTRODUO PROGRAMAO


Vantagem

Desvantagem

O entendimento bem mais simples

necessrio que se tenha conhecimento


de pseudocdigo, que veremos mais
adiante.

Pseudocdigo ou Portugol

Esta estrutura escrita em portugus, quase como se fosse em linguagem natural,


entretanto existem regras predefinidas para escrev-la. Vamos pegar o enunciado
acima, somar dois nmeros.

Programa soma_nmeros;
Variveis num1,num2,soma: inteiro;
Inicio
Imprima Digite dois nmeros
Ler num1, num2;
Soma num1+num2;
Fim.

No se preocupe agora em entender esta estrutura, mais adiante voc ver como
funciona cada uma delas. Agora, vamos a prtica!

APOSTILA DE INTRODUO PROGRAMAO

Estrutura Sequencial
um conjunto de instrues / comandos que sero executadas na ordem em que
foram escritas, ou seja, esses comandos sero executados numa sequncia linear
de cima para baixo.

Eles podem aparecer em qualquer estrutura de controle,

agrupados ou no por blocos.


comando 1;
comando 2;
incio comando 3 ...
meio comando 3 ...
fim comando 3 ;
...
comando n;

Estrutura Sequencial em algoritmos.

10 Exemplo: Suponha que algum te pea para pedir 3 notas, tirar a mdias dessas
notas e mostrar o resultado.

Pseudocdigo

Programa media_notas;

variveis n1,n2,n3,media;

Inicio

Imprima Digite trs notas

Ler n1,n2,n3;

media (n1+n2+n3) /3;

7
8

Imprima A mdia igual a: , media;


fim;

APOSTILA DE INTRODUO PROGRAMAO

Sua vez: encontre a Entrada, o Processamento e a Sada:

Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Sada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Entendendo cada linha:

Linha 1: Indica o cabealho do programa

O cabealho no algo obrigatrio, voc ira encontrar em livros autores que


escrevem ALGORITMO no lugar. Portanto, no se preocupe muito com esse
detalhe.

10

APOSTILA DE INTRODUO PROGRAMAO


Linha 2: Declarao de variveis.

Variveis
Quando somamos mentalmente trs nmeros, por exemplos, armazenamos os
valores em nossa mente. Pois bem, o computador precisa tambm armazenar esses
valores assim que o usurio digita alguma coisa. Alm disso, o computador precisa
identificar que tipo de informaes ser trabalhado. Sero nmeros, caracteres,
frases? E de que tipos sero? Nmeros reais? Inteiros?
Por analogia podemos comparar a memria do computador como uma sequncia
finita de caixas, onde cada caixa guarda um tipo de informao,.
O computador, para poder trabalhar como alguma destas informaes, precisa saber
onde, na memria, o dado est localizado.
Portanto, cada caixa ou posio de memria, possui um endereo, ou seja, um
nmero representado atravs da notao hexadecimal que indica o endereo de
memria onde est armazenada a informao.

Endereo Fsico

Informao

7000: B128

Joyce

8900: 138D

23695

2000: 0007

Sendo os endereos lgicos caixas, que num dado momento guardam algum tipo
de informao importante saber que esses dados no permanecem por muito
tempo, ou seja, no so permanentes. Vimos no exemplo acima que os dados
podem ser diversos, a caixa com o endereo 7000 : B128 recebeu o texto: Rumo ao
Hexa, mas em outro momento ele pode receber uma outra frase qualquer. Com isto
queremos dizer que o contedo destas caixas (endereos lgicos) podem mudar a
qualquer momento e sofrer alteraes em seus contedos. Da vem o nome utilizado
para esta representao: variveis, pois variam durante cada execuo do
programa. Os nomes das variveis so atribudos pelo usurio

11

APOSTILA DE INTRODUO PROGRAMAO

As variveis e as constantes podem ser basicamente de quatro tipos: Inteiro, real,


caracteres e lgicas.

TIPO

Descrio

INTEIRO:

qualquer nmero inteiro, negativo, nulo ou positivo


Ex.: -45, 1, 0, 5

REAL:

qualquer nmero real, negativo, nulo ou positivo


Ex.: -1, -0.5, 0, 7, 8.5

CARACTER:

qualquer conjunto de caracteres alfanumricos


Ex.: AB, 123, A123 , CASA

LGICO:

conjunto de valores ( FALSO ou VERDADEIRO )

Quando definimos uma varivel como sendo do tipo caracater ou string no


estamos alocando 1 posio de memria apenas ( uma caixa, pela analogia inicial ),
mas na verdade, estamos alocando at 255 caixas, uma para cada caracter da
STRING.

Obs: A string pode ter no mximo 255 caracteres

De acordo com o Exemplo acima, teramos na memria a seguinte situao:


Atribumos a varivel Nome o valor Joyce, obtendo na memria a seguinte
configurao:
Nome
1

... ...... 255

12

APOSTILA DE INTRODUO PROGRAMAO

Nome
1

255

Letra
J

Obs.:

possvel definir variveis do tipo STRING(Cadeia)

com menos de 255

caracteres. Para isto, basta colocar, aps a palavra STRING(Cadeia), o nmero de


caracteres desejados entre colchetes ( [ ] ).
Exemplo:
Programa Define

Variveis
Nome: CADEIA[80]
Inicio
Fim
Desta forma, o espao ocupado por uma varivel STRING(Cadeia) passa de
255 bytes para apenas 80 bytes, na memria.

Linha 3: Inicio do programa.


Todo programa tem que ter um inicio e um fim.

Linha 4 e 5: Informao para o usurio


O computador se comunica com o mundo exterior atravs da impressora, do
vdeo, teclado, fitas, etc. Por exemplo, quando vamos ao banco o terminal nos
oferece vrias opes, tais como: saque, depsito, extrato, entre outros. Esta
a maneira como o computador se comunica conosco. Para representarmos

13

APOSTILA DE INTRODUO PROGRAMAO


esta comunicao existem comandos especficos que nos auxiliam neste
intuito. Os comandos que iremos utilizar so o IMPRIMA e o LER,
respectivamente, comando de Sada de informaes e entrada de dados.
Abaixo tem-se a representao da sada de dados e a os dados inseridos pelo
usurio.
.
:

Digite 3 notas:
6.5
7.0
8.0

Figura 2 Ilustrao de uma sada em tela e a digitao do usurio

Linha 6: Clculo da mdia.


O smbolo conhecido como atribuio. Portanto m Nn1+n2+n3) significa
que a varivel m est recendo a soma dos valores.

Linha 7: Sada do resultado na tela.


Aps ter feito todo o processamento necessrio para resolver o problema
necessrio mostrar para o usurio a resposta de sua ao.

Linha 8: fim

Agora vamos identificar a Entrada, o Processamento e a Sada dentro do


pseudocdigo:

14

APOSTILA DE INTRODUO PROGRAMAO


1.

Programa media_notas;

2.

variveis n1,n2,n3,media;

3.

Inicio
Imprima Digite trs notas

4.
5.

Ler n1,n2,n3;

6.

media (n1+n2+n3) /3;


Imprima A mdia igual a: , media;

7.
8.

Entrada
Processamento
Sada

fim;

Fluxograma

inicio

n1,n2,n3

media n1+n2+n3

FIM

No fluxograma geralmente no declaramos variveis e tambm


nem sempre colocamos a frase que corresponde mensagem
para o usurio. A leitura dos dados j representa esta informao.

Anote a:

15

APOSTILA DE INTRODUO PROGRAMAO


2oExemplo: Faa em portugol que Ler e mostre na tela o seu nome e dias vividos.

Sua vez: encontre a Entrada, o Processamento e a Sada:

Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Sada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Pseudocdigo

1. Programa dias_vividos
2. Constante Dias 365
3. variveis nome: caractere;
a. dias_vivido, idade: inteiro;
4. Inicio
5.

Imprima Digite seu nome:

6.

Ler nome

16

APOSTILA DE INTRODUO PROGRAMAO


7.

Imprima Digite sua idade

8.

Ler idade
a. dias_viv dias *idade;

9. Imprima nome, , voc tem , dias_viv , dias vividos);


10. Fim.

Observao:
Voc deve ter notado algo diferentes acima, na linha 2, trata-se de uma
estrutura chamada Constante, nela declaramos qual varivel ter um
valor fixo que no ir se alterar durante o programa

Fluxograma
inicio

ENTRADA
nome,idade

dias_viv365*idade

dias_viv

PROCESSAMENTO

SAIDA

FIM

17

APOSTILA DE INTRODUO PROGRAMAO

30 Exemplo: Pea o salrio lquido de um funcionrio que trabalhe por hora, as


horas de trabalho, nmero de horas trabalhadas no ms, e o percentual de desconto
do INSS. O algoritmo dever mostrar o salrio bruto, o valor descontado e o valor do
salrio lquido.

Pseudocdigo:

Programa salario;
Variveis HT, VH,PD,TD,SB,SL: real;
Inicio
Imprima Digite as horas trabalhadas:
Ler HT
Imprima Digite o valor das horas trabalhadas
Ler VH;
Imprima Digite o porcentual de desconto
Ler PD;
SB HT * VH;
TD (PD/100) * SB;
SL SB-TD;
Imprima Salrio Bruto : , SB
Imprima Total de Descontos: , TD
Imprima Salrio Liquido: , SL
Fim.

18

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:

Inicio

Entrada
HT,VH,PD

SBHT*VH;
TD (PD/100) *SB
SL=SB-TD

SB
TD
SL

Processamento

Sada

FIM

Sua vez: encontre a Entrada, o Processamento e a Sada:

Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

19

APOSTILA DE INTRODUO PROGRAMAO


Sada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Voc percebeu que utilizamos alguns operadores lgicos para resolver este
exemplo. Para fazermos clculos matemticos, comparaes e expresses, temos
operadores prprios que veremos a seguir.

Tenha em mente:
Para ser um bom programador preciso exercitar muito.
Procure sempre fazer os exerccios e tentar melhor-los a
medida que voc aumenta seus conhecimentos.

Importante:
Operadores
Como citado acima, para fazermos determinados clculos matemticos usa-se uma
simbologia especfica para algoritmos e programao, denominados Operadores
Aritmticos.
Operador

Referncia do operador

Adio

Subtrao

Multiplicao

Diviso

DIV

Quociente

MOD

Resto da diviso

**

Exponenciao

20

APOSTILA DE INTRODUO PROGRAMAO

Operadores Relacionais
Operador

Referncia do operador

Igual

<>

Diferente

>=

Maior ou igual

<=

Menor ou igual

>

Maior

<

Menor

Operadores Lgicos
Operador

Referncia do operador

AND

OR

OU

NOT

NO

XOR

NO OU

Exemplo:
Operador AND:
VERDADEIRO

AND

VERDADEIRO

VERDADEIRO

VERDADEIRO

AND

FALSO

FALSO

FALSO

AND

VERDADEIRO

FALSO

FALSO

AND

FALSO

FALSO

Operador OR:
VERDADEIRO

OR

VERDADEIRO

VERDADEIRO

VERDADEIRO

OR

FALSO

VERDADEIRO

21

APOSTILA DE INTRODUO PROGRAMAO


FALSO

OR

VERDADEIRO

VERDADEIRO

FALSO

OR

FALSO

FALSO

Operador NOT:
NOT VERDADEIRO

FALSO

NOT FALSO

VERDADEIRO

Operador XOR:
VERDADEIRO

XOR

VERDADEIRO

FALSO

VERDADEIRO

XOR

FALSO

VERDADEIRO

FALSO

XOR

VERDADEIRO

VERDADEIRO

FALSO

XOR

FALSO

FALSO

PRIORIDADE NA AVALIAO DE EXPRESSES


1

Parnteses e funes (resolvidos da esquerda para a direita)

Multiplicao (*), Diviso ( / e div ) e Resto ( Mod )


(resolvidos da esquerda para a direita)

soma e subtrao

Operadores relacionais: >, <, , , =,

Operador Lgico No

Operador Lgico E

Operador Lgico Ou

22

APOSTILA DE INTRODUO PROGRAMAO

Exerccios propostos
1. Dadas s expresses abaixo mostre os resultados:
a) 3 / 5
b) 4 DIV 3
c) 4 MOD 1
d) ( 400 DIV 10 ) MOD 4
e) 7**2 + 5 *2
f) 5 *19+25
g) 6,5* 5,0 +(3*3)
h) 2/5+2.3
i) 29,0/7+4
j) 3/6,0-7

2.Qual o resultado de cada expresso abaixo:

a) 2 > 3
b) ( 6 < 8 ) OR ( 3 > 7 )
c) ((( 10 DIV 2 ) MOD 6 ) > 5 ) XOR ( 3 < ( 2 MOD 2 ) )
d) NOT ( 2 < 3 )

3. Sabendo que A=3, B=7 e C=4, informe se as expresses abaixo so verdadeiras


ou falsas.

a) (A+C) > B

( )

23

APOSTILA DE INTRODUO PROGRAMAO


b) B >= (A + 2)

( )

c) C = (B A)

( )

d) (B + A) <= C

( )

e) (C+A) > B

( )

4. Sabendo que A=5, B=4 e C=3 e D=6, informe se as expresses abaixo so


verdadeiras ou falsas.

a) (A > C) AND (C <= D)

( )

b) (A+B) > 10 OR (A+B) = (C+D) ( )


c) (A>=C) AND (D >= C)

( )

Exerccios resolvidos
1.Calcule e mostre a soma dos trs nmeros.

Pseudocdigo

Programa soma_nmeros;
variveis num1, num2, num3,soma: inteiro;
Inicio
Imprima Digite trs nmeros
Ler num1, num2, num3
soma num1+num2+ num3
Imprima soma
Fim.
Fluxograma:

24

APOSTILA DE INTRODUO PROGRAMAO

Inicio

n1,n2,n3

soma n1+n2+n3

soma

Fim

Agora com voc: Identifique a Entrada, o processamento e a sada do


algoritmo acima.

Entrada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Processamento:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Sada:
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

25

APOSTILA DE INTRODUO PROGRAMAO

2. Pea duas notas para um aluno, os pesos correspondem respectivamente a p1=6


e p2=4. Calcule e mostre a mdia ponderada dessas notas.

Programa mdia_peso
Constantes p16; p24;
variveis n1, n2, media: inteiro;
Imprima Digite 2 notas
Ler n1, n2
media (n1 * p1 + n2 * p2 ) / (p1 + p2 )
Imprima media
Fim.

Fluxograma:
Inicio

Constantes
p1=6
p2=4

n1,n2

media (n1*p1+n2*p2)/(p1+p2)

media

Fim

26

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc: Identifique a Entrada, o processamento e a


sada do algoritmo acima.
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
3. Pea o salrio de um professor, calcule e mostre o novo salrio sabendo-se que
este teve um aumento de 10%.

Pseudocdigo

Programa novo_salrio;
variveis salario, novo_sal : inteiro;
Imprima Digite o salrio
Ler salario
Novo_sal sal + (sal *10/100)
Imprima Seu novo salrio ser: , novo_sal;
Fim.

27

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:
Inicio

salario

novo_salsalario+(salario*10/100)

novo_sal

Fim

Agora com voc: Identifique a Entrada, o processamento e a


sada do algoritmo acima.
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
28

APOSTILA DE INTRODUO PROGRAMAO

4.Pea o salrio de um empregado e o percentual de desconto que ele ter que


descontar de seu salrio para pagar seu plano mdico, calcule e mostre o valor a ser
pago e o novo salrio com desconto.
Pseudocdigo

Programa plano mdico;


variaveis salario, perc, desc, novo_sal: real;
Imprima Digite seu salrio e o percentual de desconto
Ler salario, perc
desc sal * perc/100
Imprima Seu desconto ser de: , desc;
novo_sal salario - descont
Imprima novo_sal
Fim.

29

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:
Inicio

salario,perc

desc sal*perc/100

desc

novo_sal salario-desc

Fim

Agora com voc: Identifique a Entrada, o processamento e a


sada do algoritmo acima.
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada

30

APOSTILA DE INTRODUO PROGRAMAO


_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

5. Pea o salrio de um funcionrio, calcule e mostre o salrio a receber,


sabendo que este ter uma gratificao de 10% sobre seu salrio e 2% de
desconto relativo ao plano dentrio.

Pseudocdigo

Programa gratificao_imposto;
variaveis salario, sal_receber, gratif, p_dentar: real;
Imprima Digite seu salrio:
ler salario
gratif salario * 10/100
p_dentar salario * 2/100
sal_receber (salario + gratif) p_dentar;
Imprima sal_receber
Fim

31

APOSTILA DE INTRODUO PROGRAMAO


Fluxograma:
Inicio

salario

gratfsalario*10/100
p_dentsalario*2/100
sal_recebersalario+gratf-p_dent

sal_receber

fim

Agora com voc: Identifique a Entrada, o processamento e a


sada do algoritmo acima.

Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

32

APOSTILA DE INTRODUO PROGRAMAO

Exerccios propostos
Sugesto: Faa os exerccios abaixo em Portugol e fluxograma

1.Receba dois nmeros, calcule e mostre a multiplicao de um nmero pelo outro.


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

33

APOSTILA DE INTRODUO PROGRAMAO


2. Receba trs nmeros, multiplique os dois primeiros nmeros e some-os com o
terceiro nmero.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
3.Pea para o usurio dois nmeros, faa

a diviso do primeiro nmero pelo

segundo.

Obs: Sabemos que no existe diviso por zero. Mas por enquanto no
se preocupe com isso, mais adiante veremos como resolver este
problema

____________________________________________________________________
____________________________________________________________________

34

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
4.Receba trs notas de uma prova e seus respectivos pesos, calcule e mostre a
mdia ponderada .
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

35

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

5. Receba o valor das compras de um cliente em seguida d 25% de desconto.


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

36

APOSTILA DE INTRODUO PROGRAMAO


6.Os funcionrios da Empresa de Turismo Boa Viagem tero 5,5% de comisso
sobre suas vendas. Pea o salrio de um funcionrio e o valor de sua venda. Calcule
e mostre sua comisso final.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
7. Alfredo Miragaia quer saber quanto ele ir receber no final do ms. Sabe-se que:
O valor da hora trabalhada 1/3 do salrio mnimo;
O salrio bruto equivale ao nmero de horas trabalhadas multiplicado
pelo valor de horas trabalhas.
O imposto de renda equivale a 2,5% de seu salrio bruto.
Calcule e mostre o salrio a receber.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
37

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

8. Pea a idade de uma pessoa. Calcule e mostre quantos dias essa pessoa viveu.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
38

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

9. A empresa de Joselino Ferreira d um auxlio de R$ 100,00 para os funcionrios


que tenham filhos. Pea a quantidade de filhos e o salrio de um funcionrio. Calcule
e mostre o novo salrio com o respectivo auxilio recebido.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

39

APOSTILA DE INTRODUO PROGRAMAO

10. Carlos entrou no cheque especial, seu banco cobra 2,5% de juros ao ms.
Calcule e mostre os juros a pagar de acordo com o saldo de Carlos.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

40

APOSTILA DE INTRODUO PROGRAMAO

Estrutura Condicional
As estruturas Condicionais so utilizadas quando se preciso tomar decises. Por
exemplo, o exerccio acima pede para dividir um nmero pelo outro, suponha que o
usurio na hora de digitar o segundo nmero digite zero? Certamente teremos um
resultado errado, pois no existe este diviso por zero. Para solucionarmos este
problema usa-se a estrutura condicional se e seno. Esta estrutura pode ser
tambm utilizada para comparaes, como veremos nos exemplos mais adiante.

A estrutura se tem a seguinte sintaxe:


se <condio> ento
comando 1.....
seno <condio>
comando 1

Caso a condio se tenha mais de uma condio preciso colocar inicio e fim, o
mesmo vale para o seno, veja abaixo:
se <condio> ento
inicio
comando 1.....
comando 2.....
fim
seno <condio> ento
inicio
comando 1....
comando 2.....
comando 3.....
fim.

Tem-se ainda a Estrutura Condicional Se encadeada, veja sua sintaxe:


41

APOSTILA DE INTRODUO PROGRAMAO

se <condio> ento
inicio

se (X Y) ento
se (X>Y) ento

se <condio> ento
comandos....

Maior X
senao

seno
comandos
fim do se
seno
comandos

10 Exemplo
Pea dois nmeros, calcule e mostre a diviso do primeiro pelo segundo

Pseudocdigo

Programa diviso
Variveis n1,n2,divi : inteiros
Inicio
Imprima Digite dois nmeros
Ler n1,n2
se n2 =0 ento //Caso a condio n2=0 for verdadeira (V) teremos:
Imprima ERRO: No h diviso por zero
seno // caso contrrio, ou seja, se n2 0 (F) teremos:
divi=n1/n2

42

APOSTILA DE INTRODUO PROGRAMAO


Imprima Resultado: , divi
Fim.

Obs: Representaremos os comentrio nos algoritmos por //

Fluxograma:
Inicio

n1,n2

n2=0

ERRO: No h
diviso por
zero
divi n1/n2

resultado

fim

43

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc: Identifique a Entrada, o processamento e a


sada do algoritmo acima.

Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

44

APOSTILA DE INTRODUO PROGRAMAO

20 Exemplo
Pea 3 notas de um aluno, calcule e mostre o resultado, caso o aluno tire maior ou
igual a 7 exiba que ele estar aprovado, caso contrrio reprovado.

Pseudocdigo

1. Programa media_notas;
2. variveis n1,n2,n3,media;
3. Inicio
4.

Imprima Digite trs notas

5.

Ler n1,n2,n3;

6.

media (n1+n2+n3) /3;

7.

Imprima A mdia igual a: , media;

8.
9.
10.
11.
12. fim;

se mdia >= 7 entao


Imprima APROVADO

Condio: mdia>=7

seno
Imprima REPROVADO

A estrutura seno
identifica quando a
condio mdia>=7 no
verdadeira

45

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:

inicio

n1,n2,n3

media n1+n2+n3

media >=7

REPROVADO

APROVADO

FIM

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
46

APOSTILA DE INTRODUO PROGRAMAO


_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

30 exemplo
Pea o salrio de um funcionrio, caso a pessoa ganhe um salrio inferior a R$
500,00 d um aumento de 15% caso contrrio exiba a mensagem que no haver
aumento.

Programa reajuste;
Variveis sal, aum: real;
Inicio
Imprima Digite seu salrio:
Ler sal
If sal <500

Inicio da estrutura se

inicio
aum sal* 15/100
Imprima Novo salrio: , aum

Fim da estrutura se

fim
seno
Imprima Voc no tem direito a aumento
Fim.
Seguindo nossa estrutura de Entrada, Processamento e sada, temos:

47

APOSTILA DE INTRODUO PROGRAMAO

Estrutura Case
A estrutura de deciso CASO mais utilizada quando se precisa testa uma nica
expresso que produz um resultado, ou, ento, o valor de uma varivel, em que est
armazenado um determinado contedo. Compara-se, ento, o resultado obtido no
teste com os valores fornecidos em cada clusula Caso.
Sua sintaxe :

Escolha (varivel)
Caso (opo 1): Instrues;
Caso (opo 2): Instrues;

Caso (opo n): Instrues;


Fim Escolha

ou ainda

Escolha (varivel)
Caso (opo 1): Instrues;
Caso (opo 2): Instrues;
seno Instrues;
Fim Escolha

48

APOSTILA DE INTRODUO PROGRAMAO

Um exemplo prtico:
Exemplo:
Receba um nmero qualquer e d as seguintes opes:
1- Raiz quadrada
2- Quadrado
3- Cubo
Exiba o valor correspondente ao que foi solicitado

Pseudocdigo

Programa escolha_case
Variaveis numero, opo,total: inteiro
Inicio
Imprima Digite um nmero
Ler numero;
Imprima Digite sua opo: 1- Raiz Quadrada / 2 Quadrado / 3 Cubo
Ler opo
Escolha (opo)
case 1 : total

numero

case 2 : total numero*numero


case 3 : total numero*numero*numero
seno Imprima Opo Invlida
fim escolha

49

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma
Inicio

numero
opcao

opcao

Opo 1

Opo 2

total numero

Totalnumero*numero

Opo 3

Totalnumero*numero*
numero

fim

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
50

APOSTILA DE INTRODUO PROGRAMAO


_______________________________________________________________
_______________________________________________________________

No esquea de colocar inicio e fim na estrutura condicional se ou


no seno caso haja mais de um comando a ser executado.
Exemplo:

Caso a condio
sal<500 seja
verdadeira, executase os dois comandos
abaixo:

If sal <500

inicio
aum sal* 15/100

Imprima Novo salrio: , aum

Importante:

fim
seno
Imprima Voc no tem direito a aumento

51

APOSTILA DE INTRODUO PROGRAMAO

Exerccios resolvidos
Vamos agora, acrescentar aos exerccios anteriores estruturas :

1. Faa em portugol e um fluxograma que pea a idade de uma pessoa e verifique se


ela maior de idade ou no.

Programa maior_idade;
Variveis idade: inteiro;
Inicio
Imprima Digite sua idade:
Ler idade
se idade >= 18
Imprima Maior de idade
seno
imprima Menor de idade
fim.

52

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma

Inicio

idade

idade>=18

Menor de
idade

Maior de idade

Fim

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________

53

APOSTILA DE INTRODUO PROGRAMAO


_______________________________________________________________
_______________________________________________________________

2. Pea trs notas calcule e mostre a mdia ponderada sabendo que seus pesos
correspondem respectivamente a p1=3, p2=4 e p3=3. Calcule e mostre a mdia
ponderada dessas notas. A mdia das trs notas mencionadas anteriormente
obedece aos pesos a seguir:

MDIA PONDERADA

CONCEITO

9,0 --- 10,0

7,0 --- 9,0

6,0 --- 7,0

5,0 --- 6,0

0,0 --- 5,0

Pseudocdigo

Programa media_peso
Constantes p13; p24; p33
variveis n1, n2, n3,media: inteiro;
Imprima Digite 3 notas
Ler n1, n2, n3,
media (n1 * p1 + n2 * p2 + n3 * p3) / (p1 + p2 + p3)
Imprima media
se (media >= 9) e (media <= 10)
Imprima "Obteve conceito A"

se (media >= 7) e (media <= 8)


Imprima "Obteve conceito B"

54

APOSTILA DE INTRODUO PROGRAMAO


se (media >= 6) e (media < 7)
Imprima "Obteve conceito C"

se (media >= 5) e (media < 6)


Imprima "Obteve conceito D"

se (media >= 0) e (media < 5)


Imprima "Obteve conceito E"

Fim.

Fluxograma:

55

APOSTILA DE INTRODUO PROGRAMAO

Inicio

p1=3
p2=4
p3=3

N1,N2,N3

media=(p1*n1+p2*n2+p3*n3)10

media >=9 e
<=10

media>=7 e
<=9

media>=6 e
<=7

Conceito A

Conceito B

Conceito C
media>=5 e
<=6

media>=0 e
<=5

Conceito D

Conceito E

fim

56

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

Voc deve ter notado acima a entre as condies de cada se uma


letra e em negrito no meio, como o exemplo abaixo:
se (media >= 9) e (media <= 10)

Anote a:
Trata-se do operador lgico E visto acima.

57

APOSTILA DE INTRODUO PROGRAMAO

3. Pea o salrio de um professor e sua categoria, calcule e mostre o aumento de


salrio de acordo com a tabela abaixo:
Categoria

Salrio

Aumento

Primrio

Salrio <900,00

Aumento de 20%

Ginsio

Salrio <=1200,00

Aumento de 15%

Superior

Salrio <=3000,00

Aumento de 5%

Pseudocdigo
Programa aumento_salario;
variveis
salrio,aumento:inteiro
categoria: caractere
Inicio
Imprime Digite seu salrio:
Ler salrio
Imprima Digite sua categoria: P- primrio; G- ginsio; S- superior
Ler categoria
If (categoria = p) e (salario <900)
aumento salario*20/100
If (categoria = g) e (salario <1200)
aumento salario*15/100
If (categoria = s) e (salario <3000)
aumento salario*5/100
Imprima Voc ter um aumento de , aumento
Fim .

58

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:

Inicio

Salario
categoria

Categoria =p
e
salario <900

aumento salario*20/100

Categoria =g
e
salario <1200

aumento salario*15/100

Categoria =s
e
salario <3000

aumento salario*5/100

Aumento

Fim

59

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

4) Faa em portugol e um fluxograma que calcule uma equao do 20 grau.


Lembre-se antes das regras:

A varivel a no pode ser igual a zero


< 0 no existe raiz real
= 0 existe uma raiz real
> 0 existem duas razes reais

60

APOSTILA DE INTRODUO PROGRAMAO

Pseudocdigo

Programa equacao
Variveis a, b, c, delta, r1, r2 inteiro
Inicio
Imprima Digite os valores das variveis a, b e c
Ler a, b, c

if a = 0
Imprima Valor invlido para a resoluo desta equao
seno
delta (b * b) (4 * a * c)

se delta < 0
Imprima No existe raiz real

se delta = 0
inicio
Imprima Existe uma raiz real
X1 - b / (2 * a)
Imprima x1
fim

se delta > 0
inicio
Imprima Existem duas razes reais
x1 (- b + delta ) / (2 * a)
x2 (- b - delta ) / (2 * a)
Imprima x1, x2
fim

fim
61

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:

Inicio

a,b,c

a=0

delta(b*b)-(4*a*c)

Valor invlido

delta=0

No existe
raiz Real

delta=0

x1 -b/(2*a)
delta >0

X1

x1 ( b delta ) /( 2 * a )
x 2 ( b delta ) /( 2 * a )

X1
X2

FIM

62

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

5. Uma grande papelaria deseja reajustar os preos de seus produtos usando o


seguinte critrio: o produto poder sofrer reajuste de preo (aumento ou queda).
Para reajustar o valor do produto ele deve preencher pelo menos um dos requisitos a
seguir:

REQUISITOS

REAJUSTES

VENDA MDIA MENSAL

PREO ATUAL

% DE AUMENTO

% DE DIMINUIO

< 500

< R$ 30,00

10

>= 500 e < 1.200

>=R$ 30,00 e < R$ 80,00

15

>= 1.200

>=R$ 80,00

20

63

APOSTILA DE INTRODUO PROGRAMAO


Pseudocdigo

Programa reajuste_preco
Variveis pre, venda, novo_pre: real
Inicio
Imprima Digite o preo e o valor da venda
Ler pre, venda
se (venda<500) ou (pre<30)
novo_pre pre + (10 * pre)/100

se ((venda>=500) e (venda<1200)) ou ((pre>=30) e (pre<80))


novo_pre pre + (15 * pre )/100

se (venda>1200) ou (pre>=80)
novo_pre pre (20 * pre)/100

Imprima novo_pre
Fim

64

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:
Inicio

pre,venda

venda<500
ou
pre<30

novo_prepre+(pre*10)/100

venda>=500
e venda<1200 ou
pre>30 e pre<80

novo_prepre+(pre*15)/100

venda>1200
ou
pre>=80
novo_prepre-(pre*20)/100

novo_pre

FIM

65

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima.


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

66

APOSTILA DE INTRODUO PROGRAMAO

Exerccios propostos

Sugesto: faa os exerccios em portugol e em fluxograma

1) Receba quatro notas de um aluno, calcule e mostre a mdia aritmtica.Mostre a


mensagem de acordo com a tabela abaixo:

Mdia

Mensagem

0,0 ---- 3,0

Reprovado

3,0 ---- 7,0

Exame

7,0 ---- 10,0

Exame

Caso o aluno fique de exame, receba a nota da prova e d a seguinte mensagem:


Exame < 5 Reprovado
Exame >= 5 Aprovado
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

67

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

2) Pea trs nmeros, verifique qual o maior dos trs.


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

68

APOSTILA DE INTRODUO PROGRAMAO

3) Receba o salrio do funcionrio, a idade e o tempo de servio. D o aumento de


salrio de acordo com as regras abaixo:

Tempo de servio

Aumento

3 anos ---- 5 anos

20%

5 anos ---- 8 anos

29%

8 anos ---- 12 anos

35%

Acima de 12 anos

40%

D uma gratificao conforme a idade do funcionrio


Idade

Gratificao

40 anos ---- 50 anos

R$ 350,00

50 anos ---- 55 anos

R$ 500,00

Acima de 55

R$ 600,00

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

69

APOSTILA DE INTRODUO PROGRAMAO

4) Converta Reais em Dlar ou Euro.

5) O ndice de Massa Corporal (IMC) uma frmula que indica se um adulto est
acima do peso, se est obeso ou abaixo do peso ideal considerado saudvel. A
frmula

para

calcular

ndice

de

Massa

Corporal

IMC = peso / (altura)2


Faa um fluxograma e em portugol que calcule o IMC e d o resultado de acordo
com a tabela abaixo:

Condio

IMC em

IMC em

Mulheres

Homens

abaixo do peso

< 19,1

no peso normal

19,1 - 25,8

20,7 - 26,4

25,8 - 27,3

26,4 - 27,8

27,3 - 32,3

27,8 - 31,1

> 32,3

> 31,1

marginalmente

acima

< 20,7

do peso
acima do peso ideal
Obeso

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

70

APOSTILA DE INTRODUO PROGRAMAO

6) Simule uma calculadora simples com as quatros operaes bsicas: + , , * ,


/
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

7) Receba o cdigo do produto, mostre a descrio e o estoque de acordo com a


tabela abaixo:

cdigo descrio

Estoque

Televisor

25

Mquina lavar

15

Microondas

14

Fogo

36

Geladeira

23

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
71

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

8) Faa em portugol e um fluxograma que pea 4 nmeros e os coloque em ordem


crescente.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

9) Faa em portugol que dado altura e o sexo da pessoa calcule o peso ideal
conforme a frmula a seguir:
sexo masculino: (72,7*altura ) -62
sexo feminino: (62,1 *altura) -48,7
Para ambos os sexos, caso o peso exceder 10 quilos do peso ideal, mostre uma
mensagem

alertando.

____________________________________________________________________
____________________________________________________________________

72

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

10) Faa um fluxograma e em portugol que receba o sexo da pessoa, verifique se ela
do sexo masculino ou feminino, caso contrrio mostre a mensagem de erro.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

73

APOSTILA DE INTRODUO PROGRAMAO

Estrutura de Repetio

Quando precisamos fazer repetir uma determinada instruo devemos utilizar uma
estrutura de repetio, tambm conhecido como lao.
Esta estrutura composta em Enquanto, Repita e Para. Todas elas tm a mesma
funcionalidade: a repetio. Entretanto, dependendo do problema a ser resolvido,
cada um deles apresenta uma caracterstica mais adequada.

Estrutura de controle Para

Usamos a estrutura Para, quando precisamos repetir um conjunto de comandos um


nmero pr-definido de vezes. Utiliza-se uma varivel de controle, que
incrementada em 1 unidade de um valor inicial at um valor final.
para controle inicio at fim faa
Inicio
<comando 1>
<comando 2>
<comando n>
fim do para;

Quando o programa encontra a instruo fim do para, ele incrementa a varivel


controle em 1 unidade. Cada vez que o programa passa pela linha de instruo
para, ele testa se controle menor ou igual a fim,. Quando a varivel controle for
diferente do fim, o comando ser abandonado.
Obs: O valor da varivel Controle no pode ser alterado no interior da
estrutura para...fim-para.

74

APOSTILA DE INTRODUO PROGRAMAO


10 exemplo

Some uma sequncia de 10 nmeros.


Programa soma_dez_numeros
Variveis i,soma:inteiro
Inicio
para i1 at 10 faa
somasoma+ i
Imprima soma
Fim

Voc deve ter notado que nenhum dado foi pedido para o
usurio. A soma foi feita de maneira independente.
Na estrutura para no necessrio incrementar a varivel i.
Quando comearmos a programar em Pascal iremos ter uma
viso melhor deste conceito, entretanto, no fluxograma
precisamos indicar que h uma incrementao na varivel de

Importante:

controle.

75

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:
inicio

i =1

somasoma+i
i<=10

ii+1

soma

Fim

20 exemplo
Pea duas de quatro alunos, calcule e mostre a mdia de cada aluno
individualmente.

Pseudocdigo
Programa lao_para
Variaveis n1,n2,i: inteiro
media : real
Inicio
para i=1 at 4 faa

76

APOSTILA DE INTRODUO PROGRAMAO


Inicio
Imprima digite as notas:
Ler n1,n2
media(n1+n2)/2
if media >= 7
imprima APROVADO
seno
Imprima REPROVADO
Fim do para
Fim.

Fluxograma:
inicio

i=1

i<=4

n1,n2

media(n1+n2)/2

Media>=7

APROVADO

REPROVADO

II+1

Fim

77

APOSTILA DE INTRODUO PROGRAMAO

Estrutura de Repetio ENQUANTO-FAA (WHILE DO)

Sintaxe

enquanto <Condio for verdadeira> faa


inicio
<Comandos>

fim enquanto

10 Exemplo: Uso do Enquanto


Simule uma urna eleitoral, pea os votos e mostre os resultados. Encerre a votao
perguntando se deseja sair ou no. Os candidatos a presidente so:
1- Z das Couves
2- Mane do Pilo
3 Pop dos pobres
4 Bigu do brejo

Pseudocdigo

1.Programa votao
2.Variveis cont_ze, cont_mane, cont_popo, cont_bigu, voto: inteiro; resp:
caractere
3. Inicio
4. resp=s
5.

enquanto (sair no)

6.

inicio

78

APOSTILA DE INTRODUO PROGRAMAO


7.

Imprima Escolha seu candidato:

8.

Imprima 1- Z das Couves

9.

2- Mane do Pilo

10.

3 Pop dos pobres

11.

4 Bigu do brejo

12.

ler voto

13.

if voto =1

14.
15.
16.
17.
18.
19.
20.

cont_ze= cont_ze +1
if voto =2
cont_mane= cont_mane +1
if voto =3
cont_popo= cont_popo +1
if voto =4
cont_bigu= cont_bigu +1

21.

imprima Deseja para continuar? (S/N)

22.

Ler resp

23.

Fim do enquanto

24.Imprima Total de Votos


25.Imprima Z das Couves: , cont_ze;
26. Imprima Man do Pilo: , cont_mane
27. Imprima Pop dos pobres , cont_popo
28.Imprima Bigu do brejo , cont_bigu
29.Fim.

79

APOSTILA DE INTRODUO PROGRAMAO

Obs: A linha 5 apresenta a estrutura enquanto, a condio que sair


seja diferente de no. Por isso, resp, na linha 3 recebeu s para que a
condio (sair no) seja verdadeira.
Nas linhas 21 e 22 temos a confirmao do usurio para saber se a
votao continua ou no. Neste caso, ao ler a resposta do usurio
ele ir voltar ao comando enquanto para fazer a verificao.

Fluxograma
inicio

voto

Candidato 1

Candidato 2

cont_zecont_ze+1

cont_manecont_mane+1

voto

Candidato 3

cont_popocont_popo+1

Candidato 4

cont_bigucont_bigu+1

Deseja
continuar? (S/
N)

resp

Resp = S

Mostrar
votao

fim

80

APOSTILA DE INTRODUO PROGRAMAO

Importante:

Acumulador: Acima utilizamos algumas variveis

(cont_z,cont_mane) que assumem a funo de


acumuladores. Isto significa que elas recebem seus prprios
valores adicionados do valor de uma outra varivel ou nmero.

Estrutura de repetio REPITA-AT ( Repeat Until)


Repita
<Comandos>

Ate <Condio for verdadeira

10 exemplo
Faa um algoritmo que receba a seguinte enqute: Voc tem computador em casa?
Levante o nmero de pessoas que no possuem e as que possuem. Para sair d a
opo de escolha.

Pseudocdigo

Programa enquete
Variaveis voto,resp: caractere
cont_s,cont_n: inteiro
Inicio

81

APOSTILA DE INTRODUO PROGRAMAO


Repita
Imprima Voc tem computador em casa?
Leia voto
if voto = sim
cont_s=cont_s+1;
seno
cont_n=cont_n+1
Imprima Deseja continuar? (Sim/No)
Ler resp
At (resp=no)
Fim.
Fluxograma

82

APOSTILA DE INTRODUO PROGRAMAO

inicio

Resp=sim

voto

cont_n=cont_n+1

Voto

cont_s=conts_+1

Deseja
continuar?

Resultado
da votao

FIM

83

APOSTILA DE INTRODUO PROGRAMAO

Exerccios resolvidos
1) Faa um algoritmo utilizando a estrutura condicional Enquanto que receba mostre
os nmeros pares de 1 a 20.

Pseudocdigo

Programa soma_nmeros
Variaveis i:inteiro
Inicio
i 1
Enquanto i<=20 faa
inicio
se resto i/2 = 0 ento
Imprima Nmero par
else
Imprima Nmero impar
Fim.

84

APOSTILA DE INTRODUO PROGRAMAO


Fluxograma:

Inicio

i=1

i<=20

resto i/2=0

impar

par

ii+1

Fim

Agora com voc: Identifique a Entrada, o processamento e a sada do


algoritmo acima.
Entrada:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Processamento:
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________
Sada
______________________________________________________________
______________________________________________________________

85

APOSTILA DE INTRODUO PROGRAMAO


_______________________________________________________________
_____________________________________________________________
2) Faa um programa que calcule o fatorial de um nmero. Utilize a estrutura Para

Programa Fatorial
Variaveis n, i, fat inteiro
Inicio
Imprima Digite um numero:
Ler n
fat 1
para i 1 ate n faa
fat fat * i
Imprima O fatorial de ,n , , fat
FIM
Fluxograma:

Inicio

fat1

i =n

fatfat* i

fat

Fim

86

APOSTILA DE INTRODUO PROGRAMAO


Agora com voc: Identifique a Entrada, o processamento e a sada do
algoritmo acima.
Entrada:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Processamento:
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________
Sada
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________
3) Receba um intervalo de nmero e some os nmeros maiores que 20.

Programa nmeros_pares
Variaveis n1,n2,i,soma: inteiro
Inicio
Imprima Digite o primeiro nmero do intervalo:
Ler n1
Imprima Digite o segundo nmero do intervalo:
Ler n2
para i n1 ate n2 faa
inicio
if (n1>20) then
somasoma+n1
fim do para
Imprima som
fim.

87

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma:

Inicio

n1,n2
n1 =n2

Soma<--soma+n1

n1n1+1

soma

Fim

Agora com voc: Identifique a Entrada, o processamento e a


sada do algoritmo acima.
Entrada:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________

88

APOSTILA DE INTRODUO PROGRAMAO


Sada
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________
4) Faa um programa que leia a mdia da temperatura dos doze meses do ano
encontre a temperatura mais alta e a mais baixa. Mostre a temperatura mais alta e a
mais baixa e em que ms ocorreu.
Pseudocdigo
Programa maior_menor_temperatura
variaveis cont,temp, maior, mes_maior, menor, mes_menor :inteiro
Inicio
para cont 1 ate 12 faa
inicio
Imprima Digite a temperatura do ms : ,i
Ler temp
se cont = 1
Inicio
maior temp
mes_maior cont
menor temp
mes_menor cont
fim
senao
inicio
se alt > maior
Inicio
maior alt
mes_maior cont
fim
se alt < menor
inicio
menor alt

89

APOSTILA DE INTRODUO PROGRAMAO


mes_menor cont
fim
fim do seno
fim do para
Imprima maior, mes_maior
Imprima menor, mes_menor
FIM
Fluxograma:
Inicio

cont= 1

cont=12

temp

cont =1

maiortemp
mes_maior cont
menortemp
mes_menoscont

alt>maior

maioralt
mes_maiori

alt<menor

menoralt
mes_menori
A

Temperaturas

fim

90

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc: Identifique a Entrada, o processamento e a


sada do algoritmo acima.
Entrada:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Processamento:
_______________________________________________________________
_____________________________________________________________
_______________________________________________________________
_____________________________________________________________
Sada
______________________________________________________________
______________________________________________________________
_______________________________________________________________
_____________________________________________________________

91

APOSTILA DE INTRODUO PROGRAMAO

Exerccios propostos

Sugesto: faa os exerccios em portugol e em fluxograma

1) Calcular e mostrar da soma S=1/10+2/9+ 3/8+ ...+10/11.


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
2) Um nmero perfeito quando a soma dos seus divisores exceto ele prprio e
igual ao numero. Ler um nmero e verificar se ele e perfeito.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

92

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

3) Um nmero e triangular se ele e produto de trs nmeros naturais consecutivos.


Ex: 6 e triangular, pois 1x2x3=6. Mostrar os nmeros triangulares de 0 a 100.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

4) Faca um programa que leia um numero de termos e um valor positivo para X,


calcule e mostre o valor da serie a seguir:
S= -x2/1! +x3/2! - x4/3!...
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

93

APOSTILA DE INTRODUO PROGRAMAO

5) Faca um programa que leia um numero de termos, determine e mostre os valores


de acordo com a serie abaixo:
Serie= 2, 7, 3, 4, 21, 12, 8, 63, 48, 16, 189, 192, 32, 567, 768, 64, ...
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

6) Faca um programa que calcule e mostre o produto dos nmeros primos entre 92 e
1.478
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

7)Faca um programa que exiba as oito primeiras serie de Fibonacci (1,1,2,3,5,8,13) .


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
94

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
8) Foi feito um levantamento estatstico em cinco cidades brasileiras para coletar
dados sobre ndice de portadores de HIV. Foram obtidos os seguintes dados:
a. cdigo da cidade;
b. nmero de infectados (em 2004);
c. nmero de mortos (em 2005);

Deseja-se saber:
a) qual o maior e o menor ndice de infectados e a que cidades pertencem:
b) qual a mdia de infectados nas cinco cidades juntas;
c) qual a mdia de mortos de pessoas com mais de 40 anos

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
9) Receba a base para calcular a rea de um tringulo.No permita que sejam
digitados valores invlidos, ou seja, valores menor que zero. Use a estrutura Repita
____________________________________________________________________
____________________________________________________________________

95

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
10) Faa uma rotina de 1 a 1000 e verifique e mostre os mltiplos de 5.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

96

APOSTILA DE INTRODUO PROGRAMAO

Vetor
At o momento armazenamos nossos dados em variveis comuns, com isso no tnhamos
acesso a determinados valores porque eles se perdiam ou eram substitudos por outros
valores. Por exemplo, no caso do exerccio acima sobre achar a maior e a menor
temperatura, com o uso do vetor o algoritmo ficaria bem mais vivel.

temperatura

35

ndice= [ i ]

25

26

27

28

29

30

31

32

33

32

30

10

11

12

Estrutura do vetor

O vetor acima unidimensional, ou seja, possui apenas uma linha. Neste caso
representando as temperaturas, os valores abaixo, de 1 a 12 representam o ndice do vetor.
Similarmente, podemos definir vetores como posies de memria, identificadas por um
mesmo nome, individualizadas por ndices e cujo contedo de mesmo tipo.
Sintaxe da declarao de um vetor:

Nome do vetor : vetor [ n de elementos ] de <tipo bsico do vetor >

Para fazermos referncia a um elemento do vetor, colocamos:


Nome do vetor [ elemento ]

O acesso a um elemento do vetor simples, basta referirmos o nome do vetor


acompanhado pelo seu ndice. Por exemplo, demos o nome do vetor acima de temperatura,
suponha que o ndice represente os meses do ano. Pois bem, se quisermos acessar a
temperatura do ms 9 referenciamos da seguinte maneira:
temperatura [ 9 ]

Estaramos acessando a posio 9 do vetor, que corresponde ao ms de setembro com a


temperatura de 32 graus, veja:
temperatura

35

ndice= [ i ]

25

26

27

28

29

30

31

32

33

32

30

10

11

12

97

APOSTILA DE INTRODUO PROGRAMAO


Associe o vetor a um prdio de apartamentos, para enviarmos uma correspondncia a um
determinado apartamento, colocamos o endereo do prdio, seu nmero e do apartamento,
ou seja, o prdio um s, porm com muitos apartamentos. O vetor tem uma estrutura
similar. Tem-se um nico vetor com vrias posies.

Dependendo do problema, para inserirmos ou acessarmos dados


do vetor precisamos usar algum tipo de lao. Isto porque
precisamos mudar de ndice para ter acesso ao contedo. Neste
caso, o lao mais conveniente o para. Veja a sintaxe:

para i1 at 10
inicio
Imprima Digite o ,i, numero;
Ler num[ i ]

Importante:

fim do lao

O varivel dentro dos colchetes ir identificar o ndice do vetor, no


caso, a varivel i ter o valor da estrutura para ou seja,
1,2,3,4,5,6,7,8,9 e10.
10 exemplo
Receba 4 notas (correspondente a 4 bimestres), d ao usurio a possibilidade de acessar
qualquer bimestre e conseqentemente a respectiva nota.

Pseudocdigo
Programa bimestre
Varivel notas: vetor [1:4] de inteiros
Inicio
para i1 at 4 faa
inicio
Imprima Digite a ,i, nota
ler notas [ i ]
fim do lao para

98

APOSTILA DE INTRODUO PROGRAMAO


Imprima Digite o bimestre desejado:
ler bim
Imprima Nota: , nota[bim]
Fim.

Veja que podemos referenciar o vetor e colocarmos o dado digitado pelo usurio, ou seja, no
caso acima chamamos nota[bim] a varivel bim dentro do colchetes ir identificar a posio
desejada do usurio.

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima e faa o


fluxograma.
Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

20 exemplo
Faa um algoritmo que receba o ndice correspondente ao dia da semana, conforme tabela
abaixo:

99

APOSTILA DE INTRODUO PROGRAMAO


ndice

Dia da semana

ndice

Dia da semana

Domingo

quinta-feira

segunda-feira

sexta-feira

tera-feira

sbado

quarta-feira

Programa dia_da_semana
Variveis dia: vetor [1:7] de caracteres
cod: inteiro
Inicio
dia[1] domingo
dia[2] segunda-feira
dia[3] tera-feira
dia[4] quarta-feira
dia[5] quinta-feira
dia[6] sexta-feira
dia[7] sbado
Imprima Cdigo da semana:
Ler cd
Imprima Dia da semana: , dia[cd]
Fim.

Fluxograma

Inicio

dia[1]domingo
dia[2]segunda
dia[3]tera
dia[4]quarta
dia[5]quinta
dia[6]sexta
dia[7]sabado

Dia da semana

Dia da semana

Fim

100

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima .


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
30 Exemplo
Construa um algoritmo que leia 12 temperaturas e calcule a mdia entre as temperaturas. Ao
final exiba a mdia encontrada.

Pseudocdigo
Programa temperatura
Variveis temp: vetor[1:12] de inteiro
media, soma: real
i: inteiro;
Inicio
para i 1 at 12 faa
Imprima Digite a temperatura
Ler temp[ i ]

101

APOSTILA DE INTRODUO PROGRAMAO


somasoma+temp[ i ]
fim para
mediasoma/12
Imprima Mdia das temperaturas
Fim.

Fluxograma

Inicio

i1, 12

idade

somasoma+temp

media soma/12

Media das
temperaturas

Fim

102

APOSTILA DE INTRODUO PROGRAMAO

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima .


Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
40 Exemplo

Faa um algoritmo que receba 12 temperaturas correspondentes aos meses do ano. D a


opo do usurio trocar a temperatura.

Programa maior_menor_temperatura
variveis cont, maior, mes_maior, menor, mes_menor :inteiro
temp: vetor[1:12] de inteiros
Inicio
para cont 1 ate 12 faa
inicio
Imprima Digite a temperatura do ms : ,i
Ler temp[ cont ]
fim do para

103

APOSTILA DE INTRODUO PROGRAMAO

Imprima Deseja trocar alguma temperatura?


Ler resp
If resp = s
inicio
Imprima Digite a temperatura:
Ler nova_temp
Imprima Digite o ms a ser trocado:
Ler ms
temp[ms] nova_temp
fim do se

Agora com voc:

Identifique a Entrada, o processamento e a sada do algoritmo acima e faa o


fluxograma.

Entrada:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Processamento:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
Sada
_______________________________________________________________
_______________________________________________________________
_____________________________________________________________________
_____________________________________________________________________

104

APOSTILA DE INTRODUO PROGRAMAO

Exerccios resolvidos
1) Faa um algoritmo que pea 30 nmeros, verifique entre eles quais so primos e
mostre a posio deles.

Programa primo;
Variveis

n: vetor[1:30]
i,j,cont : inteiro

Inicio
para i 1 at 12 faa
inicio
Imprima Digite o nmero:
Ler n[ i ]
para j 1 at n faa
inicio
se (n MOD 2)= 0 faa
contcont+1;
se cont<=2
Imprima n[ i ]
Imprima Posio: , i
Fim
Fim
Fim.

Sugesto: Faa o fluxograma

105

APOSTILA DE INTRODUO PROGRAMAO


2) Faa um algoritmo que pea 10 nomes e os ordene em ordem alfabtica.

Programa ordenao
Variveis
nome: vetor[1:10] de caracteres
i ,j : inteiro
ordena: caractere
Inicio
para i1 at 10 faa
inicio
Imprima Nome:
Ler nome
fim do para

para i1 at 10 faa
inicio
para ji*1 at 10 faa
inicio
se nome[ i ]>nome[ j ] ento
inicio
ordena nome[ i ]
nome[ i ] nome [ j ]
nome[r] ordena
fim do se
fim do para
fim do para

para i1 at 10 faa
Imprima nome[ i ]
Fim.

106

APOSTILA DE INTRODUO PROGRAMAO

Exerccios propostos
Sugesto: faa os exerccios em portugol e em fluxograma
1) Faa um algoritmo que pea a altura de 10 jogadores e suas respectivas idades.
Verifique e mostre os jogadores com mais de 1.90 e calcule a mdia de idade de
todos os jogadores.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
2) Faa um algoritmo que receba 2 notas de 50 alunos. Calcule e mostre a mdia de
cada um e exiba os que foram reprovados (media inferior a 7.0).
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

107

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
3) Receba uma lista de alunos com seus respectivos nmeros de matricula. Faa um
algoritmo que identifique o aluno a ser pesquisado e faa a alterao. Para sair pea
para o usurio.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
4) Faa um algoritmo que receba 20 nmeros, verifique se h o nmero 0, se houver
troque por 1.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
5) Dada uma lista de 15 nmeros, ordene-os e exiba-os.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
108

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
6) Faa um algoritmo que carregue um vetor como modelo de cinco motos. Em um
outro vetor pea o consumo dessas motos, ou seja, quantos quilmetros cada uma
dessas motos faz com um litro de combustvel. Calcule e mostre o modelo mais
econmico e sua quilometragem
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
7) Faa um algoritmo que pea o nome do funcionrio, tempo de servio, salrio.
Levante os funcionrios que tem mais de 7 anos de servio e d um aumento de
30% .
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
8) Faa um algoritmo que pea o nome dos alunos, o curso ( m-mestrado, ddoutorado). Para os alunos de mestrado d uma bolsa de R$750,00, para os alunos
109

APOSTILA DE INTRODUO PROGRAMAO


de doutorado uma bolsa de R$1200,00. Exiba os alunos que tero direito a bolsa e
seu respectivo valor.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
9) Faa um algoritmo que receba duas notas de n alunos, para sair pea para o
usurio, mostre o relatrio abaixo:

Nome aluno

Prova 1

Prova 2

Mdia

Situao

Flvio

9,5

10,0

9.75

APROVADO

Marcos

5,5

4,5

3,5

REPROVADO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
10) Carregue um vetor com 20 posies, crie um segundo vetor substitudo os
valores maiores que 10 por 0.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
110

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

Matrizes
As matrizes so estruturas de dados que permitem o armazenamento de um
conjunto de dados de mesmo tipo, porm em dimenses diferentes, ou seja, possuem linha
e colunas
Sintaxe:
Nome da matriz : matriz [1:4, 1: 5 ] de <tipo bsico da matriz >
onde:
1:4 nmero de linhas, ou seja, 4 linhas
1:5 nmero de colunas, ou seja, 5 colunas

Colunas
Linhas

Joo

Carlos

25

18

Fernando Macedo

Beatriz

nome
2

76

34

33

idade
3

Executivo Enfermeiro Dentista Faxineiro professora

profisso
4
cidade natal

Cear

So Paulo

Macap

Acre

Manaus

Referenciando a um elemento da matriz, colocamos:


Nome da matriz [ linha, coluna ]

111

APOSTILA DE INTRODUO PROGRAMAO


Obs: Quando voc desejar percorrer uma matriz, linha por linha, crie uma
estrutura de repetio, fixando a linha e variando a coluna. Para percorrer
uma matriz, coluna por coluna, fixe a coluna e varie a linha.

10 Exemplo
Faa um algoritmo que represente uma matriz 3x5 de nmeros inteiros. Calcule e
mostre a soma de todos os elementos.

Pseudocdigo

Programa matriz
Variveis numero: matriz[1:3, 1:5] de inteiros
linha, coluna,soma: inteiro
Inicio
para linha1 at 3 faa
inicio
para coluna1 at 5 faa
inicio
Imprima Digite os nmeros
Ler numero[linha, coluna]
somasoma+numero[linha,coluna]
fim para
fim para
Imprima Soma = , soma
Fim.

112

APOSTILA DE INTRODUO PROGRAMAO

Fluxograma

inicio

para
linha=1:3

para
coluna=1:5

numero[linha,coluna]

somasoma+numero[linha,coluna]

soma

fim

113

APOSTILA DE INTRODUO PROGRAMAO


20 Exemplo

Faa um algoritmo que represente uma matriz 5x5 com nmeros inteiros, localize o
nmero 300 e mostre em que posio ele se encontra.

345 24

456 2345 265

258 963 321 120

145

300 256 255 024

369

125 564 433 132

353

357 464 288 999

775

Pseudocdigo

Programa matriz2
Variveis numeros: matriz[1:5,1:5] de inteiros
lin, col,num:inteiro
Inicio
para lin1 at 5 faa
inicio
para col 1 at 5 faa
Imprima Digite 25 nmeros
Ler nmeros[lin,col]
se numeros[lin,col] = 300 ento
Imprima O nmero 300 est na posio: ,lin,col
fim para
fim para
fim.

114

APOSTILA DE INTRODUO PROGRAMAO


Fluxograma

inicio

para
linha=1:5

para
coluna=1:5

numero[linha,coluna]

Numero[lin,col]=300

O numero 300
est na
posio, lin,col

fim

115

APOSTILA DE INTRODUO PROGRAMAO

Exerccios resolvidos
1) Faa um algoritmo que carregue:

vetor com o modelo de cinco carros

uma matriz 5x4 com o preo dos cincos carros em quatro lojas diferentes

um outro vetor com a cor dos cinco carros

Calcule uma segunda matriz 5.x4 com valores dos impostos de cada produto, sendo que
cada produto obedece a seguinte tabela:
Preo

% imposto

At 52.000,00

42%

Entre R$ 52.000,00 e 70.000,00

56 %

Acima de 100.000,00

60%

Programa carros
Variaveis modelo: vetor[1:5] de caracteres
preco, imp[1:5, 1:4] de inteiros
cor: vetor[1:5] de caractere
lin,col, final: inteiro
inicio
para lin 1 at 5 faa
inicio
Imprima Modelo:
Ler modelo[lin]
fim do para

para lin1 at 5 faa


inicio
para col1at 4 faa
inicio
Imprima Digite o preo

116

APOSTILA DE INTRODUO PROGRAMAO


Ler preo[lin,col]
fim

para lin1 at 5 faa]


inicio
Imprima Digite a cor
Ler cor[lin]
fim do para

para lin1 at 5 faa


inicio
para col1at 4 faa
inicio
se preo[lin,col] <=52.000 ento
imp[lin,col]preco[lin,col]*42/100
seno
se (preco[lin,col]> 52.000) e (preco[lin,col] >=70.000) ento
imp[lin,col]preco[lin,col] *56/100
seno
imp[lin,col]preco[lin,col] *60/100
fim para
fim para

para i1 at 5 faa
inicio
Imprima Modelo , modelo[lin]
Imprima Cor , cor[lin]
para col1 at 4 faa
inicio
finalpreco[lin,col] +imp[lin]col] + cor[lin]
Imprima Imposto na loja, col, = , imp[lin,col]
Imprima Preo na loja, col, = , preco[lin,col]
Imprima Preo final na loja, col, = , imp[lin,col]
fim do para
fim
fim

117

APOSTILA DE INTRODUO PROGRAMAO

Exerccios propostos
Sugesto: faa os exerccios em portugol e em fluxograma
1) Faa um algoritmo para ler e exibir uma matriz 3x5 de nmeros inteiros.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
2) Dado uma matriz de 6x6 faa um algoritmo que:
a) Calcule o produto dos elementos da segunda coluna;
b) Faa a soma dos elementos da terceira linha;
c) Faa a soma de todos os elementos da matriz;
d) Faa a soma do diagonal principal;

118

APOSTILA DE INTRODUO PROGRAMAO

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
3) Receba o tamanho da matriz NxN, faa um algoritmo que verifique se a matriz
simtrica (alinha,coluna=alinha,coluna).
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
4) Dada uma matriz 3x5 de valores inteiro faa um algoritmo que faa a leitura
destes valores e ao final da leitura de todos, imprimir o seguintes relatrio:
a) Listar os valores que so menores que a mdia dos valores;
b) Quais os elementos da diagonal secundria;
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

119

APOSTILA DE INTRODUO PROGRAMAO


____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

5) Dado uma matriz 3x3 de valores inteiros faa um algoritmo coloque os elementos
ordenados primeiro por linha.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

6) Dado duas matrizes A 3x3 e B 3x3 faa a multiplicao de A por B e gere uma
terceira matriz C com os resultados.
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

120

APOSTILA DE INTRODUO PROGRAMAO

7) Dado uma matriz 5x3 de valores inteiros determine a sua matriz transposta .
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

121

Anda mungkin juga menyukai