Buscar

Iniciação à Programação Estruturada

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

PROGRAMAÇÃO ESTRUTURADA
HISTÓRICO
 Na programação estruturada devemos sempre evitar o uso de comandos de desvio, que não dependam 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).
UM AUM ALGORITMO NÃO ESTRUTURADOLGORITMO NÃO ESTRUTURADO
 	Vá para o DEVIO_9
DESVIO_4 
 	Se Delta maior que zero então
 	 Escreva ‘RAIZES DISTINTAS’
 	 Calcule R = Raiz quadrada de DELTA
 	 Calcule X1 = ( -B + R) / (2xA)
 	 Calcule X2 = ( -B - R) / (2xA)
 	 Vá para o DESVIO_7
DESVIO_9:
 	Se tem equação do seg. grau para calcular as raízes
 		Vá para o DESVIO_3
 	Senão
 		Vá para o DESVIO_7
DESVIO_3:
 	Leia o coeficiente A
 	Se A for igual a zero
 		Vá para o DESVIO_5
 	Senão
 		Vá para o DESVIO_6
DESVIO_2: 	
Se DELTA for menor que zero
 		Escreva ‘RAIZES IMAGINÁRIAS’
 		Vá para o DESVIO_7
 	Senão
 		Vá para o DESVIO_8
DESVIO_6
 	Leia os coeficientes B e C
 	Calcule o valor do DELTA = BxB – 4xAxC
 	Vá para o DESVIO_2
DESVIO_7
 	Fim do algoritmo
DESVIO_5
 	Vá para o DESVIO_3
DESVIO_8
 	Se DELTA for igual a zero então
 		Escreva ‘RAIZ ÚNICA’
 		Calcule X1 = -B / (2xA)
 		Vá para o Desvio_7
 	Senão
 		Vá para o DESVIO_4
Declaração VAR
Antes de começar a escrever o algoritmo (programa) é necessário declarar todas as variáveis que serão utilizadas. Usaremos a declaração VAR seguida da lista de variáveis com os respectivos tipos. Ao declarar a variável, automaticamente é gerado um endereço de memória associado a ela. 
Exemplo:
 VAR NOTA, NUM: INTEIRO
 MEDIA: REAL, chave: lógica
 NOME: CARAC[40]
Processamento Seqüencial 
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
Processamento 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.
Se ( oper e/ou cond e/ou var) então
 sequência
 continua
F.U.P. que leia e mostre uma nota, caso nota menor que 50 acrescente 10 à nota lida.
 	VAR NOTA:INTEIRO
 INÍCIO
 LEIA NOTA
 SE NOTA < 50 ENTÃO
 NOTA  NOTA + 10
 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.
Se ( oper e/ou cond e/ou var) então
 sequência 1
Senão
		sequência 2
continua
F.U.P. que leia 2 notas. Calcule e mostre 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		
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. Se operação for falsa, continua.
 Enquanto (oper e/ou cond e/ou var)
 sequência
 continua
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.
  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 a utilização das 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, se a operação for verdadeira continua.
 repita
 sequência
 até que (oper e/ou cond e/ou var)
 continua
Mesmo enunciado anterior 
 X: INTEIRO, B: REAL
 INÍCIO
 REPITA
		 LEIA X
 ATÉ QUE ( X <> 0 )
 B  100 / X
 MOSTRE B
 FIM
Repetição de um número determinado de vezes.
 F.U.P. que leia e mostre 10 números.
 NUM: INTEIRO
 INÍCIO
 FAÇA 10 VEZES
 INÍCIO
 LEIA NUM
 MOSTRE NUM
 FIM
 FIM
Repetição com o uso de variável de controle
 Idem ao anterior.
 CONT, NUM: INTEIRO
 INÍCIO
 FAÇA DE CONT  1 ATÉ 10
 INÍCIO
 LEIA NUM
 MOSTRE NUM
 FIM
 FIM
F.U.P. que mostre o início dos cursos de 2 em 2 horas, a partir das 12 horas até as 20 horas.
 VAR HOR: INTEIRO
 INÍCIO
 MOSTRE ‘INÍCIO DOS CURSOS’	
 FAÇA DE HOR  12 ATÉ 20 DE 2 	 MOSTRE HOR, ‘ HORAS’
 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.
UM ALGORITMO ESTRUTURADO. A partir do exemplo inicial (não estruturado) .
INÍCIO 1
 LEIA A
 ENQUANTO A<>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) {V} {F-para}
 sequência 
 Continua
7 Repita
 sequência
 Até que (oper e/ou cond e/ou var) {F} {V-para}
continua
8 Faça N vezes
 sequência
 continua
9 Faça de VC  VI até VF de RA
 sequência
 continua

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais