Você está na página 1de 6

5.

Análise de um problema
Antes de prosseguirmos, chamamos a atenção dos iniciantes em programação, para uma fase
do desenvolvimento de programas, muitas vezes negligenciada, que é encontrar a solução do
problema. Lembre-se de que o nosso objetivo, como programadores, é criarmos uma solução
para um problema através do computador. Se não conhecemos a solução de um problema não
conseguiremos instruir o computador a resolvê-lo.

Vejamos um exemplo. Suponha que você deseja criar um programa para calcular a situação
dos alunos de uma escola ao final do período letivo. Você sabe se as notas são agrupadas por
bimestres ou trimestres? Você sabe se a recuperação é bimestral, trimestral ou semestral?
Você sabe a média para ser aprovado? Quais as condições para aprovação? Qual a quantidade
máxima de faltas possíveis? Se você desconhece alguma das questões anteriores não será
possível criar um programa para resolver o problema. Aqui vai uma dica muito importante:
elabore uma solução para o problema antes de começar a codificar um programa para resolvê-
lo.

O nosso objetivo é criar programas para que o computador possa executá-los. Todo programa
é constituído de instruções que orientarão o computador a resolver um determinado
problema. Se você não conhece a solução do problema não conseguirá instruir o computador a
resolvê-lo. Então fica a dica: só comece a implementação de um programa depois de planejar
a solução do problema. Isso é uma tarefa anterior à codificação. Essa é a maior dificuldade em
programação: elaborar uma solução para um problema que não dominamos ou que não
lidamos em nosso dia a dia.

Vamos codificar um programa para calcular índice de massa corpórea de um indivíduo. Você
sabe o que é IMC? Você sabe como calcular o IMC? Em caso negativo não comece a codificar o
programa. Pesquise, converse com o seu cliente ou chefe até que você seja capaz de
identificar as três partes de um programa:

1. Dados de saída
Levantar e analisar todas as saídas exigidas na especificação do problema.

2. Dados de entrada
Levantar e analisar todas as entradas citadas na especificação do problema.

3. Processamento
Levantar todas as transformações necessárias para, dadas as entradas e valores
gerados internamente, produzir as saídas especificadas. Quais cálculos serão
realizados? Quais condições devem ser obedecidas?

Algoritmos
Prof. Hilton Cardoso Marins Junior Página 13 de 22
Agora vamos identificar as três partes citadas, relacionadas ao nosso problema. Ao
pesquisarmos sobre o assunto descobrimos que o índice de massa corpórea (IMC) de um
indivíduo é obtido dividindo-se o seu peso (em Kg) por sua altura (em metros) ao quadrado.
𝑝𝑒𝑠𝑜
𝐼𝑀𝐶 =
𝑎𝑙𝑡𝑢𝑟𝑎

Assim, por exemplo, uma pessoa de 1,67m e pesando 55kg tem IMC igual a 19.72.

55
𝐼𝑀𝐶 = = 19.72
1.67

Dados de Saída:
imc
Dados de Entrada:
peso
altura

Processamento:
Imc = peso / altura * altura

Algoritmos
Prof. Hilton Cardoso Marins Junior Página 14 de 22
6. Javascript em uma página HTML
Vimos anteriormente que para incluir instruções Javascript em uma página HTML utilizamos as
tags <script> e </script>. Podemos também indicar a linguagem de script a ser utilizada:

<script language="javascript">
...
</script>

Agora veremos os diferentes locais em que podemos incluir um script Javascript em um código
HTML:

1. Em arquivo externo ao documento HTML


2. No cabeçalho do documento HTML
3. Dentro de tags, utilizando tratadores de eventos do documento HTML
4. No corpo do documento HTML

<html>
<head>
<title>Exemplo 1 – Javascript no cabecalho </title>
<script language="javascript">
document.write("Ola!");
</script>
</head>
</hmtl>

<html>
<head>
<title>Exemplo 2 – Javascript no arquivo externo </title>
<script language="javascript" src="nome_arquivo.js">
//chamada de uma função que está no arquivo externo
</script>
</head>
</hmtl>

<html>
<head>
<title>Exemplo3 –Javascript no corpo do HTML e em Evento</title>
<script type="text/javascript" src="funcoes.js"/></script>
</head>
<body>
<button onclick="olaMundo()">Clique aqui</button>
</body>
</html>

Algoritmos
Prof. Hilton Cardoso Marins Junior Página 15 de 22
7. Controle do Fluxo de Execução
Veremos agora uma das partes mais importantes do nosso curso, que é controlar o fluxo de
execução de um programa. Você já percebeu que todos os programas desenvolvidos até agora
apresentam uma sequência de instruções, ou seja, todas as instruções são executadas uma
após a outra em uma sequência da primeira até a última.

Haverá situações em que determinadas instruções só poderão ser executadas se uma


condição for obedecida. Para exemplificar vamos voltar ao cálculo do IMC e imaginar uma
funcionalidade capaz de indicar ao usuário a necessidade de se realizar um procedimento de
perda de peso. É óbvio que essa indicação de perda de peso só deve ser realizada se IMC for
superior a um determinado valor. Perceberam a vinculação de uma ação (indicação de perda
de peso) a uma condição (IMC maior que um determinado valor)?

Agora imagine outra situação em que o cálculo do IMC deverá ser realizado diversas vezes
para várias pessoas. Neste caso devemos indicar que algumas instruções deverão ser
executadas repetidas vezes.

Já ficou claro que haverá situações em que não conseguiremos implementar um programa
usando somente a estrutura sequencial de instruções. Será muito comum necessitarmos de
estruturas de controle que implementam a alternativa e a repetição.

7.1 Sequência
Comando-1;
Comando-2;
.
.
.

Os comandos serão executados um após o outro. As chaves indicam início e fim de um bloco
de comandos.

Algoritmos
Prof. Hilton Cardoso Marins Junior Página 16 de 22
7.2 Alternativa Simples

V V
Condição

C1
F

C2

Cn

Representação em fluxograma

if (expressão condicional){
c1;
c2;
.
.
.
cn;
}

Os comandos c1, c2, …, cn serão executados somente se a condição for verdadeira.

Algoritmos
Prof. Hilton Cardoso Marins Junior Página 17 de 22
7.3 Alternativa Composta

F V
Condição

C’1 C1

C’2 C2

C’n Cn

Representação em fluxograma

if (expressão condicional){
c1;
c2;
.
.
.
cn;
}else{
c’1;
c’2;
.
.
.
c’n;
}

Se a condição for verdadeira os comandos c1, c2, …, cn serão executados, caso contrário os
comandos c’1, c’2, ..., c’n é que serão executados.

Algoritmos
Prof. Hilton Cardoso Marins Junior Página 18 de 22

Você também pode gostar