6 - A Lógica da Programação Enlaçamento

Tamanho: px
Começar a partir da página:

Download "6 - A Lógica da Programação Enlaçamento"

Transcrição

1 6 Enlaçamento 6 - A Lógica da Programação Enlaçamento Unesp Campus de Guaratinguetá Curso de Programação Computadores Profa. Cassilda Ribeiro Existem situa em quem uma operação ou uma série de opera deve ser repetida varia vezes. Nestes casos utilizase uma estrutura de controle chamada laço ou enlaçamento. O laço é uma construção fundamental em programação e existem várias formas de laço, a saber:. Laços Condicionais.. Laços Controlados por Entrada Entrada controlada por contador Entrada controlada por sentinela.3 Laços com teste no final. Laços Contados A seguir será visto em detalhe cada um desses laços. 6 Enlaçamento 6. Enlaçamento: Laços Condicionais 6.. Laços Condicionais O laço condicional testa uma condição e repete uma seqüência de a enquanto a condição testado for verdadeira. Ou seja ele fica repetindo uma seqüência de a, enquanto a condição for verdadeira Em linguagem algorítmica ele pode ser expresso da seguinte forma: Enquanto condição faça comando Ou Enquanto (condição) faça Início comando comando... comandon Fim 3 Vejamos agora o exemplo do cálculo do resto inteiro de uma divisão. Um maneira de se calcular o resto de uma divisão é através de sucessivas subtra. Suponha, por exemplo, que desejamos calcular o resto da divisão de 7 por 3. Isto pode ser feito da seguinte maneira: ) Inicialmente fazemos b=7 e a=3 ) Perguntamos se (b > a) (7>3). Se a resposta for sim fazemos (b=b-a) (b=7-3 = 4) e perguntamos novamente se (b=b-a) (b=7-3 = 4). Se a resposta for sim, fazemos novamente (b=b-a) (b=4-3 = ) e mais uma vez perguntamos se (b>a) (>3). Como agora b não é maior que a, paramos de perguntar e fazemos resto= 4

2 6. Enlaçamento: Laços Condicionais Observe que ficamos repetindo a ação de subtrair (b=b-a) enquanto a condição (b>=a) foi verdadeira. No momento em que b<a, paramos o laço. Graficamente: Solução/Algoritmo: 7 >= 3 V > 3 V 4-3 > 3 F r 5 6. Enlaçamento: Laços Condicionais Resto da divisão: b a r c Algoritmo resto Escreva( Digite a e b ) Leia(a,b); Enquanto (b >= a) faça b b a; fim enquanto r b; Escreva( resto=, r); Instru Possíveis: Solução/Algoritmo: b >= a V b b - a b >= a V b b - a b >= a F r - >= F V b 6 6. Enlaçamento: Laços Condicionais Como saber se um número é par ou ímpar? 6. Enlaçamento: Laços Condicionais Comando while Um número é par se é divisível por! Resto da divisão: b r Ou seja, se b é par, então, para a =, r = 0! Caso particular do Algoritmo Anterior + Verificação a c Solução/Algoritmo a ; Leia (b); Enquanto (b >= a) faça b b a; r b; Se (r = 0) Então Escreva( b eh par ); Senão Escreva( b eh ímpar ); 7 Em linguagem C o laço condicional Enquanto é feito através do comando while, isto é: while (condição) comandos; While (condição) condição OBS: O processo é repetido enquanto a condição for verdadeira. F V comandos 8

3 6. Enlaçamento: Laços Condicionais O while funciona do seguinte modo: º. Avalia a condição º.Se a condição for Falsa (0-zero), o laço termina e o programa continua na instrução imediatamente após o while. 3º. Se a condição é verdadeira (diferente de zero), executa os comandos do bloco. 4º. Volta ao passo. Observação Importante: Cada verificação da condição lógica com a conseqüente execução de a é denominada de iteração (passos, e 3) Enlaçamento: Laços Condicionais O comando while aparentemente é igual ao comando if, mas isto não é verdade. A semelhança está somente no fato que ambos avaliam uma condição antes de executar a ação. A diferença fundamental entre o while e o if é a seguinte: O comando while avalia a condição. Se ela for verdadeira ele executa um comando ou um bloco de comandos, e volta para avaliar novamente a condição. Ele fica repetindo esses passos enquanto a condição for verdadeira. O comando if avalia a condição. Se ela for verdadeira ele executa o comando ou bloco de comandos somente uma vez. O comando if não fica repetindo a mesma ação Enlaçamento: Laços Condicionais Diferença a entre o comando if e o while -Fluxograma while (condição) if (condição) 6. Enlaçamento: Laços Condicionais Comando while para calcular o resto da divisão inteira Algoritmo Resto Início condição F V comandos condição OBS: - Do mesmo modo que no comando if, a condição do comando while, deve sempre ser colocada entre parênteses. - O comandos de um laço também são chamados de corpo do laço. F V comando Leia(a,b); Enquanto (b >= a) faça b b a; fim enquanto Escreva( resto=, b); b - a F b Início V b b-a;

4 6. Enlaçamento: Laços Condicionais Comando while para calcular o resto da divisão inteira 6. Enlaçamento: Laços Condicionais Comando while para evitar repetição de comandos Algoritmo Resto Leia(a,b); Enquanto (b >= a) faça b b a; fim enquanto Escreva( resto=, b); Programa Resto #include <stdlib.h> int a, b; printf( Insira a e b: ); scanf( %d %d,&a,&b); while (b >= a) b = b a; printf( Resto = %d,b); 3 Problema Cansativo Deseja-se mostrar a seguinte figura na tela: * * * * * Construir um programa que realize isto. Programa Cansativo printf( *\n ); printf( *\n ); printf( *\n ); printf( *\n ); printf( *\n ); 4 6. Enlaçamento: Laços Condicionais Comando while para evitar repetição de comandos 6. Enlaçamento: Laços Condicionais Comando while para evitar repetição de comandos Fluxograma Não Cansativo Início i i+; i <= 5 V *\n F Início Programa Não Cansativo int i = ; while (i <= 5) printf( *\n ); i = i + ; 5 Programa Não Cansativo int i = ; P P P3 while (i <= 5) printf( *\n ); i = i + ; Execução Programa Iteração P P P3 i<=5 (v) *\n i= i<=5 (v) *\n i=3 3 i<=5 (v) *\n i=4 4 i<=5 (v) *\n i=5 5 i<=5 (v) *\n i=6 6 i<=5 (f) - - 6

5 6. Enlaçamento: Laços Condicionais 6.. Laços Controlados por Entrada 6... Laços Controlados por Entrada Foi visto que através de um laço apropriado, é possível repetir o algoritmo um certo numero de vezes. No laço controlado por entrada a condição para ver se o laço vai ser executado ou não é testada antes do laço. Se a condição for verdadeira o laço será executado, e retornará ao começo para se testar novamente a condição de parada. 7 Se a condição não for verdadeira o laço não será executado e o controle de execução passa para a primeira linha após o laço. O processo de retorno para ler dados adicionais não é problema, pois já se conhece a estrutura do laço. A dificuldade está em saber quando parar. Apresentaremos a seguir duas formas de se fazer isso, a saber: a)entrada controlada por contador b)entrada controlada por sentinela 8 a) Entrada controlada por contador Exemplo - Fazer um algoritmo e um programa em C que escreva na tela os 0 primeiros números inteiros. Introduz-se um dado adicional no início do conjunto de dados. Este dado adicional fornece o número de vezes que o laço deve ser repetido. Introduz-se uma variável contadora para controlar o número de vezes que o laço deve ser repetido 9 Algoritmo imprime_inteiros Variáveis: i inteiro. Inicio algoritmo i. Enquanto ( i 0) faça inicio escreva ( i ). i i +. fim Fim algoritmo //prog imprime_inteiros #include <stdlib.h> // inicio programa int i=; While (i <= 0) //inicio do while printf( %d \n, i); i=i+; //fim do while system( pause ); //fim programa 0

6 No exemplo anterior, observe que: º. A variável i é quem controla o número de vezes que o laço é executado, então: a) é necessário atribuir um valor inicial para a variável i antes do while, para que ele possa analisar a condição. b) dentro do corpo do while, após ter impresso o valor do i, é necessário incrementá-lo de uma unidade (i=i+), para que o while pare de ser executado após 0 voltas. º. É necessário colocar as chaves marcando o inicio e o fim do while porque dentro dele estão sendo executados dois comandos. 3º. Se não fossem colocadas as chaves, iria ocorrer um laço infinito, que imprimiria somente o número, pois a variável de controle do laço nunca seria alterada e a condição do laço seria eternamente verdadeira. Exemplo - Escreva um algoritmo e um programa em C que dado um Número qualquer, seja calculado e impresso a tabuada desse número. Algoritmo tabuada Variáveis: i,n, resp: inteiro. Inicio algoritmo escreva ( Qual tabuada deseja imprimir ) Leia (n) i. Enquanto ( i 0) faça inicio resp n * i escreva ( resp ). i i +. fim Fim algoritmo Em linguagem C o algoritmo anterior torna-se //Exemplo - prog tabuada #include <stdlib.h> // inicio programa int i, n, resp; i=; printf( Qual tabuada vc deseja? ); scanf( %d,&n); While (i <= 0) //inicio do while resp=n * i; printf( %d*d=%d\n,n,i,resp); i=i+; //fim do while system( pause ); //fim programa 3 Exemplo 3: Dado um valor m, calcular a soma de até m. Idéia: i m + + soma + Iteração i soma Observação: A variável i serve para percorrer as variáveis de até m. Cada vez que um valor é apresentado, ele será armazenado na variável soma. Portanto, pode-se dizer que i é uma variável contadora ao passo que soma é uma variável acumuladora. 4

