Baixe o app para aproveitar ainda mais
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
Compartilhar