ALGORITMOS + PASCAL MODULO 3 6. ESTRTURAS DE CONTROLE – LAÇOS OU MALHAS DE REPETIÇÃO ........2 6.1 REPETIÇÃO DO TIPO: TESTE LÓGICO NO INICIO DO LOOPING................. 2 6.2 REPETIÇÃO DO TIPO: TESTE LÓGICO NO FIM DO LOOPING ...................... 3 6.3 REPETIÇÃO DO TIPO: VARIÁVEL DE CONTROLE .........................................4 6.4 ESTRUTURAS DE CONTROLE ENDADEADAS ................................................5 6.4 1 ENCADEAMENTO DE ESTRUTURAS ENQUANTO COM ENQUANTO ..5 6.4 2 ENCADEAMENTO DE ESTRUTURAS ENQUANTO COM REPITA .......... 5 6.4.3 ENCADEAMENTO DE ESTRUTURAS ENQUANTO COM PARA.............. 5 6.4 4 ENCADEAMENTO DE ESTRUTURAS REPITA COM REPITA................... 6 6.4.5 ENCADEAMENTO DE ESTRUTURAS REPITA COM ENQUANTO .......... 6 6.4.6 ENCADEAMENTO DE ESTRUTURAS REPITA COM PARA...................... 6 6.4.7 ENCADEAMENTO DE ESTRUTURAS PARA COM PARA ......................... 6 6.4.8 ENCADEAMENTO DE ESTRUTURAS PARA COM ENQUANTO.............. 6 6.4 9 ENCADEAMENTO DE ESTRUTURAS PARA COM REPITA...................... 6 6.5 EXERCICIOS ...........................................................................................................7 PROF. MARCIO FERREIRA DE JESUS 1 ALGORITMOS + PASCAL 6 - ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO Executa uma seqüência de comandos; nenhuma, uma ou várias vezes de acordo com uma condição, ou de acordo com uma variável de controle. 6.1 - REPETIÇÃO DO TIPO: TESTE LÓGICO NO INÍCIO DO LOOPING Inicialmente testa uma condição, se a condição for verdadeira, executa a seqüência de comandos contidos na estrutura, em seguida, testa novamente a condição para verificar se deve ou não executar novamente os comandos. ENQUANTO CONDIÇÃO FAÇA {COMANDOS CASO A CONDIÇÃO SEJA VERDADEIRA} FIM-ENQUANTO Em pascal WHILE CONDIÇÃO THEN BEGIN [COMANDOS CASO A CONDIÇÃO SEJA VERDADEIRA]; END; Criar um algoritmo que conte 5 vezes é enquanto conta leia um número e multiplique esse número por 3 e imprima o resultado. ALGORITMO EXEMPLO1 VAR X,R,CONT:INTEIRO INICIO CONT ←1 ENQUANTO CONT <= 5 FAÇA ESCREVA “DIGITE O VALOR DE X:”;LEIA X R←X*3 ESCREVA R CONT ← CONT + 1 FIM ENQUANTO FIM Em pascal PROGRAM EXEMPLO1; USES CRT; VAR X,R,CONT:INTEGER; BEGIN CLRSCR; CONT:=1; WHILE CONT <=5 THEN BEGIN WRITE(‘DIGITE O VALOR DE X:’);READLN(X); PROF. MARCIO FERREIRA DE JESUS 2 ALGORITMOS + PASCAL R:=X+3; WRITELN(R); CONT:=CONT+1; END; READKEY; END; 6.2 - REPETIÇÃO DO TIPO: TESTE LÓGICO NO FIM DO LOOPING Esta estrutura primeiro executa a seqüência de comandos contido na estrutura, após ter executado a seqüência, testa a condição para verificar se deve ou não executar novamente os comandos contidos na estrutura. REPITA {COMANDOS CASO A CONDIÇÃO SEJA FALSA} ATÉ CONDIÇÃO Criar um algoritmo para verificar se um número lido via teclado é Par, caso seja par o programa devera solicitar a leitura de outro número, caso este número seja impar o programa devera informar a mensagem “é impar” e sair do processamento. Em pascal REPEAT [COMANDOS CASO A CONDIÇÃO SEJA FALSA]; UNTIL CONDIÇÃO ALGORITMO EXEMPLO2 VAR NUMERO:REAL INICIO REPITA ESCREVA “DIGITE UM NÚMERO:”,LEIA NUMERO ATE (NUMERO MOD 2) <> 0 ESCREVA “O NÚMERO É IMPAR” FIM PROGRAM EXEMPLO2; USES CRT; VAR NUMERO:REAL; BEGIN CLRSCR; REPEAT WRITE(‘DIGITE UM NÚMERO:’);READLN(NUMERO); UNTIL (NUMERO MOD 2) <> 0; WRITELN(‘O NÚMEWRO É IMPAR’); READKEY; END. PROF. MARCIO FERREIRA DE JESUS 3 ALGORITMOS + PASCAL 6.3 - REPETIÇÃO DO TIPO: VARIÁVEL DE CONTROLE Executa “n” vezes a seqüência de comandos contidos nela. Onde “n” é previamente conhecido e estabelece a quantidade de vezes que haverá a repetição. PARA VARIÁVEL DE INICIO ATÉ FIM PASSO INCREMENTO FAÇA {COMANDOS} FIM-PARA Onde: VARIÁVEL INICIO FIM INCREMENTO decremento - variável de irá receber o contador - Limite inicial do contador - Limite final do contador - Determina passo 1, ou seja, de um em um incremento ou Em pascal FOR VARIÁVEL := INICIO TO FIM DO BEGIN [COMANDOS]; END; Criar um algoritmo para escrever na tela 20 vezes o seu nome ALGORITMO EXEMPLO3 VAR NOME:TEXTO CONT:INTEIRO INICIO ESCREVA “DIGITE UM NOME:”,LEIA NOME PARA CONT DE 1 ATÉ 20 FAÇA ESCREVA “seu nome é:”,NOME FIM-PARA FIM Criar um algoritmo para imprimir meu nome 10 vezes ALGORITMO EXEMPLO4 VAR NOME:TEXTO CONT:INTEIRO INICIO ESCREVA “DIGITE UM NOME:”,LEIA NOME PARA CONT DE 1 ATÉ 20 PASSO 2 FAÇA ESCREVA “seu nome é:”,NOME FIM-PARA FIM PROF. MARCIO FERREIRA DE JESUS 4 ALGORITMOS + PASCAL Criar um algoritmo para imprimir de 1 até 20 ALGORITMO EXEMPLO5 VAR I:INTEIRO INICIO PARA I DE 1 ATÉ 20 FAÇA ESCREVA I FIM-PARA FIM Criar um algoritmo para imprimir de 20 até 1 ALGORITMO EXEMPLO6 VAR I:INTEIRO INICIO PARA I DE 10 DECREMENTA 1 FAÇA ESCREVA I FIM-PARA FIM 6.4 - ESTRUTURAS DE CONTROLE ENCADEADAS 6.4.1 - ENCADEAMENTO DE ESTRUTURA ENQUANTO COM ENQUANTO ENQUANTO CONDIÇÃO1 FAÇA ENQUANTO CONDIÇÃO2 FAÇA {COMANDOS} FIM-ENQUANTO FIM-ENQUANTO 6.4.2 - ENCADEAMENTO DE ESTRUTURA ENQUANTO COM REPITA ENQUANTO CONDIÇÃO1 FAÇA REPITA {COMANDOS} ATÉ QUE CONDIÇÃO2 FIM-ENQUANTO 6.4.3 - ENCADEAMENTO DE ESTRUTURA ENQUANTO COM PARA ENQUANTO CONDIÇÃO1 FAÇA PARA VAR DE INICIO ATÉ FIM PASSO INCREMENTO FAÇA {COMANDOS} FIM-PARA FIM-ENQUANTO PROF. MARCIO FERREIRA DE JESUS 5 ALGORITMOS + PASCAL 6.4.4 - ENCADEAMENTO DE ESTRUTURA REPITA COM REPITA REPITA REPITA {COMANDOS} ATÉ QUE CONDIÇÃO2 ATÉ QUE CONDIÇÃO1 6.4.5 - ENCADEAMENTO DE ESTRUTURA REPITA COM ENQUANTO REPITA ENQUANTO CONDIÇÃO2 FAÇA {COMANDOS} FIM-ENQUANTO ATÉ QUE CONDIÇÃO1 6.4.6 - ENCADEAMENTO DE ESTRUTURA REPITA COM PARA REPITA PARA VAR DE INICIO ATÉ FIM PASSO INCREMENTO FAÇA {COMANDOS} FIM-PARA ATÉ QUE CONDIÇÃO 6.4.7 - ENCADEAMENTO DE ESTRUTURA PARA COM PARA PARA VAR1 DE INICIO ATÉ FIM PASSO INCREMENTO FAÇA PARA VAR2 DE INICIO ATÉ FIM PASSO INCREMENTO FAÇA {COMANDOS} FIM-PARA FIM-PARA 6.4.8 - ENCADEAMENTO DE ESTRUTURA PARA COM ENQUANTO PARA VAR DE INICIO ATÉ FIM PASSO INCREMENTO FAÇA ENQUANTO CONDIÇÃO FAÇA {COMANDOS} FIM-ENQUANTO FIM-PARA 6.4.9 - ENCADEAMENTO DE ESTRUTURA PARA COM REPITA PARA VAR DE INICIO ATÉ FIM PASSO INCREMENTO FAÇA REPITA PROF. MARCIO FERREIRA DE JESUS 6 ALGORITMOS + PASCAL {COMANDOS} ATÉ QUE CONDIÇÃO FIM-PARA 6.5 - EXERCICIOS 1 – Criar um algoritmo para apresentar todos os valores numéricos inteiros impares situados na faixa de 0 a 20. 2 – Criar um algoritmo para apresentar o total da soma obtida dos cem primeiros números inteiros. 3 – Criar um algoritmo para apresentar os resultados de uma tabuada (multiplicação) para um número qualquer. 4 – Criar um programa que apresente todos os números divisíveis por 4 que sejam menores que 200 5 – Apresentar os quadrados dos números inteiros de 15 a 200 6 – Criar um algoritmos para apresentar as potências de 3 variando de 0 a 15. Deve ser considerado que qualquer número elevado a zero é 1, e elevado a 1 é ele próprio. 7- Criar um programa que apresente a série de Fibonacci até o décimo quinto termo. A série de Fibonacci é formada pela seqüência: 1,1,2,3,5,8,13,21,34... etc. Esta série se caracteriza pela soma de um termo posterior com o seu subsequente. 8 – Criar um algoritmo para ler o nome é idade de um grupo de pessoas, quando o usuário terminar de digitar um número qualquer de pessoas, para finalizar o solicitação de nome e idade, o usuário deverá digitar “FIM’ para o próximo nome. Ao final o programa deverá imprimir o nome e idade da pessoa mais idosa, ou seja, a pessoa com maior idade e a pessoa mais nova, ou seja, a pessoa com menor idade. 9 – Criar um programa que determine todos os números pares compreendidos na seqüência de 10 a 20 10 - Criar um programa que efetue o cálculo da fatorial de um número, por exemplo o fatorial de 5 é 120, desta forma 5! = 5.4.3.2.1 ou 5! = 1.2.3.4.5 = 120. PROF. MARCIO FERREIRA DE JESUS 7