7 Exemplo 3: Dado um valor m, calcular a soma de até m. Algoritmo CalculaSoma Variáveis: i inteiro; Inicio algoritmo i 0; soma 0; Leia(m); Enquanto ( i m) faça soma soma + i; i i + ; fim enquanto Escreva ( Soma=,soma); Fim algoritmo Programa em C // inicio programa int m, i=, soma=0; printf( Valor de m: ); scanf( %d,&m); while (i <= m) //inicio do while soma = soma + i; i=i+; //fim do while printf( Soma=%d,soma); //fim programa 5 Exemplo 4: Fazer um algoritmo e um programa em C que calcule e imprima a soma dos quadrados dos 00 primeiros números inteiros. Algoritmo Soma_quadrados Variáveis: soma, contador, N : inteiro Início. [Inicializar variáveis] soma contador Escreva ( Quantos números você quer somar? ) Leia (N). [Somar os números] Enquanto (contador<=n) faça Início enquanto soma soma + (contador ) contador contador + Fim enquanto 3. [Imprimir resultado] Escreva ( O valor da soma é:`, soma) Fim algoritmo 6 Exemplo 4: Fazer um algoritmo e um programa em C que calcule e imprima a soma dos quadrados dos 00 primeiros números inteiros. //Programa exemplo 4 #include <stdlib.h> #include <math.h> int soma, contador, N; //[Ler dados] printf("digite quantos numeros vc quer somar?\n"); scanf("%d",&n); //[Inicializar variáveis] soma = 0; contador = ; //[Estabelecer o laço] while (contador <= N) //inicio while //[Calcular a soma parcial] soma=soma + pow(contador,); //[Reajustar o contador] contador = contador + ; //fim while //[Imprimir resultado] printf("soma = %d\n",soma); system("pause"); // Fim programa 7 Idéia: 6. Enlaçamento: Laços Condicionais Exemplo 5: Faça um algoritmo que calcule o fatorial de um valor lido. As variáveis N, Produto e Multiplicador são do tipo inteiro Fatorial! =! = *! (n-)! = (n-)*(n-)! i n- prod * (n-)** n! = n*(n-)! n n*(n-)** 8

8 6. Enlaçamento: Laços Condicionais Exemplo 5: Faça um algoritmo que calcule o fatorial de um valor lido. As variáveis N, Produto e Multiplicador são do tipo inteiro Algorítmo Fat_N Variáveis: N, Produto, Multiplicador : Inteiro. Início. [Ler dados] Escreva ( Digite o numero para se calcular o fatorial ) Leia (N). [Inicializar variáveis] Produto Multiplicador N Continua 3. [Estabelecer o laço] 9 6. Enlaçamento: Laços Condicionais continuação do exemplo 3. [Estabelecer o laço] Enquanto (multiplicador ) faça Inicio 3.. [Calcular o produto parcial] Produto Produto * Multiplicador 3. [Reajustar o multiplicador] Multiplicador Multiplicador Fim enquanto 4. [Imprimir resultado] Escreva ( Fatorial de`, N, =`, Produto) 5. [Terminar] Fim Enlaçamento: Laços Condicionais 6. Enlaçamento: Laços Condicionais //Programa exemplo 5: Fat_N #include <stdlib.h> int N, Produto, Multiplicador; //[Ler dados] printf("digite o numero para se calcular o fatorial\n"); scanf("%d",&n); //[Inicializar variáveis] Produto=; Multiplicador=N; //[Estabelecer o laço] while (Multiplicador >= ) //inicio while //[Calcular o produto parcial] Produto = Produto * Multiplicador; //[Reajustar o multiplicador] Multiplicador= Multiplicador-; //fim while //[Imprimir resultado] printf("fatorial de %d = %d\n",n,produto); system("pause"); // Fim programa 3 3

9 Exemplo 6: Fazer um algoritmo e um programa em C que calcule e imprima os n primeiros termos da série: +/+/3+/4+...+/n Algoritmo serie0 Variáveis: i,n: inteiro; soma, elem : real; Inicio algoritmo escreva ( Quantos nos. vc deseja imprimir ) Leia (n) i. s 0.0 elem Escreva( serie: ) Continuação... Enquanto ( i n) faça inicio elem (/i) s s + elem escreva ( elem ). i i +. fim Escreva( Valor da soma:,s) Fim algoritmo 33 //Programa Exemplo 6 #include <stdlib.h> int i,n; float s, elem; //leitura de dados printf ("Quantos nos. vc deseja imprimir\n"); scanf ("%d",&n); i = ; s = 0.0; elem =.0; printf("serie:"); while ( i <= n) //inicio elem = (.0/i); s = s + elem; printf("%5.4f ",elem ); i = i + ; //fim printf("\n\nvalor da soma:%5.4f\n\n",s); system("pause"); Enlaçamento: Laços Controlados por Entrada : Mais Exercícios 6. Enlaçamento: Laços Controlados por Entrada : Mais Exercícios Exemplo 6: VERSÃO : Soma de trás para frente Algoritmo serie_h; variaveis n: integer; h: real; inicio escreva( Entre com o valor de n ) leia(n); h:=0; Enquanto (n > 0)faça h := h + /n; n := n-; fim enquanto escreva( o valor de h eh:,h); fim algoritmo 35 //Programa serie versão #include <stdlib.h> int n; float h; printf ("Entre com o valor de n\n"); scanf("%d",&n); printf("para n = %d,",n); h = 0; while (n > 0) h = h + /float(n); n = n-; printf(" o valor de h eh:%f\n",h); system("pause"); Ao executar o programa teremos: 36

10 Exemplo 7: Faça um algoritmo e um programa em C que, dadas as notas individuais em três aspectos do ano escolar num curso (Lab, Exame_inter, Exame_final) para um estudante com no. de matricula Nmatric, calcule a média final com pesos 0%, 30% e 50%, respectivamente. O relatório de saída é uma linha impressa para cada estudante, fornecendo o número do aluno, suas notas individuais e a média final. A entrada é controlada por contador. A variável n_estudantes indica o número de estudantes a ser processado; a variável contador dá o número de registros já processados. Ambas são Algoritmo Relatório Variáveis Lab, Exame_inter, Exame_final : real Média : real Nmatric, n_estudantes, contador : inteiro Início. [Entrar contador de dados, neste caso, número de estudantes] Leia (n_estudantes). [Inicializar contador de registros processados] contador O continua... variáveis inteiras [Iniciar repetição controlada por contador]...continuação pg. anterior Enquanto (contador < n_estudante) faça inicio enquanto 3. [Ler os registros dos alunos] Leia (Nmatric, Lab, Exame_inter,Exame_final) 3. [Calcular média] Media 0.*Lab + 0.3*Exame_inter + 0.5*Exame_final 3.3 [Imprimir resultados] Escreva ( Numero do estudante:, Nmatric) Escreva ( Nota Laboratório,Lab) Escreva ( Exame Intermediario:,Exame_inter) Escreva ( Exame Final:, Exame_final) Escreva ( Media Final:, Media) continua......continuação pg. anterior Se Média 5.0 Então Escreva ( Aluno Aprovado`) Senão Escreva ( Aluno Reprovado`) 3.4. [atualizar o contador de registros realmente processados] contador contador + Fim enquanto 4. [Terminar] Saída Fim Algoritmo 39 40

