Buscar

Iniciação à Programação Estruturada

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMAÇÃO ESTRUTURADA 
 
3.1 HISTÓRICO 
 
 Na programação estruturada devemos sempre evitar o uso de comandos de desvio, sem 
depender do resultado de uma condição. O mais utilizado antigamente era o GOTO (vá 
para). Utilizando apenas a definição de algoritmo e as instruções que serão apresentadas, é 
possível escrever programas sem a instrução GOTO (vá para). 
 
3.2 UM ALGORITMO NÃO ESTRUTURADO 
 
1 Vá para o DEVIO_9 
2 DESVIO_4 
3 Se Delta maior que zero então 
4 Escreva ‘RAIZES DISTINTAS’ 
5 Calcule R = Raiz quadrada de DELTA 
6 Calcule X1 = ( -B + R) / (2*A) 
7 Calcule X2 = ( -B - R) / (2*A) 
8 Vá para o DESVIO_7 
9 DESVIO_9: 
10 Se tem equação do seg. grau para calcular as raízes 
11 Vá para o DESVIO_3 
12 Senão 
13 Vá para o DESVIO_7 
14 DESVIO_3: 
15 Leia o coeficiente A 
16 Se A for igual a zero 
17 Vá para o DESVIO_5 
18 Senão 
19 Vá para o DESVIO_6 
20 DESVIO_2: 
21 Se DELTA for menor que zero 
22 Escreva ‘RAIZES IMAGINÁRIAS’ 
23 Vá para o DESVIO_7 
24 Senão 
25 Vá para o DESVIO_8 
26 DESVIO_6 
27 Leia os coeficientes B e C 
28 Calcule o valor do DELTA = B*B – 4*A*C 
29 Vá para o DESVIO_2 
30 DESVIO_7 
31 Fim do algoritmo 
32 DESVIO_5 
33 Vá para o DESVIO_3 
34 DESVIO_8 
35 Se DELTA for igual a zero então 
36 Escreva ‘RAIZ ÚNICA’ 
37 Calcule X1 = -B / (2*A) 
38 Vá para o Desvio_7 
39 Senão 
40 Vá para o DESVIO_4 
 
 
 
3.3 ESTRUTURAS BÁSICAS 
 
1. Declaração das Variáveis 
Lembre-se, antes de começar a escrever o algoritmo, temos que saber resolver o 
problema. Com a solução em mente, o segundo passo é declarar as variáveis 
necessárias para levar/trazer as informações para/da Memória Principal. Para isso, 
usaremos a declaração VAR, seguida da lista de variáveis com os respectivos tipos. A 
declaração das variáveis “cria” um endereço na memória principal (MP) “ligado” a 
variável. 
EXEMPLOS: 
VAR num: inteiro 
 X, Y: real 
 Chave: lógica 
 Nome, ender: caracter[40] 
 
2. Processamento Sequencial 
Grupo de instruções que são executadas uma após a outra. Pode conter uma ou mais 
instruções. Quando houver mais de uma instrução, usam-se as palavras INÍCIO e 
FIM, para delimitar as instruções que fazem parte da seqüência. 
 
F.U.P. que leia um número calcule e mostre o seu quadrado. 
 VAR X, B: INTEIRO 
INÍCIO 
 LEIA X 
 B  X *X 
 MOSTRE X, ‘ AO QUADRADO : ‘ , B 
 FIM 
=============X=================X====================X============ 
 
 LEIA NOTA 
 
3. Condicional 
Executa um processamento seqüencial (ver definição de processamento seqüencial) 
de acordo com o resultado de uma operação relacional, lógica ou uma variável lógica. 
 Primeiro Caso 
Se uma operação for verdadeira executa uma seqüência e continua, se falsa, pula a 
seqüência e continua. 
 
F.U.P. que leia e mostre uma nota, caso nota menor que 50 adicionar 10 à nota lida. 
 VAR NOTA: INTEIRO 
 INÍCIO 
 LEIA NOTA 
 SE NOTA < 50 ENTÃO 
 NOTA  NOTA + 10 
 MOSTRE NOTA 
 FIM 
 
No exemplo acima a sequencia que esta condicionada possui apenas uma instrução. 
Repetir o exemplo acima mostrando um ‘*’ antes de mostrar as notas acrescidas de 10. 
 VAR NOTA: INTEIRO 
 INÍCIO 
 LEIA NOTA 
 SE NOTA < 50 ENTÃO 
 início 
 MOSTRE ‘*’ 
 NOTA  NOTA + 10 
 fim 
 MOSTRE NOTA 
 FIM 
 
 Segundo Caso 
 Se uma operação for verdadeira, executa uma seqüência (ver definição de 
processamento seqüencial) e continua, senão executa outra seqüência (ver definição 
de processamento seqüencial) e continua. 
 
F.U.P. que leia 2 notas. Calcule a média das notas lidas. Se média maior ou igual a 7 
mostre que o aluno está aprovado, caso contrario, mostre que o aluno esta reprovado. 
 VAR NOTA1, NOTA2:INTEIRO 
 MEDIA: REAL 
 INÍCIO 
 LEIA NOTA1, NOTA2 
 MEDIA  (NOTA1 + NOTA2) / 2 
 SE ( MEDIA >= 7 ) ENTÃO 
 MOSTRE ‘ALUNO APROVADO’ 
 SENÃO 
 MOSTRE ‘ALUNO REPROVADO’ 
 FIM 
 
