Você está na página 1de 25

Instituto Federal do Triângulo Mineiro Cursos da Área de Computação

Disciplina de Algoritmos Prof. Ernani Cláudio Borges


Estudos das atividades - PARTE 3
Observações importantes:
a) Esta atividade irá fazer a introdução aos conceitos:
• Estrutura Condicional.

Tranquilidade, firmeza, objetividade e BONS ESTUDOS!

Nome do aluno(a): __________________________________________________________ Data: ____/_____/_____


Matrícula (RA): __________________________ ____________________________________

1 BREVE RECORDAÇÃO

Para apresentar os conceitos de "estrutura condicional", é preciso que Você


tenho em mente os conceitos de:
a) variável e seus tipos de dados (inteiro, real, caracter (literal) e lógico (V
ou F);
b) atribuição de dados para dentro de uma variável utilizando a seta para
esquerda ( );
c) comandos de entrada (leia) e saída (mostre);
d) estrutura sequencial juntamente com a estrutura do algoritmo e seus
comentários nas principais linhas de programação.

Fique de olho!
Importante nesse momento, recordar que VARIÁVEL só recebe uma
informação de uma vez, ou seja, se a variável "A" receber o número 5 ( A 5), esse
valor irá ficar guardado nela até que ela receba outro valor, e automaticamente o
número 5 será substituído/apagado e ficando o valor atual.
Exemplo:

nr 10
nr 8

caso aconteça esses comandos o último valor da variável nr é igual a 8.

Autor: Ernani Cláudio Borges. 1


Outro exemplo:

sal 500
sal sal + 58

QUAL O CONTEÚDO ATUAL da variável sal?

A execução é a seguinte ... a variável sal irá receber o seu conteúdo mais o
valor cinquenta e oito e armazenando nela mesma, ficando seu conteúdo atual em
558.

2 INTRODUÇÃO A ESTRUTURA CONDICIONAL “SE”

Para FORBELLONE (1993, p.39), uma estrutura condicional permite a


escolha de um grupo de ações quando determinadas condição é aceita ou não.
A Estrutura Condicional pode ser "simples", "composta" ou "múltiplas".
Para representar esta estrutura Condicional em algoritmos, vamos utilizar o
comando "se" e as expressões "então", "senão" e "fimse",
Acompanhe a seguir a apresentação da estrutura condicional simples:

2.1 Em foco: o que é uma Estrutura Condicional Simples?

A estrutura condicional "simples" permite verificarmos se a "condição" atende


o que queremos ou não, ou seja, só vamos executar uma ação se a condição
(pergunta) for verdadeira. Veja o exemplo:

Autor: Ernani Cláudio Borges. 2


Se <condição> então
ação 1
ação 2
fimse

As ações 1 e 2 só serão executadas se a condição for atendida, ou seja, ela


for verdadeira.
Veja o exemplo a seguir!

2.1.1 Exemplo 1 – cálculo da área de uma circunferência.

Para calcular o valor da área de uma circunferência vamos utilizar a seguinte


fórmula: area = π raio2.

2.1.1.1 Visão central do problema

Sabemos que o valor do raio de uma circunferência deve ser maior


que zero, conforme a fórmula apresentada: area = π raio2
O usuário irá digitar o valor do raio e logo em seguida o algoritmo
deverá verificar se o conteúdo da variável raio (informado pelo usuário)
é maior que zero, se esse conteúdo for maior que zero (verdadeiro)
então fazemos o cálculo (ação 1) e mostramos o resultado na tela (ação
2).
Se ele for igual ou menor a zero simplesmente vamos finalizar o
algoritmo.
Desta forma vamos executar os seguintes passos:
1) criar as variáveis
2) inicializar as variáveis

Autor: Ernani Cláudio Borges. 3


3) receber o valor do raio via teclado (usuário irá digitar)
4) verificar se o valor digitado (valor do raio) é maior que zero
4.1) se for verdade, então, vamos calcular o valor da área da
circunferência e mostrar o resultado no vídeo.
5) finalizar o algoritmo