11 //Prog0_Lacos Exemplo 7 //usando laços com contador #include <stdlib.h> float Lab, Exame_inter,Exame_final; float Media; int n_estudante,contador,nmatric; //.Entrar contador de dados, neste caso, número de estudantes] printf("digite o numero de alunos "); scanf("%d",&n_estudante); printf("\n\n" ); Código em C continua na próxima pag. 4 //.Inicializar contador...continuação contador = 0; //3.Iniciar Laço controlado por contador while (contador < n_estudante) // inicio enquanto // 3. Ler dados dos alunos printf("digite o numero do aluno: "); scanf("%d/n",&nmatric); printf("digite as notas de Lab, Exame_inicial e ExameF do %d\n",nmatric); scanf("%f%f%f",&lab,&exame_inter,&exame_final); //3. [Calcular média] Media = 0.*Lab+0.3*Exame_inter+0.5*Exame_final; 4 //3.3 Imprimir resultados... continuação printf("\tnumero do estudante:%d\n",nmatric); printf("\tnota Laboratorio:%5.f\n",Lab); printf("\texame Intermediario:%5.f\n",Exame_inter); printf("\texame Final:%5.f\n",Exame_final); printf("\tmedia Final:%5.f ",Media); if (Media <= 5.0) printf( \taluno Reprovado\n ); else printf( \taluno Aprovado\n ); //3.4. Atualizar o contador de registros realmente processados contador= contador + ; // Fim enquanto system("pause"); 43 Laços infinitos Cuidado! Os laços infinitos ocorrem quando a condição lógica do while não se torna falsa por motivos: (i) Erro de atualização da variável associada a condição lógica (ii) A condição lógica é inadequada. 44

12 Laços infinitos Cuidado! Laços infinitos Cuidado! Fluxograma Infinito Início i <= 5 V \n F Início Programa Infinito int i; i = ; while (i <= 5) printf( *\n ); 45 Programa Infinito int i; i = ; P while (i <= 5) printf( *\n ); P3 P Execução Infinito Iteração P P P3 i<=5 (v) *\n i= i<=5 (v) *\n i= 3 i<=5 (v) *\n i= 4 i<=5 (v) *\n i= 5 i<=5 (v) *\n i= 6 46 Laços infinitos Os programas são equivalentes! Programa Infinito int i; i = ; while (i <= 5) printf( *\n ); i = i + ; Programa Infinito int i; i = ; while (i <= 5) printf( *\n ); 47 Ex: Em cada um dos segmentos de algorítmo, indicar se o laço termina ou não. Se não, porquê? Assumir que todas as variáveis são inteiras. a) contador Ø; total Ø; Enquanto (contador 0) faça total total + ; Este laço não termina, pois o valor de contador se mantém sempre = 0. 48

13 b) contador 0; total 0; Enquanto (contador <= 0) faça total total + ; contador contador + ; c) total 0; index 5; Enquanto (index 5) faça total total + ; index index ; Termina quando contador = Não fecha, pois a variável index será sempre < 5. O laço fecharia se fizéssemos index index + ; 49 Ex: Fazer um algoritmo/programa que imprima os números ímpares entre e m. Algoritmo imprime_int_ímpares Variáveis: i, m inteiro; Inicio algoritmo Leia(m); i ; Enquanto ( i m) faça inicio Se (i % = ) então escreva ( i ); fim se i i + ; fim Fim algoritmo // Programa Números Ímpares. int m, i=; printf( Entre com m: ); scanf( %d,&m); while (i <= m) //Início while if (i % == ) //Ímpar? printf( %d \n, i); i=i+; //fim do while system( pause ); //fim programa 50 Programa em C // Programa Números Ímpares. int m, i=; printf( Entre com m: ); scanf( %d,&m); P while (i <= m) //Início while P if (i % == ) //Ímpar? P3 printf( %d \n, i); P4 i=i+; //fim do while system( pause ); //fim programa Execução para m= e i= Iter. P P P3 P4 i<= (v) (v) i= i<= (v) (f) - i=3 3 i<= (f) Resultado na Tela 5 Ex3: Fazer um algoritmo/programa que imprima de até m apenas os números ímpares (outra versão!). Algoritmo imprime_int_ímpares Variáveis: i, m inteiro; Inicio algoritmo Leia(m); i ; Enquanto ( i m) faça inicio escreva ( i ); i i + ; fim Fim algoritmo Só percorre ímpares! // Programa Números Ímpares. int m, i=; printf( Entre com m: ); scanf( %d,&m); while (i <= m) //Início while printf( %d \n, i); i=i+; // Incremento! //fim do while system( pause ); //fim programa 5

14 Programa em C Execução para m=5 e i= // Programa Números Ímpares. int m, i=; printf( Entre com m: ); scanf( %d,&m); P while (i <= m) //Início while P printf( %d \n, i); P3 i=i+; // Incremento!!!! //fim do while system( pause ); //fim programa Iter. P P i<=7 (v) i<=7 (v) 3 3 i<=7 (v) 5 Resultado na Tela 3 5 P3 i=3 i=5 i=7 4 i<=7 (f) Ex4: Fazer um algoritmo/programa que imprima apenas os m primeiros números pares. Algoritmo imprime_int_pares Variáveis: i,k,m inteiro. Inicio algoritmo Leia(m); i ; k=; Enquanto ( k m) faça Se (i % = 0) então escreva ( i ); k k + ; fim se i i + ; fim enquanto Fim algoritmo // Programa Números Pares. int m, k, i; i = ; k = ; printf( Entre com m: ); scanf( %d,&m); while (k <= m) //Início while if (i % == 0) //Par? printf( %d \n, i); k = k + ; i=i+; //fim do while system( pause"); //fim programa 54 Programa em C // Programa Números Pares. int m, k, i; i = ; k = ; printf( Entre com m: ); scanf( %d,&m); P while (k < =m) //Início while P if (i % == 0) //Par? printf( %d \n, i); P3 k = k + ; P4 P5 i=i+; //fim do while //fim programa Execução: m=, i= e k=0 Iter. P P P3 P4 P5 k< (v) (f) - - i= k< (v) (v) k= i=3 3 k< (v) (f) - - i=4 4 k< (v) (v) 4 k= i=5 5 k< (f) Resultado na Tela 4 55 Ex 5: Dado um valor m, calcular o produto de até m. Idéia: i m prod Iteração i prod Observação: A variável i serve para percorrer as variáveis de até m. Cada vez que um valor é apresentado, ele será multiplicado pelo conteúdo de prod. Portanto, pode-se dizer que i é variável contadora ao passo que prod é variável acumuladora. 56

15 Ex 5: Dado um valor m, calcular produto de até m. Algoritmo CalculaProd Variáveis: i, prod: inteiro; Inicio algoritmo i ; prod ; Escreva ( digite o valor de m ); Leia(m); Enquanto ( i < m) faça i i + ; prod prod * i; fim enquanto Escreva( produto=, prod); Fim algoritmo Programa em C // inicio programa int i=, prod=; printf( Valor de m: ); scanf( %d,&m); while (i < m) //inicio do while i=i+; prod = prod*i; //fim do while printf( Produto=%d,prod); system( pause ); //fim programa 57 Observe que o tanto o Ex 5, como o exemplo 5 estão calculando o fatorial de m. Só que um está calculando de trás para frente e o outro de frente para traz. Programa Ex 5 // inicio programa int i=, prod=; printf( Valor de m: ); scanf( %d,&m); while (i < m) //inicio while i=i+; prod = prod*i; //fim while printf( Produto=%d,prod); system( pause ); //fim programa Programa Exemplo 5 #include<stdlib.h> #include<stdio.h> int N, Produto, Multiplicador; printf("digite o numero para se calcular o fatorial\n"); scanf("%d",&n); //Inicializar variáveis Produto= ; Multiplicador=N; while (Multiplicador >= ) // inicio while Produto=Produto * Multiplicador; Multiplicador = Multiplicador-; //fim while printf("fatorial de %d = %d\n",n,produto); system("pause"); 58 //fim programa 6.. Laços Controlados por Entrada: Sentinela 6.. Laços Controlados por Entrada: Sentinela b) Entrada controlada por sentinela Este método é muito utilizado quando não se sabe a priori quantas vezes o laço vai ser executado. Utiliza-se então, um dado extra no fim do conjunto de dados, de modo que, quando este dado é lido, sabe-se que todos os outros já foram lidos. Exemplo 8: Refazer o exemplo 7 - página 37, considerando que no final dos dados a respeito dos alunos foi inserido um dado extra com o número do aluno igual 0. Quando for lido o número 0 para um aluno, o programa deve parar de calcular as médias. 59 Algoritmo Relatório Variáveis Lab, Exame_inter, Exame_final, Media : real Nmatric, n_estudantes : inteiro. [Ler os dados do primeiro aluno] Leia (Nmatric, Lab, Exame_inter,Exame_final). [Iniciar repetição controlada por sentinela] Enquanto (Nmatric 0) faça Inicio. [Calcular a média] Observe aqui, que o primeiro dado deve ser lido antes do laço, para que o teste condicional possa ser executado. Média 0.*Lab +0.3*Exame_inter + 0.5*Exame_final 60

