Buscar

prog_estru

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
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).
 
UM ALGORITMO NÃO ESTRUTURADO
1		Vá para o DEVIO_2
2 DESVIO_1:
3		Se precisa comprar algo então
4			Vá para o DESVIO_3
5		Senão Vá para o DESVIO_7
6 DESVIO_3:
7		Procure a chave do carro
8		Se não achou então
9		 	Vá para o DESVIO_5
10		Senão 	Vá para o DESVIO_6
11 DESVIO_2:
12		Se estiver de dia então
13			Vá para o DESVIO_1
14		Senão
15			Vá para o DESVIO_7
16 DESVIO_6
17		Ligue o carro
18		Dirija até o supermercado
19		Faça compras
20		Vá para o DESVIO_2
21 DESVIO_7
22		Fim do algoritmo
23 DESVIO_5
Vá para o DESVIO_3
ESTRUTURAS BÁSICAS
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. Quando declaramos as variáveis é necessário também informar qual será o tipo de informação a ela associado. Em função do tipo de informação, com o qual a variável, irá “trabalhar”, será reservado a (s) posição (coes) de memória. Se a variável for do tipo inteiro, reserva de 16 bits. Se for do tipo lógica, reserva de 1 bit. Se for do tipo caractere, conjunto de N vezes 8 bits. Supondo que o nosso computador irá usar conjunto de 16 bits para cada número inteiro, 1 bit para cada informação lógica e 8 bits para cada caractere.
EXEMPLOS:
VAR num: inteiro
 X, Y: real
 Chave: lógica
 Nome, ender: caracter[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
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 sequência 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
		 NOTA ( NOTA + 10
 Mostre ‘*’
 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 sequências.
	 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
	 
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 – a Instrução REPITA é a única que não necessitará das palavras INÍCIO e FIM para encapsular a sequencia) 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 seqüência e depois testa.
�
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
 
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 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.
�
3.4 UM ALGORITMO ESTRUTURADO
	A partir do exemplo inicial (não estruturado)
	INÍCIO 1
	 ENQUANTO (estiver de dia) E (precisar comprar algo)INÍCIO 2
 REPITA
 Procure a chave do carro
 ATÉ QUE encontre a chave
 SE estiver de dia ENTÃO
 INÍCIO 3
 Ligue o carro
 Dirija até o supermercado
 Faça as compras
 FIM 3
 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
 	 Sequência {V}
 	continua
7	 Repita
 	 Sequência {F}
 	 Até que (oper e/ou cond e/ou var) {V} para
 	 continua
8	 Faça N vezes
 	 sequência
 	 continua
9 	Faça de VC ( VI até VF de RA
 	 sequência
 	continua

Outros materiais