2.1.1.2 Visão panorâmica da resolução do problema

/*
Cabeçalho: Algoritmo para cálculo da área de uma circunferência
Nome do Programador: Ernani Cláudio Borges
Data: 08/04/2013
*/

/* nome do algoritmo */
algoritmo area_circunferencia

/*bloco para criar e determinar os tipos de variáveis */


var
area, raio : real

/*bloco do código principal */


inicio

// inicializar variáveis para tirar lixo de memória e


// sabermos qual o conteúdo inicial da variável
area 0
raio 0

/*
corpo do algoritmo
entrada dos dados via teclado pelo usuário
*/
mostre ("Digite o valor do raio: ")
leia (raio)

// VERIFICAR SE O VALOR DO RAIO É MAIOR QUE ZERO


se (raio > 0) entao
// cálculo da conversão
area 3,1415 * QUADRADO(raio)
// saída – mostrar resultado no vídeo
mostre ("Resultado da area da circunferencia = ", area)
fimse

pausa
fim.

Autor: Ernani Cláudio Borges. 4


2.1.2 Exemplo 2 – cálculo da área de uma circunferência.

Para calcular o valor da área de uma circunferência vamos utilizar a seguinte


fórmula: area = π raio2.

2.1.2.1 Visão central do problema

Sabemos que o valor do raio de uma circunferência deve ser maior


que zero, conforme a fórmula apresentada: area = π raio2
O usuário irá digitar o valor do raio e logo em seguida o algoritmo
deverá verificar se o conteúdo da variável raio (informado pelo usuário)
é maior que zero, se esse conteúdo for maior que zero (verdadeiro)
então fazemos o cálculo (ação 1) e mostramos o resultado na tela (ação
2).
Se ele for igual ou menor a zero simplesmente vamos finalizar o
algoritmo.
Desta forma vamos executar os seguintes passos:
1) criar as variáveis area e raio do tipo real;
2) inicializar as variáveis;
3) receber o valor do raio via teclado (usuário irá digitar)
4) verificar se o valor digitado (valor do raio) é maior que zero
4.1) se for verdade, então, vamos calcular o valor da área da
circunferência;
4.2) mostrar o resultado no vídeo.
5) finalizar o algoritmo

Autor: Ernani Cláudio Borges. 5


2.1.2.2 Visão panorâmica da resolução do problema

/*
Cabeçalho: Algoritmo para cálculo da área de uma circunferência
Nome do Programador: Ernani Cláudio Borges
Data: 08/04/2013
*/

/* nome do algoritmo */
algoritmo area_circunferencia

/*bloco para criar e determinar os tipos de variáveis */


var
area, raio : real

/*bloco do código principal */


inicio

// inicializar variáveis para tirar lixo de memória e


// sabermos qual o conteúdo inicial da variável
area 0
raio 0

/*
corpo do algoritmo
entrada dos dados via teclado pelo usuário
*/
mostre ("Digite o valor do raio: ")
leia (raio)

// VERIFICAR SE O VALOR DO RAIO É MAIOR QUE ZERO


se (raio > 0) entao
// cálculo da conversão
area 3,1415 * QUADRADO(raio)
// saída – mostrar resultado no vídeo
mostre ("Resultado da área da circunferência = ", area)
fimse

pausa
fim.

2.1.3 Exemplo 3 – cálculo da raiz quadrada de um número inteiro.

Para calcular o valor da raiz quadrada de um número inteiro vamos utilizar o


comando raiz( ).

Autor: Ernani Cláudio Borges. 6


2.1.3.1 Visão central do problema

A regra matemática diz que não existe raiz quadra de número


negativo e que raiz quadrada de zero é igual a zero.

Desta forma vamos executar os seguintes passos:


1) criar as variáveis nr (tipo inteiro) e res (do tipo real)
Obs.: o número (nr) a ser digitado pelo usuário deve ser do
tipo inteiro, e o resultado (res) pode ser tipo inteiro ou
real. Exemplo: caso o usuário queira saber qual é a
raiz quadrada do número 36 o resultado será 6,
agora, caso ele queira o valor da raiz quadrada do
número 2, seu resultado será: 1,4142, ou seja, pode
haver casas decimais, ok?
2) inicializar as variáveis
3) receber o valor do número inteiro via teclado (usuário irá digitar)
4) verificar se o valor digitado é maior ou igual a zero
4.1) se for verdade, então, vamos calcular o valor da raiz
quadrada deste número.
4.2) mostrar o resultado do cálculo no vídeo.
5) finalizar o algoritmo

2.1.3.2 Visão panorâmica da resolução do problema

/*
Cabeçalho: Algoritmo para cálculo da raiz quadrada de um número
Nome do Programador: Ernani Cláudio Borges
Data: 08/04/2013
*/

/* nome do algoritmo */
algoritmo raiz_quadrada

/*bloco para criar e determinar os tipos de variáveis */


var
Autor: Ernani Cláudio Borges. 7
nr : inteiro
res : real

/*bloco do código principal */


inicio

// inicializar variáveis para tirar lixo de memória e


// sabermos qual o conteúdo inicial da variável
nr 0
res 0

/*
corpo do algoritmo
entrada dos dados via teclado pelo usuário
*/
mostre ("Digite um número inteiro maior ou igual a zero: ")
leia (nr)

// Verificar se o valor é maior ou igual a zero


se (nr >= 0) entao
// cálculo da raiz
res raiz (nr)
// saída – mostrar resultado no vídeo
mostre ("Resultado da raiz quadrada = ", res)
fimse

pausa
fim.

2.2 Em foco: o que é uma Estrutura Condicional Composta?

A estrutura Condicional Composta permite a execução de ação ou grupo de


ações caso a condição seja verdadeira, como também, caso a condição seja falsa.
Vamos representá-la conforme a estrutura abaixo:

Se <condição> então
ação 1
ação 2
senao
ação 3
ação 4
fimse

Autor: Ernani Cláudio Borges. 8


As ações 1 e 2 só serão executadas se a condição for atendida, ou seja, ela
for verdadeira.
Já as ações 3 e 4 só serão executados caso a condição seja falsa.
Analise o exemplo 4.

2.2.1 Exemplo 4 – cálculo da área de uma circunferência.

Como demonstrado no Exemplo 2, para cálculo da área de uma


circunferência o valor do raio deve ser maior que zero, desta forma, usando a
estrutura condicional composta, poderemos dar ao usuário, duas possibilidades de
resposta.
Veja a "Visão central do problema"

2.2.1.1 Visão central do problema

Utilizaremos a fórmula: area = π raio2


O usuário irá digitar o valor do raio e logo em seguida o algoritmo
deverá verificar se o conteúdo da variável raio (informado pelo usuário)
é maior que zero:
1) se a condição for verdadeira (valor do raio for maior que zero)
podemos fazer o cálculo e mostrar o resultado no vídeo;
2) se a condição for falsa (valor do raio igual ou menor que zero)
podemos mostrar uma mensagem para o usuário, informando que o valor do
raio que ele digitou está invalido.

Desta forma vamos executar os seguintes passos:


1) criar as variáveis area e raio do tipo real;
2) inicializar as variáveis;
3) receber o valor do raio via teclado (usuário irá digitar)

Autor: Ernani Cláudio Borges. 9


4) verificar se o valor digitado (valor do raio) é maior que zero:
4.1) se verdadeiro:
4.1.1) for verdade, então, vamos calcular o valor da área
da circunferência;
4.1.2) mostrar o resultado no vídeo.
4.2) senão
4.2.1) mostrar uma mensagem que o valor digitado é zero
ou negativo, sendo inválido!.
5) finalizar o algoritmo

2.2.1.2 Visão panorâmica da resolução do problema

/*
Cabeçalho: Algoritmo para cálculo da área de uma circunferência
Nome do Programador: Ernani Cláudio Borges
Data: 08/04/2013
*/