16 6.. Laços Controlados por Entrada: Sentinela 6.. Laços Controlados por Entrada: Sentinela. [Imprimir resultados] Escreva ( Numero estudante:`, Nmatric) Escreva ( Nota Laboratório:`, Lab) Escreva ( Exame Intermediário:`, Exame_inter) Escreva ( Exame Final:`, Exame_final) Escreva ( Média Final:`, Média) Se Média 5.0 Então Escreva ( Aluno Aprovado`) Senão Escreva ( Aluno Reprovado`).3 [Ler dados do próximo aluno] Leia (Nmatric, Lab, Exame_inter, Exame_final) Fim enquanto 3. [Terminar] Fim algoritmo Observe aqui, que o próximo dado deve ser lido antes de terminar o laço, para que o teste condicional possa ser executado com o novo dado. 6 //Usando Laços com sentinela #include <stdlib.h> Código em C float Lab, Exame_inter,Exame_final; float Media; int Nmatric; //.Entrar com dados do primeiro aluno printf("digite o numero do o. aluno: "); scanf("%d",&nmatric); Laços Controlados por Entrada: Sentinela 6.. Laços Controlados por Entrada: Sentinela // 3 - Iniciar repetição controlada por sentinela while (Nmatric!= 0) // inicio enquanto // 3. - Inserir notas do aluno printf( Digite as notas de Lab, Exame_inicial e ExameF do %d\n",nmatric); scanf("%f%f%f",&lab,&exame_inter,&exame_final); // 3. - Calcular média Media = 0. *Lab *Exame_inter + 0.5*Exame_final; // Imprimir resultados printf("\tnumero do estudante: %d\n",nmatric); printf( "\tnota Laboratorio:%5.f\n",Lab); 63 printf("\texame Intermediario:%5.f\n",Exame_inter); printf("\texame Final:%5.f\n",Exame_final); printf("\tmedia Final:%5.f\n,Media); if (Media >= 5.0) printf( \taluno Aprovado\n ); else printf( \taluno Reprovado\n ); // 3.4 [Ler numero de matricula do proximo aluno printf("digite o numero do aluno, ou zero (0) para parar "); scanf("%d",&nmatric); // Fim enquanto printf("fim do Programa.\n\n"); system("pause"); 64

17 6..3 Laços com teste no final 6..3 Laços com teste no final 6..3 Laços com teste no final Existe um outro tipo de laço condicional onde a condição é avaliada no final do corpo do laço. Linguagem Algorítmica Faça comandos enquanto <condição> Funcionamento deste laço. Os comandos, são executados.. A condição é avaliada 3. Se o resultado for verdadeiro, volta-se ao ponto. 4. Se o resultado for falso, termina-se o laço e o programa continua na instrução seguinte Fluxograma comandos condição F Sintaxe em linguagem C ao laço. V do comandos; while (condição) Obs: O corpo do laço do_while é executado pelo menos uma vez, enquanto que o laço com teste no inicio, pode nunca ser executado Laços com teste no final Exemplo 9: Fazer um programa em C para calcular h(n)=+/+/3+...+/n, usando o comando do_while #include <stdlib.h> int n; float h; printf ("Entre com o valor de n\n"); scanf("%d",&n); printf("para n = %d,",n); h = 0; do h = h + /float(n); n = n-; while (n > 0); printf(" o valor de h eh:%f\n\n",h); system("pause"); Laços Contados 6. Laços Contados Para algumas aplica, o controle condicional de laços, imposto pela construção enquanto - faça é desnecessariamente complicada, pois pode-se desejar um laço um número fixo de vezes, e este número é conhecido. Para este tipo de aplicação existe uma construção repetitiva que tem a seguinte forma: Exemplo 0: Para ID,,.., 0 faça valor valor + 68

18 6. Laços Contados Neste exemplo a variável de controle do laço é ID. A variável ID começa valendo. No corpo do laço a variável valor é incrementada de. Em seguida, ID é automaticamente incrementada de, e a instrução do corpo do laço é executada novamente. Isto se repete 0 vezes, isto é até o valor de ID=0 Exemplo : Para J,,.., 30 faça val val * 3 Neste exemplo a variável de controle do laço é J. valendo. No corpo do laço a variável val é multiplicada por 3. E ela começa Em seguida, J é automaticamente incrementada de, e a instrução do corpo do laço é executada novamente. Isto se repete 30 vezes, isto é até o valor de J= Laços Contados Exemplo : Para val,,.., N faça Neste exemplo a variável de controle do laço é val. A variável val começa valendo e é automaticamente incrementada de a cada vez, até o valor de N. Então este laço se repete N vezes Exemplo 3: Para Index 0, 9,.., faça Neste exemplo a variável de controle do laço é Index. A variável Index começa valendo 0 e é decrementada de a cada volta do laço, até que o valor de Index seja. Este laço se repete 0 vezes Laços Contados 6. Laços Contados Em cada um dos seguintes segmentos, dê o valor que será impresso para a variável Var. assumir que todas as variáveis são inteiras. a) Var 0 Para Index =,,.., 0 Var Var + ; Escreva ( Var ) b) Var 0 Para Index = 4, 8,.., 36 Var Var + ; Escreva ( Var ) Var = 0 Var = 9 7 c) Var 0 Para Index = 0, 9,.., Var Var + Index Index + Escreva ( Var ) d) Var 0 Para Index =,,..,5 Para Index =,,.., 8 Var Var + Escreva ( Var ) Var = infinito, pois o laço não fecha porque o valor da variável Index está sendo alterado dentro do laço Var = 0 7

19 6.. Laços Contados: O comando for Na linguagem C o laço contado é feito pelo comando for. Em C o comando for é um tipo de laço condicional onde a inicialização do valor da variável contadora, a avaliação da condição e a atualização do valor da variável contadora estão em um mesmo campo. Linguagem Algorítmica Para <i; cond; i++> Faça comandos; Funcionamento deste laço. Variável contadora é inicializada.. A condição é avaliada: 3. Se o resultado for verdadeiro, realiza-se os comandos. 4. Se o resultado for falso, termina-se o laço e continua-se na instrução seguinte ao laço. 5. Atualiza-se variável contadora e 73 retorna-se para o passo. F 6.. Laços Contados: O comando for Fluxograma i=; i n V i i+; comandos Sintaxe em linguagem C for(i=;i<=n;i++) comandos; Obs: O funcionamento do laço for é semelhante ao do laço while. Note que existem 3 campos separados por ;. No º é realizada a inicialização das variáveis, no º é realizada a verificação da condição lógica e no 3º a atualização dos valores das variáveis Laços Contados: O comando for Programa para imprimir os 5 primeiros números 6.. Laços Contados: O comando for Programa para imprimir os 5 primeiros números Programa com while P int i = ; P while (i <= 5) P3 P4 printf( %d \n,i); i = i + ; Programa com for int i; P P P4 for (i=;i<=5;i=i+) P3 printf( %d \n,i); 75 Programa com for int i; P P P4 for (i=;i<=5;i=i+) P3 printf( %d \n,i); Execução Programa Iteração P P3 P4 i<=5 (v) i= i<=5 (v) i=3 3 i<=5 (v) 3 i=4 4 i<=5 (v) 4 i=5 5 i<=5 (v) 5 i=6 6 i<=5 (f)

20 6.. Laços Contados: O comando for Ex - 6: Escreva um programa que lê um número e escreve a seqüência crescente e decrescente entre e esse número conforme o seguinte exemplo: Digite um numero: Laços Contados: O comando for Programa que imprime números crescente e decrescente Programa Ex-6 #include <stlib.h> int i, j; printf( Entre com n: ); scanf( %d,&n); for ( i=, j=n ; i<=n; i++, j-- ) printf( %d %d \n, i, j); system( pause ) Inicialização em conjunto de i e j. Uso de,! Atualização conjunta de i e j. Uso de,! Laços Contados: O comando for 6.3 Enlaçamento amento Laços Encaixados Programa que imprime números crescente e decrescente Programa Ex-6 #include <stlib.h> int i, j; printf( Entre com n: ); P P scanf( %d,&n); P4 for ( i=, j=n ; i<=n; i++, j-- ) printf( %d %d \n, i, j); system( pause ) P3 Execução Programa P n = 5, i =, j = n Iter. P P3 P4 i<=5 (v) 5 i= i<=5 (v) 4 i=3 3 i<=5 (v) 3 3 i=4 4 i<=5 (v) 4 i=5 5 i<=5 (v) 5 i=6 6 i<=5 (f) Laços Encaixados Assim como temos uma construção Se_Então_Senão dentro da outra, podemos ter um laço dentro do outro. O laço mais interno deve estar completamente embutido dentro do laço externo. Não pode haver sobreposição Exemplos de laços embutidos válidos e não válidos. Válidos Válidos Não Válido 79 80

21 6.3 Enlaçamento amento Laços Encaixados 6.3 Enlaçamento amento Laços Encaixados Como exemplo de laços encaixados, vamos modificar o Ex, pág e 3 que calcula a tabuada de um número lido n, para um programa que dado um numero m qualquer, calcule e imprima todas as tabuadas de até esse número m. Para tanto será embutido o laço que calcula a tabuada, num segundo laço que irá determinar qual a tabuada será calculada. A idéia é a seguinte: j =,,..., m i =,,..., 0 tab = i*j Laço que determina, qual tabuada j será calculada, para as m tabuadas à serem calculadas. Laço que calcula cada uma das Deste modo, quando j=, no laço externo, o laço interno irá calcular a tabuada do. Quando j=, no laço externo, o laço interno irá calcular a tabuada do. Quando j=m, no laço externo, o laço interno irá calcular a tabuada do. tabuadas j 8 8 j= i= i= i=3... i=0 * * *3... *0 j= i= i= i=3... i=0 * * *3... *0 j=m i= i= i=3... i=0 m* m* m*3... m*0 6.3 Enlaçamento amento Laços Encaixados Algoritmo tabuada Variáveis: i,n, resp: inteiro. Inicio algoritmo Leia (n); j ; Enquanto (j <= n) início i ; Enquanto ( i <= 0) faça início resp j * i; escreva ( resp ); i i + ; fim j j + ; fim Fim algoritmo Para cada valor de j, são executados 0 vezes o laço com a variável i. j= i= i= i=3... i=0 * * *3... *0 j= i= i= i=3... i=0 * * *3... *0 j=m Enlaçamento amento Laços Encaixados Programa Tabuada - while // incluir <stdio.h> e stdlib.h! int i, j, n, resp; i = ; j = ; printf("ateh qual tabuada deseja?") scanf("%d",&n); while (j <= n) // início do o. while printf("\t\ntabuada do %d\n", j); i = ; while ( i <= 0) // início o. while resp = j * i; printf("%d*%d=%d\n",j,i,resp); i = i + ; // fim o. while j = j + ; //fim o. while // fim programa Programa Tabuada - for // incluir <stdio.h> e stdlib.h! int i, j, n, resp; printf("ate qual tabuada deseja?") scanf("%d",&n); for (j=;j <= n;j++) // início do o. for printf("\t\ntabuada do %d\n", j); for (i=; i <= 0; i++) // início o. for resp = j * i; printf("%d*%d=%d\n",j,i,resp); // fim o. for //fim o. for // fim programa 84

22 6.3 Enlaçamento amento Laços Encaixados Ex 7: Escreva um programa que solicite ao usuário um número n e um caractere c. Em seguida, serão preenchidas n linhas, cada uma com n caracteres c tal como no exemplo: Numero: 3 Caractere: * *** *** *** Enlaçamento amento Laços Encaixados IDÉIA: Este programa deve imprimir na mesma linha, n vezes o caractere lido. A seguir ele deve pular uma linha e imprimir novamente n vez o caractere lido. Isto deve ser feito n vezes. Resultado na Tela ****... * n vezes Muda Linha for (j=; j <= n; j++) printf("%c", c); printf( \n ); Ao se executar uma vez o comando for com a variável j variando de até n, será impresso na tela uma linha com, por exemplo, n caracteres *. Para imprimir n linhas contendo n caracteres * é necessário repetir n vezes o esse comando for, isto é: Enlaçamento amento Laços Encaixados 6.3 Enlaçamento amento Laços Encaixados n vezes for (j=; j <= n; j++) printf("%c", c); printf( \n ); for (j=; j <= n; j++) printf("%c", c); printf( \n ); Resultado na Tela **** * **** * **** * n vezes Ao invés de se escrever n vezes o comando for, com a variável j, pode-se colocar um laço externo com uma variável i de modo que para cada valor de i o laço interno, do j, se repita n vezes. 87 n vezes for (j=; j <= n; j++) printf("%c", c); printf( \n ); for (j=; j <= n; j++) printf("%c", c); printf( \n ); Código em C for (i=; i <= n; i++) for (j=; j <= n; j++) printf("%c", c); printf( \n ); 88

23 6.3 Enlaçamento amento Laços Encaixados Ex-8: Escreva um programa que solicite ao usuário um número n e produza o resultado na Tela tal como dado abaixo: Numero: Enlaçamento amento Laços Encaixados IDÉIA: Para se fazer esse programa pense primeiro em escrever uma matriz, como mostrado na figura abaixo. Para tanto serão necessários dois laços. O laço externo, com variável i, para fixar a linha que será impressa e o laço interno, com variável j, será responsável por imprimir os números em estão em cada linha, ou seja, as colunas da matriz. Linha i i = i = i = 3 i = 4 i = 5 j= j= j=3 j=4 j= Coluna j Enlaçamento amento Laços Encaixados 6.3 Enlaçamento amento Laços Encaixados Para se imprimir a matriz do slide anterior bastaria fazermos: for (i=; i <= n; i++) for (j=; j <= n; j++) printf("%d", j); printf( \n ); i = i = i = 3 i = 4 i = 5 j= j= j=3 j=4 j= Mas a matriz que queremos imprimir é a da figura ao lado. Observe nessa matriz que na linha só temos um número, na linha temos dois números, na linha 3 temos três números e assim por diante. Então temos que fazer o for do j, responsável por imprimir os elementos das colunas, variar até um valor 9 igual ao número da linha i. Então, os laços ficam como abaixo: for (i=; i <= n; i++) for (j=; j <= i; j++) printf("%d", j); printf( \n ); Observe no for exterior, que quando i =, o for do j vai variar de à. Quando i =, o for do j vai variar de à, quando i = 3, o for do j vai variar de à 3, e assim por diante. A seguir mostramos o programa completo que gera essa matriz. Observe que a única variável lida é o numero de linhas que se deseja gerar. 9

24 6.3 Enlaçamento amento Laços Encaixados 6.4 Enlaçamento: Comando BREAK #include <stdlib.h> int i,j,n; printf( Digite o no. de linhas n\n ); scanf( %d,&n); for (i=; i <= n; i++) for (j=; j <= i ; j++) printf("%d", j); printf( \n ); system ( pause ); Resultado na Tela 3... n n vezes 93 O comando break quando aplicado dentro de um laço interrompe a execução do mesmo, para qualquer um dos comandos que representam o laço: while, do-while e for. Os programas abaixo são equivalentes. #include <stdlib.h> int i; for (i=; ;i=i+) printf( %d \n,i); if (i == 5) break; system ( pause ); #include <stdlib.h> int i; for (i=; i<=5 ;i=i+) printf( %d \n,i); system ( pause ); Enlaçamento: Comando BREAK O Ex-8 também pode ser feito utilizando o comando break, de modo que os códigos abaixo são equivalentes. for (i=; i <= n; i++) for (j=; j <= n; j++) printf("%d", j); if (i == j) break; printf( \n ); for (i=; i <= n; i++) for (j=; j <= i ; j++) printf("%d", j); printf( \n ); Enlaçamento: Comando CONTINUE O comando continue quando aplicado dentro de um for interrompe a execução das instru do laço que vem logo após ele e segue diretamente para o campo destinado a atualização de variáveis. int i; for (i=; i <=5 ;i=i+) if (i % == ) continue; else printf( %d \n,i); int i; for (i=; i <=5 ;i=i+) if (i % == 0) printf( %d \n,i); 96

25 6.6 Enlaçamento amento Mais Exercícios cios Ex 0: Dado que um programador cometeu um erro em seu primeiro programa, dois erros em seu segundo programa e quatro erros em seu terceiro programa e assim sucessivamente. Fazer um programa em C que leia o numero de programas que o programador fez e calcule o numero de erros que ele cometeu em seu último programa. Para fazer este programa é preciso começar definindo o que vai ser lido, e o que vai ser calculado, pois desta maneira podemos definir quais as variáveis serão necessárias para o programa. Valores a serem lidos: número de programas: int Num_progr Valores a serem calculados: quantidade de erros: int Erros Como calcular o Erros? o. Programa --- Erro o. Programa ---*= Erros 3o. Programa ---* = 4 Erros 4o. Programa ---*4=8 Erros N ésimo programa --- (N-) =Erros Enlaçamento amento Mais Exercícios cios //Programa exercício 0 #include <stdlib.h> int Erro, Cont, Prog ; // Ler o número de programas a ser executado printf("digite o numero de programas feitos\n"); scanf("%d",&prog); // [Inicializar variáveis] Erro =; Cont = ; //[Iniciar laço] while (Cont<Prog) //4. [Calcular o número de erros] Erro = Erro * ; // [Atualizar contador] Cont= Cont + ; // fim do laço printf("numero de erros cometidos no programa %d=%d\n",prog,erro); system("pause"); // Fim programa Enlaçamento Aplicação : Calcular a seqüência de Fibonacci: Para tanto, pode-se utilizar a seguinte fórmula: 6.7 Enlaçamento Aplicação : Dado um valor n escrever o triângulo de pascal correspondente até a n-ésima linha. F(n)=F(n-)+F(n-) onde: n=0,,, 3,... e F(0) = F() = Espiral de Fibonacci Definição : Um triângulo de pascal é composto pelos n coeficientes c n,k =( )= n!/k!(n-k)! ; onde n é o número k da linha e k é o número da coluna. Por exemplo, o elemento da linha 3, coluna é dado por: 3 ( ) = 3!/(!*!) =

26 6.7 Enlaçamento Os valores do triângulo de Pascal na verdade representam os coeficientes do binômio de Newton. 6.7 Enlaçamento Os valores do triângulo de Pascal na verdade representam os coeficientes do binômio de Newton ( 0 0) ( 0) ( ) ( 0) ( ) 3 ( 3 0) ( 3 ) 4 ( 4 0) ( 4 ) 5 5 ( 0) ( 5 ) 6 ( 6 0) ( 6 ) ( ) ( ) ( 3 3) ( ) ( 4 3) ( 4 4) 5 5 ( ) ( ( 5) 3) ( 5 4) 6 ( ) ( ) ( 6 4) ( 5) ( 6) (x+a) 0 = (x+a) = x + a (x+a) = x + xa + a (x+a) 3 = x 3 + 3x a + 3xa + a 3 (x+a) 4 = x 4 + 4x 3 a + 6x a + 4xa 3 + a 4 (x+a) 5 = x 5 + 5x 4 a + 0x 3 a + 0x a 3 + 5xa 4 + a 5 (x+a) 6 = ( 0 0) ( 0) ( ) ( 0) ( ) 3 ( 3 0) ( 3 ) 4 ( 4 0) ( 4 ) 5 ( 5 0) ( 5 ) 6 ( 6 0) ( 6 ) ( ) ( ) ( 3 3) ( ) ( 4 3) ( 4 4) 5 5 ( ) ( ( 5) 3) ( 5 4) ( ) ( ) ( 6 4) ( ) ( 6) Enlaçamento Pode-se obter a Seqüência de Fibonacci a partir do Triângulo de Pascal Para isto, basta somar os elementos da Diagonal Enlaçamento Aplicação 3: Escreva um programa que solicite ao usuário o número de alunos uma sala. Depois, de acordo com o valor da nota de cada aluno, deverá ser atribuído um Conceito de acordo com a seguinte tabela: Faixa de Valores 9 Nota 0 7 Nota < 9 Conceito A B 5 Nota < 7 C 3 Nota < 5 D 0 Nota < 3 E Por fim, deverá ser fornecido o percentual de notas da turma para cada conceito. 04

27 6.7 Enlaçamento 6.7 Enlaçamento Número Aplicação 4: Mostrar os resultados da Aplicação 3 utilizando um histograma, tal como dado por: A B C D E Conceito Saída Programa C A: **** B: ******** C: ************ D: **** E: ** 05 Aplicação 5: A Regra dos Trapézios consiste em aproximar a área debaixo de curva formada por uma função f(x) por um trapézio, como descrito na Figura dada a seguir: f(b) f(a) f(x) a=x 0 b=x p (x) h f ( x) dx ( f ( x0 ) + f ( x )) Escreva um programa que forneça o valor aproximado de Integrais utilizando a Regra dos Trapézios. Verifique seus resultados para: Item(a) x dx Item(b) x 3 dx Item(c) b a Matematicamente: onde: h = x x 0 4 xdx Enlaçamento 6.7 Enlaçamento A Definição: Seja y = f(x) uma função não-negativa definida num intervalo fechado a x b. A Área debaixo de f(x) é obtida com: Matematicamente: lim n max xk 0 k= f ( x onde: x k = (b - a)/n x k f ( xk ) k ) x k f(b) f(a) a=x 0 Geometricamente: f(x) n = 6 Ou seja: b n f ( x) dx = lim max x 0 a k= k b=x n f ( xk ) x k 07 A partir da Regra dos Trapézios descrita anteriormente é possível obter a Regra dos Trapézios Repetida cuja fórmula é dada por: f(b) f(a) b h f ( x) dx 0 m + x m ) a A A A3 a=x 0 x =h+x 0 x =h+x0 b=x 3 h = (b - a)/3 = x i x i- [ f ( x ) + [ f ( x ) f ( x )] f ( ] f(x) A TR = A + A + A3 A TR = h/*(f(x 0 )+f(x )) h/*(f(x )+f(x )) h/*(f(x )+f(x 3 )) = h/*(f(x 0 )+(f(x )+f(x ))+f(x 3 ))

28 ? 6.7 Enlaçamento O paradoxo da inovação Lei de Moore: O fundador da Intel, Gordon Moore, constatou que a capacidade de processamento dos computadores dobra a cada ano, enquanto os custos permanecem fixos.! Problema: Imagine que uma tarefa deve ser processada e levará 8 anos e que não pode ser movida da máquina uma vez iniciada. De acordo com a Lei de Moore deve-se esperar a melhoria dos processadores ou deve-se começar hoje? Solução: O senso comum diz que é melhor começar agora, mas antes de por a mão na massa é bom olhar a Tabela dada a seguir: Enlaçamento Aplicação 6: Escreva um programa que forneça para o problema do paradoxo da inovação o maior número de anos que se pode esperar para que o processamento de um tarefa termine o quanto antes. Início 0º. ano º. ano º. ano Tempo de Desenvolvimento (anos) Tempo de Processamento (anos) Tempo Total (anos) Final 8º. ano 5º. ano 4º. ano 3º. ano 3 4 4º. ano 4º. ano 4 0,5 4,5 4º. ano 0 y(t) [proc.] Enlaçamento t [anos] y(t) [tempo total] ,5 5,3 6, 7, 8,0 t [anos] y 6.7 Enlaçamento Forma Geral: O paradoxo da inovação pode ser formulado de acordo com três parâmetros: tempo de desenvolvimento t, taxa de aperfeiçoamento a e tempo inicial de proc. p 0. 8 t+ t p (/ a) 0 = y = t + t Tempo de desenvolvimento: t Na verdade, o critério acima pode ser generalizado para a seguinte regra: y(t)/ t 0 Para t =, uma alternativa é ver se p/(/a) > Tempo de processamento: p(t) Ou seja, verificar para cada t a variação de y por diferenças.

29 6.7 Enlaçamento 6.7 Enlaçamento y(t) [anos] Gráfico de y(t) = t + p 0 /(/a) t t [anos] y(t) [tempo] Função Ideal Gráfico de y(t) = t + p 0 /(/a) t t [tempo] y(t) [anos] Gráfico de y(t) = t + p 0 /(/a) t t [anos] Função Real / Valores Aproximar a função por fun lineares. Supor que a variação média = variação instantânea. 3 Início 0º. ano º. ano º. ano t y(t) t [anos] p(t) [anos] y [anos] = = y(t)/ t t i+ -t i p i+ -p i Final 8º. ano 5º. ano 4º. ano 3º. ano º. ano 4º. ano 4 0,5 4,5 0,5 0,5 4º. ano Ou seja, a partir do 4º ano o valor da diferença é maior que zero e portanto, o 3º ano é a resposta Enlaçamento Aplicação 7: Construir um programa que cifra mensagens digitadas pelo usuário através da cifra de Júlio César (General Romano), tal como dado no exemplo abaixo: 6.6 Enlaçamento Aplicação 8: Construir um programa que decifra mensagens que foram da cifradas pelo algoritmo da Aplicação 7. Para tanto, usar uma Tabela de freqüências: Alfabeto original a b c d... v w x y z Alfabeto cifrado D E F G... Y Z A B C Texto original v e n i v i d i v i c i Texto cifrado Y H Q L Y L G L Y L F L 5 Frequência A Y B C Z Letra Alfabeto cifrado Frequência a b x y Alfabeto original z Letra 6

30 Mas, Continua... Fim do Enlaçamento Este material foi desenvolvido pelos Profs. Drs. Aníbal Tavares de Azevedo -UNICAMP e Cassilda Maria Ribeiro - UNESP 7

9.1.2 Laços Controlados por Entrada: Contador

9.1.2 Laços Controlados por Entrada: Contador 9.1.2 Laços Controlados por Entrada: Contador Exemplo 2- Escreva um algoritmo e um programa em C que dado um Número qualquer, seja calculado e impresso a tabuada desse número. Algoritmo tabuada Variáveis:

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: estruturas de repetição While / Do While / For Prof. Renato Pimentel 1 Estruturas de repetição O real poder dos computadores está

Leia mais

Laços de repetição for, while, do-while

Laços de repetição for, while, do-while Computação Eletrônica Laços de repetição for, while, do-while Prof: Luciano Barbosa Estruturas de Repetição Imagine um programa que calcula a média de um aluno. Este programa é bastante simples, bastaria:

Leia mais

9 Laços. Unesp Campus de Guaratinguetá

9 Laços. Unesp Campus de Guaratinguetá 9 Laços Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 9 Laço (Enlaçamento) Existem situações em que uma

Leia mais

7 Testes e Condições. Unesp Campus de Guaratinguetá

7 Testes e Condições. Unesp Campus de Guaratinguetá 7 Testes e Condições Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 7 Seleção de Ações Alternativas Suponha

Leia mais

Linguagem C (repetição)

Linguagem C (repetição) Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,

Leia mais

Estruturas de Repetição. for() while() do-while() break; continue;

Estruturas de Repetição. for() while() do-while() break; continue; Estruturas de Repetição for() while() do-while() break; continue; 1 Auto-Ajuda (!) Como ajudar a solucionar erros básicos do meu programa? Verificar os ; Verificar se não há comandos em maiúsculas; Verificar

Leia mais

MC-102 Aula 06 Comandos Repetitivos

MC-102 Aula 06 Comandos Repetitivos MC-102 Aula 06 Comandos Repetitivos Instituto de Computação Unicamp 2 de Setembro de 2016 Roteiro 1 Comandos Repetitivos 2 Comando while 3 Comando do-while 4 O comando for 5 Exemplos com Laços Variável

Leia mais

ESTRUTURAS DE CONTROLE

ESTRUTURAS DE CONTROLE ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO EM LINGUAGEM C 03/12/16 Repetição Contada Fluxograma Linguagem C I = C até F sim Comando não For (i=c; i

Leia mais

Estruturas de Controle

Estruturas de Controle Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura Condicional Composta Seleção entre duas ou mais Seqüências de Comandos ESTRUTURA DE REPETIÇÃO

Leia mais

Modulo 4: while do while (limites de variáveis)

Modulo 4: while do while (limites de variáveis) PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 4: while do while (limites de variáveis) Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Até aqui apreendemos as estruturas: If e If...else Switch

Leia mais

Linguagem C Estruturas de Repetição

Linguagem C Estruturas de Repetição Linguagem C Estruturas de Repetição José Gustavo de Souza Paiva Introdução Como fazer um programa que mostre na tela os 4 primeiros números ímpares? Primeira solução printf( 1 ); printf( 3 ); printf( 5

Leia mais

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol PDA - Repetição Estruturas de repetição Slides adaptação de Deise Saccol 1 Existem situações em que o processamento de um valor uma única vez não é suficiente para resolver o problema. Quando isto ocorre,

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Alguns cálculos realizados pelo computador são feitos de forma repetitiva Exemplos: Cálculo de 25! fat = 25*24*23*22*21*20*19*18*17*16*15*14*13*12*11*10*9*8*7*6*5*4*3*2*1; Soma

Leia mais

12 - Dados Estruturados Vetores, Matrizes e Strings

12 - Dados Estruturados Vetores, Matrizes e Strings 12 - Dados Estruturados Vetores, Matrizes e Strings Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante Vetores,

Leia mais

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR) Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR) Profa. Dra. Elisa Yumi Nakagawa 1o semestre/2017 Estruturas de Controle l ESTRUTURA SEQUENCIAL l ESTRUTURAS CONDICIONAIS l l l Estrutura Condicional Simples Estrutura

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Introdução As estruturas de repetição, permitem executar mais de uma vez um mesmo trecho de código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas

Leia mais

Universidade Veiga de Almeida Algoritmos e Linguagem I

Universidade Veiga de Almeida Algoritmos e Linguagem I Aula 9 Conteúdo: 12. Estruturas de repetição 12.1. Laços contados 12.2. Laços condicionais 13. Estruturas de controle encadeadas ou aninhadas 12. Estruturas de Repetição São muito comuns as situações em

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos

Leia mais

Programação de Computadores IV. Estruturas de repetição Slides cedidos por Bruno Augusto Dorta Marques

Programação de Computadores IV. Estruturas de repetição Slides cedidos por Bruno Augusto Dorta Marques Programação de Computadores IV Estruturas de repetição Slides cedidos por Bruno Augusto Dorta Marques 1 Estruturas de repetição Uma ação que se repete várias vezes pode ser tratada através: Repetição de

Leia mais

Estruturas de repetição

Estruturas de repetição Título em português: FEITIÇO DO TEMPO (1993) Sinopse: Um repórter de televisão que faz previsões de meteorologia vai à uma pequena cidade para fazer uma matéria especial sobre o inverno. Querendo ir embora

Leia mais

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE) Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE) Profa. Dra. Elisa Yumi Nakagawa 1o semestre/2017 Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura Condicional

Leia mais

MC102 Algoritmos e Programação de Computadores

MC102 Algoritmos e Programação de Computadores MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação: estruturas de repetição 1 Imagine um algoritmo para calcular a média de uma quantidade desconhecida de números Para

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

ESTRUTURAS DE REPETIÇÃO - PARTE 1

ESTRUTURAS DE REPETIÇÃO - PARTE 1 AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais...

Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: simples e composta Aula 05 Prof. Piva Estruturas condicionais... Existem comandos que, a partir de uma condição, permitem

Leia mais

10 Comandos de repetição

10 Comandos de repetição 10 Comandos de repetição 10.1 Definição Um comando de repetição é um tipo instrução que permite para executar outra instrução (ou um conjunto de instruções) mais de uma vez. O número de execuções (repetições)

Leia mais

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim) Algoritmos e Programação de Computadores1 Prof. Eduardo 1 1. ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição é utilizada para fazer com que um pedaço (trecho) do programa seja executado n vezes, ou

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 3 Exercícios Escreva um programa para armazenar o valor 20 em uma variável X e o valor 5 em uma variável Y. A seguir, armazenar a soma do valor

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo LAÇOS Laços são comandos da linguagem

Leia mais

Aula 16: Laços aninhados e desvios

Aula 16: Laços aninhados e desvios Aula 16: Laços aninhados e desvios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Comandos de Repetição (Parte

Leia mais

Comandos de Repetição -Laços

Comandos de Repetição -Laços Comandos de Repetição -Laços Os comandos de repetição possibilitam que um conjunto de comandos possam ser repetidos seguindo uma determinada regra ou condição. alguns comandos repetem um conjunto de instruções

Leia mais

Amanda Gondim de Oliveira

Amanda Gondim de Oliveira ESTRUTURAS DE REPETIÇÃO Amanda Gondim de Oliveira ESTRUTURAS DE REPETIÇÃO É comum a repetição de procedimentos para se realizar tarefas. Esse procedimentos não são repetidos eternamente, mas se encerram

Leia mais

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Este guia irá lhe ajudar a entender o laço de repetição

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS DISCIPLINA: Lab. de Programação PROF: MSc. Flávio Barros PERÍODO: 2 DATA: Aluno (s): 01 ATIVIDADE / / Revisão de Conteúdo

Leia mais

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de repetição. Prof. Alex Camargo

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de repetição. Prof. Alex Camargo UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição Prof. Alex Camargo alexcamargoweb@gmail.com Estruturas de repetição As estruturas de repetição provém uma maneira

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição Universidade Federal de Uberlândia Faculdade de Computação Estruturas de repetição Prof. Renato Pimentel 1 Estruturas de repetição Utilização: Trecho de um algoritmo precisa ser executado mais de uma vez:

Leia mais

9. Comando de repetição com variável de controle (para.. de.. até.. faça)

9. Comando de repetição com variável de controle (para.. de.. até.. faça) 9. Comando de repetição com variável de controle (para.. de.. até.. faça) Com o uso das estruturas enquanto e repita é possível elaborar rotinas que efetuam a execução de um looping um determinado número

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Exercício - Seleção Escreva um algoritmo que leia o ano, mês e dia que uma pessoa nasceu

Leia mais

C Comandos de Controle

C Comandos de Controle C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br 19 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Revisão da Seção Introdução Comandos de Teste Comandos de

Leia mais

Computação eletrônica: Estruturas de repetição

Computação eletrônica: Estruturas de repetição Computação eletrônica: Estruturas de repetição Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 2 A estrutura while 3 A estrutura do-while 4 Observações Estruturas de repetição Repetir a execução de um

Leia mais

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012 Capítulo 5: Repetições Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Construção de laços Uma das principais características de um computador é sua capacidade para realizar cálculo e

Leia mais

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 www.decom.ufop.br/red 2017-1 Aula Teórica 05 Laços 1 Conteúdos da Aula Instrução de Repetição

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes marinagomes@unipampa.edu.br 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for

Leia mais

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO Executa uma sequencia 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

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Estruturas de repetição Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Comandos de repetição

Leia mais

Aula 4. Comandos de Repetição. Prof. Filipe Mutz.

Aula 4. Comandos de Repetição. Prof. Filipe Mutz. Aula 4 Comandos de Repetição Prof. Filipe Mutz. Instrução Instrução Instrução... Instrução Instrução Condicional (seleção) Repetitivo (loops) Comandos de repetição permitem que um conjunto de instruções

Leia mais

Estruturas de Repetição. João Medeiros FATERN

Estruturas de Repetição. João Medeiros FATERN Estruturas de Repetição João Medeiros FATERN 2010.2 Quais seriam os passos do algoritmo? 1. colocar café solúvel na xícara 2. colocar água quente 3. Colocar açucar na xícara 4. mexer 5. mexer 6. mexer

Leia mais

Python 3.x Estrutura de Repetição while

Python 3.x Estrutura de Repetição while Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa

Leia mais

PCI- Estrutura de Repetição II. Profa. Mercedes Gonzales Márquez

PCI- Estrutura de Repetição II. Profa. Mercedes Gonzales Márquez PCI- Estrutura de Repetição II Profa. Mercedes Gonzales Márquez Estrutura de Repetição Exemplo 1: Imprimir os n primeiros números inteiros positivos. int i, n; scanf("%d",&n); for (i=1; i

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 08 Estruturas de Repetição (Portugol/Linguagem C) Definição» Estrutura de Repetição

Leia mais

LINGUAGEM DE PROGRAMAÇÃO

LINGUAGEM DE PROGRAMAÇÃO Técnico em Informática LINGUAGEM DE PROGRAMAÇÃO Profª Ana Paula anapaula_mandelli@hotmail.com Estruturas de Repetição Em muitos casos, o algoritmo solução para uma determinada classe de problemas, apresenta

Leia mais

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa? Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Introdução à Computação 1 de 28 Funções Na Programação, funções são conjuntos

Leia mais

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta? 23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas

Leia mais

MC-102 Aula 08 Comandos Repetitivos

MC-102 Aula 08 Comandos Repetitivos MC-102 Aula 08 Comandos Repetitivos Instituto de Computação Unicamp 13 de Setembro de 2016 Roteiro 1 Exemplos com laços Menu de Escolhas Representação Binário-Decimal Representação Decimal-Binário 2 Laços

Leia mais

Estrutura de decisão

Estrutura de decisão Estrutura de decisão Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. Com as instruções de SALTO ou DESVIO

Leia mais

... contador = contador + 1; //contador++; ... <fim_da_estrutura_de_repetição> soma = 0; <estrutura_de_repetição_com_variável_x> soma = soma + x;

... contador = contador + 1; //contador++; ... <fim_da_estrutura_de_repetição> soma = 0; <estrutura_de_repetição_com_variável_x> soma = soma + x; Instituto Federal de Santa Catarina - Câmpus Chapecó Engenharia de Controle e Automação Programação I Professora: Lara Popov Zambiasi Bazzi Oberderfer Estruturas de Repetição São muito comuns as situações

Leia mais

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

Linguagem C ESTRUTURA DE CONTROLE

Linguagem C ESTRUTURA DE CONTROLE ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 ESTRUTURA DE REPETIÇÃO - Utilizando PARA Na repetição uma sequência de comandos deve ser executada

Leia mais

ESTRUTURA CONDICIONAL E SELEÇÃO

ESTRUTURA CONDICIONAL E SELEÇÃO Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ESTRUTURA CONDICIONAL E SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE OU DECISÃO) Até o momento da disciplina vimos algoritmos e programas

Leia mais

Linguagem C estruturas de repetição

Linguagem C estruturas de repetição Linguagem C estruturas de repetição IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa? Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Programação de Computadores 1 de 28 Funções Na Programação, funções são conjuntos

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Lógica de Programação Construção de Algoritmos Estruturas de Repetição Reinaldo Gomes reinaldo@cefet-al.br Estruturas de Repetição Com o conhecimento adquirido até aqui, ainda não é possível

Leia mais

Aula 5 - Mais C e repetição

Aula 5 - Mais C e repetição Vamos nesta aula mostrar mais detalhes e a forma geral dos comandos C vistos até agora. O comando de atribuição A forma geral do comando de atribuição é: = A expressão

Leia mais

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira E-mail: adelson.nogueira@pitagoras.com.br Aplicação: 1) Como imprimir os três primeiros número ímpares? Aplicação:

Leia mais

Introdução a programação Comandos de repetição

Introdução a programação Comandos de repetição Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Comandos de repetição Professor: Saulo Henrique Cabral Silva Laços de repetição 2 Vamos começar com um exercício Imprimir os

Leia mais

Aula 15 Variáveis Indexadas (vetores)

Aula 15 Variáveis Indexadas (vetores) Aula 15 Variáveis Indexadas (vetores) Além das variáveis normais já conhecidas, podemos ter também variáveis indexadas. Tais variáveis são referenciadas por um nome e um índice. Especialmente úteis para

Leia mais

Linguagem de Programação C

Linguagem de Programação C ICMC USP Linguagem de Programação C Aula: Comandos em C Prof. Dr Alneu de Andrade Lopes O comando if Se condição verdadeira (1) executa comando ou sequencia de comandos. Forma geral: if (condição) { sequência_de_comandos_1;

Leia mais

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C. capa Estruturas de repetição Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C. - Aprender a implementar algoritmos em C com laços de repetições. Estruturas de

Leia mais

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Apresentação do Professor Professor: José Carlos Perini E-mail: jose.perini@metrocamp.edu.br Blog: http://profperini.com Formação

Leia mais

Aula 15: Repetição (Parte 3)

Aula 15: Repetição (Parte 3) Aula 15: Repetição (Parte 3) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

ESTRUTURAS DE REPETIÇÃO - PARTE 2

ESTRUTURAS DE REPETIÇÃO - PARTE 2 AULA 16 ESTRUTURAS DE REPETIÇÃO - PARTE 2 16.1 A seqüência de Fibonacci Um problema parecido, mas ligeiramente mais complicado do que o do cálculo do fatorial (veja as notas da Aula 14), é o do cálculo

Leia mais

Aula 14: Repetição (Parte 2)

Aula 14: Repetição (Parte 2) Aula 14: Repetição (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Laços de repetição Comando de repetição

Leia mais

VETORES ADAPTADO DO MATERIAL DE PROF. L. A. ALVARES

VETORES ADAPTADO DO MATERIAL DE PROF. L. A. ALVARES VETORES ADAPTADO DO MATERIAL DE PROF. L. A. ALVARES SEJA O PROBLEMA: LER 30 VALORES E CALCULAR A MÉDIA ARITMÉTICA DOS MESMOS. Pergunta-se: Quantas variáveis serão necessárias para ler os 30 valores? 30?

Leia mais

Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Comando REPITA (repeat) Comando REPITA (repeat)

Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Comando REPITA (repeat) Comando REPITA (repeat) Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura de Repetição Aula 09 Prof. Piva Para começar... Existem situações onde não sabemos, ao certo, quantas vezes teremos que repetir a sequencia

Leia mais

Linguagem C (estruturas condicionais)

Linguagem C (estruturas condicionais) Linguagem C (estruturas condicionais) André Tavares da Silva atavares@joinville.udesc.br Comandos de Controle de Fluxo Todos os comandos devem ser terminados com um ;. { e são usados para delimitar um

Leia mais

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Linguagem C Controle do Fluxo de Execução. Lógica de Programação Linguagem C Controle do Fluxo de Execução Lógica de Programação Caro(a) aluno(a), Aqui começaremos a escrever os nossos primeiros programas em uma Linguagem de Programação. Divirta-se!!! Estrutura Seqüencial

Leia mais

Estruturas de Repetição

Estruturas de Repetição Prof.: Edwar Saliba Júnior Fevereiro 2012 1 Nomenclaturas: Loopings, Laços ou Malhas de Repetição; Possibilidades de Parada: Quantidade de repetições previamente definida (melhoria na legibilidade e qualidade

Leia mais

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo Programação Estruturada Linguagem C Estruturas de Controle Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Tipos de Estruturas de Controle Estruturas de Seleção Simples

Leia mais

Modulo 3: Else, Case, For...

Modulo 3: Else, Case, For... PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 3: Else, Case, For... Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Mais Comandos Condicionais Estrutura de Repetição Contável 2 Exemplo de

Leia mais

Aula 4 Introdução ao C

Aula 4 Introdução ao C Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções

Leia mais

1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO. Página 1

1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO. Página 1 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO Página 1 2 TECNOLOGIA ELEMENTAR CAPÍTULO 4 SUMÁRIO Apresentação -----------------------------------------------------------

Leia mais

Técnicas de Programação: Comandos de Controle de DEE UFPB

Técnicas de Programação: Comandos de Controle de DEE UFPB Técnicas de Programação: Comandos de Controle de Programa Prof. Protásio DEE UFPB 1 Comandos de Controle de Programa Comandos que direcionam o fluxo de execução de programa. Em C, tem se 3 categorias:

Leia mais

Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição Condicionais

Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição Condicionais Construção de Algoritmos Algoritmos e Lógica de Programação Com o conhecimento adquirido até aqui, ainda não é possível fazer iterações! Como escrever algoritmos que façam iteração de instruções? Usar!

Leia mais

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO Baseado nos slides de autoria de Rosely Sanches Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Seleção

Leia mais

Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente.

Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente. Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente. Com base numa condição Estruturas de decisão ou selecção Com base num selector ou de escolha múltipla Com contador

Leia mais

Estruturas de Decisão. Adaptado de Deise Saccol

Estruturas de Decisão. Adaptado de Deise Saccol Estruturas de Decisão Adaptado de Deise Saccol 1 ESTRUTURAS DE DECISÃO Comandos de decisão ou desvio fazem parte das técnicas de programação, para construir estruturas de algoritmos que não são totalmente

Leia mais