Repetindo o exemplo acima com mais de uma instrução nas sequencias. 
 VAR NOTA1, NOTA2:INTEIRO 
 MEDIA: REAL 
 INÍCIO 
 LEIA NOTA1, NOTA2 
 MEDIA  (NOTA1 + NOTA2) / 2 
 SE ( MEDIA >= 7 ) ENTÃO 
 Início 
 MOSTRE ‘ALUNO APROVADO’ 
 Mostre ‘parabens’ 
 fim 
 SENÃO 
 Início 
 MOSTRE ‘ALUNO REPROVADO’ 
 Mostre ‘danou-se’ 
 Fim 
 Mostre MEDIA 
 FIM 
 
 
 
4. Processamento com Repetição 
Executa uma seqüência (ver definição de processamento seqüencial), nenhuma, uma 
ou várias vezes, de acordo com uma condição (operação relacional ou lógica). 
 Primeiro caso 
 Se a operação for verdadeira, executa uma seqüência (ver definição de 
processamento seqüencial) e testa novamente. 
 
F.U.P. que leia um número que tem que ser diferente de zero, calcule e mostre a 
divisão de 100 pelo número lido. (Validar informação de entrada). 
 VAR X: INTEIRO 
 B: REAL 
 INÍCIO 
 LEIA X 
 ENQUANTO ( X = 0 ) 
 LEIA X 
 B  100 / X 
 MOSTRE B 
 FIM 
 
Caso fosse pedido para mostrar o número lido, seria necessário utilizar as palavras 
Início e Fim, para encapsular a seqüência. 
 VAR X: INTEIRO 
 B: REAL 
 INÍCIO 
 LEIA X 
 ENQUANTO ( X = 0 ) 
 INÍCIO 
 MOSTRE X 
 LEIA X 
 FIM 
 B  100 / X 
 MOSTRE B 
 FIM 
Obs.: a seqüência pode ser executada nenhuma vez, pois primeiro testa, depois 
executa, caso a condição seja V. 
 
 Segundo caso 
 Executa uma seqüência (ver definição de processamento seqüencial) e se a 
operação for falsa, executa novamente. 
 
Mesmo enunciado anterior 
 VAR X: INTEIRO, B:REAL 
 INÍCIO 
 REPITA 
 LEIA X 
 ATÉ QUE ( X <> 0 ) 
 B  100 / X 
 MOSTRE B 
 FIM 
Obs.: sempre será executado pelo menos uma vez, pois primeiro executa a sequencia 
e depois testa. 
 
 
5. Repetição de um número determinado de vezes. 
 
F.U.P. que leia e mostre 10 números. 
 
VAR NUM: INTEIRO 
INÍCIO 
 FAÇA 10 VEZES 
 INÍCIO 
 LEIA NUM 
 MOSTRE NUM 
 FIM 
FIM 
 
6. Repetição com o uso de variável de controle 
 
Idem ao anterior. 
VAR NUM, CONT: INTEIRO 
INÍCIO 
 FAÇA DE CONT  1 ATÉ 10 
 INÍCIO 
 LEIA NUM 
 MOSTRE NUM 
 FIM 
FIM 
 
F.U.P. que mostre todos os números pares entre 1 e 45. 
VAR PAR: INTEIRO 
 INÍCIO 
 MOSTRE ‘NUMEROS PARES’ 
 FAÇA DE PAR  2 ATÉ 45 DE 2 
 MOSTRE PAR, ‘ no intervalo’ 
 FIM 
 
 Ou seja, 
 
 FAÇA DE (variável de controle)  (valor inicial) ATÉ (valor final) DE (razão) 
 
 A variável de controle assume valores de uma progressão aritmética, com valor inicial, 
razão e valor final conhecidos. Para cada valor assumido, a seqüência (ver definição de 
processamento seqüencial) abaixo da instrução é executada. A repetição termina, 
quando a variável de controle estiver com um valor igual (executa a seqüência (ver 
definição de processamento seqüencial) pela última vez) ou maior que o valor final 
estabelecido (aí então não executa a seqüência). Quando a razão for 1 (um) não 
precisamos representá-la. 
 
 
3.4 UM ALGORITMO ESTRUTURADO 
 A partir do exemplo inicial (não estruturado) 
 
 INÍCIO 1 
 LEIA A 
 ENQUANTOA<>0 
 INÍCIO 2 
 LEIA B,C 
 DELTA  B*B – 4*A*C 
 SE DELTA < 0 ENTÃO 
 MOSTRE ‘RAIZES IMAGINÁRIAS’ 
 SENÃO 
 SE DELTA = 0 ENTÃO 
 INICIO 3 
 MOSTRE ‘RAIZ ÚNICA’ 
 X1  –B/(2*A) 
 MOSTRE ‘X1 = X2 = ‘, X1 
 FIM3 
 SENÃO 
 INÍCIO 4 
 MOSTRE ‘RAIZES DISTINTAS’ 
 RAIZ  DELTA ** 0.5 
 X1  (–B + RAIZ)/(2*A) 
 X2  (–B – RAIZ)/(2*A) 
 MOSTRE X1,X2 
 FIM 4 
 LEIA A 
 FIM 2 
 FIM 1 
Resumindo 
 
1  
 
2 Leia 
 
3 Mostre 
 
4 se (oper e/ou cond e/ou var ) então 
 Seq {V} 
 Continua {V} e {F} 
 
5 se (oper e/ou cond e/ou var) então 
 seq 1 {V} 
 senão 
 seq 2 {F} 
 continua {V} e {F} 
 
6 Enquanto (oper e/ou cond e/ou var) {F} para 
 Sequencia {V} 
 continua 
 
7 Repita 
 Sequencia {F} 
 Até que (oper e/ou cond e/ou var) {V} para 
 continua 
 
8 Faça N vezes 
 sequencia 
 continua 
 
9 Faça de VC  VI até VF de RA 
 sequencia 
 continua

Outros materiais