/* nome do algoritmo */
algoritmo area_circunferencia2

/*bloco para criar e determinar os tipos de variáveis */


var
area, raio : real

/*bloco do código principal */


inicio

// inicializar variáveis para tirar lixo de memória e


// sabermos qual o conteúdo inicial da variável
area 0
raio 0

/*
corpo do algoritmo
entrada dos dados via teclado pelo usuário
*/
mostre ("Digite o valor do raio: ")
leia (raio)

// VERIFICAR SE O VALOR DO RAIO É MAIOR QUE ZERO


se (raio > 0) entao
// cálculo da conversão
area 3,1415 * QUADRADO(raio)
Autor: Ernani Cláudio Borges. 10
// saída – mostrar resultado no vídeo
mostre ("Resultado da area da circunferencia = ", area)
senao
// saída – mostrar resultado no vídeo
Mostre ("Valor do raio é zero ou negativo ... está invalido!")
fimse

pausa
fim.

2.2.2 Exemplo 5 – verificar se número é divisível por 2.

Em regra matemática, para sabermos se um número é divisível por outro


número, utilizamos a função chamada RESTO ou MOD em algumas linguagens de
programação, conforme apresentado no módulo 1, Você lembra?
Vamos recordá-la ...
A Função RESTO retorna o resto da divisão entre dois números inteiros. Sua
sintaxe (forma de escrever a função) é:

Sintaxe resultado
10 resto 2 resto = 0
11 resto 2 resto = 1
10 resto 3 resto = 1
59 resto 5 resto = 4

Em uma linguagem mais clara, quando fazemos a divisão na “mão/papel”,


teremos:

10 2 11 2 10 3 59 5
0 5 1 5 1 3 4 11

resto resto resto resto

Autor: Ernani Cláudio Borges. 11


Pode-se observar nos exemplos acima, que a divisão acontece enquanto não
é necessário usar casas decimais. E, observa-se também, que somente o primeiro
exemplo com o número o resto foi ZERO sem precisar de usar casas decimais, ou
seja, o número 10 é divisível por 2, pois possui o resto igual a ZERO. Os demais não
são divisíveis por seus respectivos divisores, porque não obtiveram o resto igual a
zero, ok?

2.2.2.1 Visão central do problema

Receber um número inteiro e mostrar se ele é divisível por 2.


1) se a condição for verdadeira (valor do resto for igual a zero)
mostrar uma mensagem no vídeo "Esse número é divisível por 2";
2) se a condição for falsa (valor do resto diferente de zero) mostrar
uma mensagem "Esse número NÃO é divisível por 2".

Desta forma vamos executar os seguintes passos:


1) criar as variáveis nr e res do tipo real;
2) inicializar as variáveis;
3) receber o número via teclado (usuário irá digitar);
4) calcular o resto;
4) verificar se o resto (conteúdo da variável res) é igual a zero:
4.1) se verdadeiro:
4.1.1) mostrar ("Esse número é divisível por 2")
4.2) senão
4.2.1) mostrar ("Esse número NÃO é divisível por 2")
5) finalizar o algoritmo

Autor: Ernani Cláudio Borges. 12


2.2.2.2 Visão panorâmica da resolução do problema

/*
Cabeçalho: Algoritmo para cálculo número divisível por 2
Nome do Programador: Ernani Cláudio Borges
Data: 08/04/2013
*/

/* nome do algoritmo */
algoritmo divisivel_por_2

/*bloco para criar e determinar os tipos de variáveis */


var
nr, res : inteiro

/*bloco do código principal */


inicio

// inicializar variáveis para tirar lixo de memória e


// sabermos qual o conteúdo inicial da variável
nr 0
res 0

/*
corpo do algoritmo
entrada dos dados via teclado pelo usuário
*/
mostre ("Digite um número inteiro: ")
leia (nr)

// cálculo da função RESTO


res nr resto 2

// Verificar se o conteúdo da variável res é igual a zero


se (res = 0) entao
// saída – mostrar resultado no vídeo
mostre ("Esse número é divisível por 2")
senao
// saída – mostrar resultado no vídeo
Mostre ("Esse número é divisível por 2")
fimse

pausa
fim.

Autor: Ernani Cláudio Borges. 13


2.2.3 Exemplo 6 – verificar idade de uma pessoa.

Quando se trata de idade de pessoas, sabemos que não existe idade


negativa, ou seja, idade menor que zero. A idade pode ser zero ano (considerando
bebes com meses de vida) ou maior ou igual a um ano.
Desta forma vamos considerar em nossos trabalhos, que idade deve ser
sempre maior ou igual a zero, ok?

2.2.3.1 Visão central do problema

Receber a idade de uma pessoa, processar a verificação se a


idade é maior ou igual a zero e mostrar:
1) se a condição for verdadeira, mostrar uma mensagem no vídeo:
"Idade válida!";
2) senão, se a condição for falsa mostrar uma mensagem no vídeo:
"Idade inválida!".

Desta forma vamos executar os seguintes passos:


1) criar a variável id do tipo inteiro;
2) inicializar a variável id;
3) receber o número referente a idade via teclado (usuário irá
digitar);
4) verificar se conteúdo da variável id é maior ou igual a zero:
4.1) se verdadeiro:
4.1.1) mostrar ("Idade válida!")
4.2) senão
4.2.1) mostrar ("Idade Inválida!")
5) finalizar o algoritmo

Autor: Ernani Cláudio Borges. 14


2.2.3.2 Visão panorâmica da resolução do problema

/*
Cabeçalho: Algoritmo para verificar idade de uma pessoa
Nome do Programador: Ernani Cláudio Borges
Data: 22/04/2013
*/

/* nome do algoritmo */
algoritmo idade_valida

/*bloco para criar e determinar os tipos de variáveis */


var
id : inteiro

/*bloco do código principal */


inicio

// inicializar variáveis para tirar lixo de memória e


// sabermos qual o conteúdo inicial da variável
id 0

/*
corpo do algoritmo
entrada dos dados via teclado pelo usuário
*/
mostre ("Digite um número inteiro para representar a idade: ")
leia (id)

// Verificar se o conteúdo da variável res é igual a zero


se (id >= 0) entao
// saída – mostrar resultado no vídeo
mostre ("Idade válida!")
senao
// saída – mostrar resultado no vídeo
Mostre ("Idade Inválida!")
fimse

pausa
fim.

2.3 Em foco: o que é uma Estrutura Condicional Múltipla?

O que diferencia uma Estrutura Condicional “Simples” e “Composta” da


Estrutura Condicional “Múltipla” é que a múltipla permite que você coloque uma
Condicional dentro de outra, ou seja, um “se” dentro de um “se” ou dentro de um
“senão”.
Autor: Ernani Cláudio Borges. 15
Acredito que você irá compreender melhor essa idéia vendo a estrutura ...
observa o quadro que se segue:

.
.
.
se (condição1) entao
comando 1
comando 2
senão // separa a condição verdadeira da condição falsa da condição 1
se (condição2) entao
comando 3
comando 4
senão // separa a condição verdadeira da condição falsa da condição 2
comando 5
comando 6
fimse // fecha o bloco da condição 2
fimse // fecha o bloco da condição 1
mostre (“acabou”)
.
.
.
fim

Vendo o exemplo acima, podemos observar que:


1º) se a (condição1) for verdadeira, será executado os comandos 1 e 2, a
seqüência lógica irá para a linha abaixo do “fimse” que fecha o bloco da condição 1,
e irá mostrar “acabou”,
2º) se a (condição1) for falsa, a seqüência lógica irá para a primeira linha
abaixo do senão que separa o bloco verdadeiro da condição 1 e irá executar o “se”
da (condição2), e na mesma lógica de raciocínio, é feita a análise, se a (condição2)
for verdadeira, será executado os comandos 3 e 4 e a seqüência lógica irá para a
primeira linha abaixo do fimse que fecha o bloco da condição 2, que nesse caso, é o
fimse que fecha a condição e na sequencia ser mostrado “acabou”
Agora ... caso a condição2 for falsa, será executado os comandos 5 e 6, a
sequencia lógica irá para primeira linha abaixo do fimse que fecha o bloco da
condição2, na sequencia o fimse que fecha a condição1 e será mostrado “acabou”.
Vamos aos exemplos, acredito que na prática você compreenderá melhor!

Autor: Ernani Cláudio Borges. 16


2.3.1 Exemplo 7 – verificar se a idade de uma pessoa é inválida, zero ano ou
maior que zero.

Partindo do princípio do exemplo 6, vamos considerar que a idade de uma


pessoa pode ser zero ano de vida (considerando bebes com meses de vida), maior
que zero ou idade inválida (idade abaixo de zero).

2.3.1.1 Visão central do problema

Receber a idade de uma pessoa, processar a verificação se a


idade é menor que zero, senão se é maior que zero ou negativa
(inválida) e mostrar:
1) se menor que zero: “Idade inválida”
2) senão, se idade igual a zero: “Idade Zero anos de vida”
3) senão: "Idade inválida!".

Desta forma vamos executar os seguintes passos:


1) criar a variável id tipo inteiro;
2) inicializar a variável id;
3) receber o número referente a idade via teclado (usuário irá
digitar);
4) verificar se conteúdo da variável id é menor que zero:
4.1) se verdadeiro:
4.1.1) mostrar ("Idade Inválida!")
4.2) senão
4.2.1) se idade igual a zero
4.2.1.1) mostrar ("Idade igual a zero !")
4.2.2) senão
4.2.2.1) mostrar (“Idade maior que zero!”)
5) finalizar o algoritmo

Autor: Ernani Cláudio Borges. 17


2.3.1.2 Visão panorâmica da resolução do problema

/*
Cabeçalho: Algoritmo para verificar idade de uma pessoa em múltipla verificação
Nome do Programador: Ernani Cláudio Borges
Data: 22/04/2013
*/

/* nome do algoritmo */
algoritmo idade_multipla_verificacao

/*bloco para criar e determinar os tipos de variáveis */


var
id : inteiro

/*bloco do código principal */


inicio

// inicializar variáveis para tirar lixo de memória e


// sabermos qual o conteúdo inicial da variável
id 0

/*
corpo do algoritmo
entrada dos dados via teclado pelo usuário
*/
mostre ("Digite um número inteiro para representar a idade: ")
leia (id)

// Verificar se o conteúdo da variável res é igual a zero


se (id < 0) entao
// saída – mostrar resultado no vídeo
mostre ("Idade Inválida!")
senao
se (id = 0)
// saída – mostrar resultado no vídeo
Mostre (“Idade igual a zero”)
senao
// saída – mostrar resultado no vídeo
Mostre ("Idade maior que zero!")
fimse

pausa
fim.

Autor: Ernani Cláudio Borges. 18


2.3.2 Exemplo 8 – horas, minutos e segundos

Você sabe quantos segundos tem 01 minuto? E sabe quantos minutos tem
uma hora?
Nosso próximo exercício irá trabalhar com conversão de hora em minutos e
minutos em segundos. Pois, sabemos que 1 hora é igual a 60 minutos e 1 minuto é
igual a 60 segundos.
Vale ressaltar que não existe número de horas e minutos negativos, ou seja,
menor que zero.
Sabendo destes detalhes, analise a visão central do problema logo a seguir.

2.3.2.1 Visão central do problema

Elaborar um algoritmo que receba horas e minutos (uma variável


para horas e outra variável para os minutos). Processar (calcular) e
mostrar:
a) a hora digitada convertida para minutos;
b) o total dos minutos, ou seja, os minutos digitados mais o
resultado da conversão das horas em minutos;
c) o total geral dos minutos (o resultado da opção b) convertidos
em segundos.

Desta forma vamos executar os seguintes passos:


1) criar as variáveis hr, min, hr_min, tot_min, tot_seg do tipo
inteiro;
observação sobre as variáveis:
hr ................ irá receber as horas digitados pelo usuário;
min ............. irá receber os minutos digitados pelo usuário;
hr_min ........ irá receber a conversão da hora em minutos;
tot_min ....... irá receber a soma dos de todos os minutos;
tot_seg ....... irá receber o resultado da conversão de todos

Autor: Ernani Cláudio Borges. 19


os minutos para segundos.
2) inicializar todas as variáveis com zero;
3) receber o número referente a hora via teclado (usuário irá
digitar);
4) verificar se esse número é negativo, caso verdadeiro, dar uma
mensagem e finalizar o algoritmo;
4) senão, receber o número referente aos minutos via teclado
(usuário irá digitar);
4) verificar se esse número dos minutos é negativo, caso
verdadeiro, dar uma mensagem e finalizar o algoritmo;
4.1) senão, fazer os cálculos e mostrar os resultados:
5) finalizar o algoritmo

2.3.2.2 Visão panorâmica da resolução do problema

/*
Cabeçalho: Algoritmo cálculo de horas, minutos e segundos
Nome do Programador: Ernani Cláudio Borges
Data: 22/04/2013
*/

/* nome do algoritmo */
algoritmo horas_minutos_segundos

/*bloco para criar e determinar os tipos de variáveis */


var
hr, min, hr_min, tot_min, tot_seg : inteiro

/*bloco do código principal */


inicio

// inicializar variáveis para tirar lixo de memória e


// sabermos qual o conteúdo inicial da variável
hr 0
min 0
hr_min 0
tot_min 0
tot_seg 0

/*

Autor: Ernani Cláudio Borges. 20


corpo do algoritmo
entrada dos dados via teclado pelo usuário
*/
mostre ("digite um número positivo para representar horas: ")
leia (hr)
// verificar se o conteúdo da variável é menor que zero
se (hr < 0) entao
// saída – mostrar resultado no vídeo
mostre ("valor de horas negativo ... sendo inválido!")
senão
mostre (“digite um número positivo para representar minutos: ”)
leia (min)
se (min < 0)
// saída – mostrar resultado no vídeo
mostre (“valor de minutos negativo ... sendo inválido! ”)
senao
// cálculos de conversão de horas em minutos
hr_min hr * 60
// cálculos do total de minutos ... soma
tot_min hr_min + min
// cálculos dos segundos totais
tot_seg (tot_min * 60)
// saída – mostrar resultado no vídeo
mostre ("Valor da hora convertida para minutos = ", hr_min)
mostre (“Valor total de minutos = ”, tot_min)
mostre (“Valor total de segundos = ”, tot_seg)
fimse
fimse
mostre (“acabou !”)
pausa
fim.

2.3.3 Exemplo 9 – média aritmética de 3 notas de um aluno

Este exemplo irá trabalhar com nosso raciocínio ainda mais, pois, queremos
receber 3 números do tipo real, os quais irão representar notas de um alunos e
vamos calcular a média aritmética para estas notas.
Para representarmos as notas do aluno, vamos determinar que essas notas
não podem ser negativas e nem maior que 10 (dez) pontos.
E para o calculo da média, você como proceder?
A regra matemática diz que a média aritmética é a soma dos números,
dividido pela quantidade de número informados ... o que em nosso exemplo, será a
soma dos 3 números dividir por 3.

Autor: Ernani Cláudio Borges. 21


Fique de olho!
Você conseguiu compreender o raciocínio matemático para o cálculo da
média aritmética das três notas do alunos?
Vamos exemplificar com valores ... imagine os seguintes valores para as
notas:
Nota1 = 6
Nota2 = 9
Nota3 = 6

Considerando esses valores, qual o valor da média entre essas três notas?
Conseguiu somar? E dividir?
Bom ...
Teremos a soma igual 21 ... e o resultado da divisão igual a 7,0
É muito importante que você, em caso de dúvidas, procure ajuda junto ao seu
tutor, ok?

2.3.3.1 Visão central do problema

Elaborar um algoritmo que receba 3 notas de alunos, sendo estas


notas maior ou igual a 0 e menor 10 pontos. Fazer as verificações
durante a entrada de cada nota e caso verdadeiro e mostrar o valor da
média.

Desta forma vamos executar os seguintes passos:


1) criar as variáveis nota1, nota2, nota3, vl_media do tipo real;
2) inicializar todas as variáveis com zero;
3) receber a primeira nota e verificar se está entre 0 e 10, caso
verdadeiro, receber a nota2, verificar a nota2 se está no intervalo
de 0 e 10, caso verdadeiro, receber a nota3, verificar a nota3 se
está no intervalo de 0 a 10, caso verdadeiro, calcular a média e

Autor: Ernani Cláudio Borges. 22


mostrar o resultado no vídeo.
Caso se tenha alguma nota inválida, ou seja, menor que zero ou
maior que 10, dar uma mensagem e finalizar o algoritmo.
4) finalizar o algoritmo

2.3.3.2 Visão panorâmica da resolução do problema

/* Cabeçalho: Algoritmo cálculo média de 3 notas


Nome do Programador: Ernani Cláudio Borges
Data: 22/04/2013
nome do algoritmo */
algoritmo media_notas
/*bloco para criar e determinar os tipos de variáveis */
var
nota1, nota2, nota3, media : real
/*bloco do código principal */
inicio
// inicializar variáveis para tirar lixo de memória e
// sabermos qual o conteúdo inicial da variável
Nota1 0
Nota2 0
Nota3 0
media 0
/* corpo do algoritmo
entrada dos dados via teclado pelo usuário */
mostre ("digite o valor da primeira nota: ")
leia (nota1)
// verificar se a nota é negativa ou maior que 10
se ( (nota1 < 0) ou (nota1 > 10) ) então
// saída – mostrar resultado no vídeo
mostre (“valor primeira nota invalido ... negativo ou maior que dez”)
senao
mostre ("valor o valor da segunda nota:. ")
leia (nota2)
// verificar se a nota é negativa ou maior que 10
se ( (nota2 < 0) ou (nota2 > 10) ) entao
// saída – mostrar resultado no vídeo
mostre (“valor segunda nota invalido ... negativo ou maior que dez”)
senao
mostre ("valor o valor da terceira nota:. ")
leia (nota3)
// verificar se a nota é negativa ou maior que 10
se ( (nota2 < 0) ou (nota2 > 10) ) entao

Autor: Ernani Cláudio Borges. 23


mostre (“valor terceira nota invalido ... negativo ou maior que dez”)
senao
// calculo da média
media (nota1 + nota2 + nota3) / 3
mostre (“valor da média = ”, media)
fimse
fimse
fimse
mostre (“acabou !”)
pausa
fim.

Autor: Ernani Cláudio Borges. 24


REFERÊNCIAS

ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação de


computadores. Prentice Hall. São Paulo, 1999.

ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação de


computadores. Prentice Hall. São Paulo, 2002.

ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação de


Computadores: Algoritmos, Pascal, C/C++ e Java. 2ed. São Paulo: Pearson
Prentice Hall, 2007.

GUIMARÃES, Ângelo de Moura; LAGES, Newton Alberto de Castilho. Algoritmos e


Estruturas de Dados. 23ed. Rio de Janeiro: LTC – Livros Técnicos e Científicos
Editora S.A., 1994.

FARRER, Harry, Algoritmos Estruturados. LTC. Rio de Janeiro, 1999

FORBELLONE, André Luiz Villar. A lógica de Programação: A construção de


Algoritmos e Estruturas de Dados. São Paulo: Makron Books, 1993.

MANZANO, José Augusto. Algoritmos: Lógica para Desenvolvimento de


programação. Érica. São Paulo, 1996.

Autor: Ernani Cláudio Borges. 25

Você também pode gostar