A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 CCO 016 FUNDAMENTOS DE PROGRAMAÇÃO Universidade Federal de Itajubá Prof. Dr. Edison Oliveira de Jesus.

Apresentações semelhantes


Apresentação em tema: "1 CCO 016 FUNDAMENTOS DE PROGRAMAÇÃO Universidade Federal de Itajubá Prof. Dr. Edison Oliveira de Jesus."— Transcrição da apresentação:

1 1 CCO 016 FUNDAMENTOS DE PROGRAMAÇÃO Universidade Federal de Itajubá Prof. Dr. Edison Oliveira de Jesus

2 2 Assuntos da Aula Estruturas de Repetição –Definição –Estrutura de Repetição Enquanto faça - Exemplos

3 3 Repetição Esta estrutura é utilizada quando determi- nada parte do programa precisa ser repetida;

4 4 Repetições Não definidas Neste tipo de repetição, a quantidade de vezes que a ação é repetida, não é conheci- da à priori; Exemplo: –Dê voltas no campo de futebol afim de se exercitar, mas quando se cansar, pare; –Leia números inteiros até achar o número -1

5 5 No primeiro exemplo, a ação continua até que uma condição ocorra; ou seja, enquanto a condição pré estabelecida não ocorrer, a ação continua sendo repetida; no exemplo, a condição estabelecida é o cansaço, ou seja, quando este ocorrer a ação ( no caso, as voltas no campo de futebol ) termina; No segundo exemplo o mesmo ocorre, ou seja, a condição estabelecida é encontrar o numero -1; ou seja, números vão sendo lidos até que a condição ocorra;

6 6 Repetição não definida É utilizada quanto a ação a ser repetida de- pende da verificação da condição de repeti- ção antes de se iniciar o processo; É representada em algoritmo, da seguinte forma: enquanto ( condição == VERDADE) faça procedimento fim_enquanto

7 7 Neste caso, a estrutura de repetição precisa ter : 1.- uma variável de controle com um valor inicial; 2.- atualização da variável de controle; 3.- forma de terminar o ciclo de repetição;

8 8 Caso estas condições não ocorram, o programa: 1 não tem como entrar no ciclo de repetição pois não tem valor definido para a variável que compõem a condição, ou seja, de controle; 2 não tem como terminar o ciclo repetitivo pois não há variação da variável de controle durante este ciclo;

9 9 Modo de operação: –Antes de executar o procedimento, a condição é verificada; –Enquanto a condição for verdadeira a repetição é continuada; –Quando a condição for falsa, o ciclo de repetição é terminado;

10 10 Exemplo 1 1.a ← 10 2.enquanto ( a < 15 ) faça 3. imprima ( “a = “, a ) 4.a ← a + 1 5. fim_enquanto Observação: a numeração das linhas é utilizada apenas para a explanação do algoritmo

11 11 Neste exemplo, tem-se: –Variável de controle da repetição: a –Valor inicial da variável de controle: 10 –Variação da variável de controle: + 1 –Condição de término da repetição: a ≥ 15

12 12 O que aconteceria se a declaração da linha 1 não existisse? Idem, para a linha 4

13 13 Exemplo 2 1.leia ( a ) 2.enquanto ( a ≠ 999 ) faça 3.imprima ( “a = “, a ) 4.leia ( a ) 5.fim_enquanto

14 14 O que difere este programa do anterior? Qual é a função das declarações nas linhas 1 e 4? Utilização do flag

15 15 Exemplo 3 Calcular a média aritmética dos n primeiros números inteiros.

16 16 ALGORITMO media_numeros_inteiros algoritmo para o cálculo da média aritmética dos n primeiros números inteiros 1) definição das variáveis inteiros n, q_numeros, numero, soma_numeros flutuante media 2) iniciando as variáveis q_numeros ← 0 soma_numeros ← 0 numero ← 1 3) entrada dos dados imprima ( “entre com a quantidade de numeros “ ) leia ( n )

17 17 4) calculando a soma dos números enquanto ( q_numeros < n ) faça soma_numeros ← soma_numeros + numero numero ← numero + 1 q_numeros ← q_numeros + 1 fim_enquanto 5) calculando a média aritmética dos números media ← soma_numeros / q_numeros 6) mostrando resultados imprima ( “ media aritmetica de “, n, “ numeros: “, media ) Fim_algoritmo

18 18 Linguagem C while ( condição ) { procedimento }

19 19 Exemplo 4 1.leia ( a ) 2.enquanto ( a ≠ 999 ) faça 3.imprima ( “a = “, a ) 4.leia ( a ) 5.fim_enquanto

20 20 Em linguagem C { int a; scanf ( “%d”, &a ); while ( a != 999 ) { printf ( “a = %d\n“, a ); scanf ( “%d”, &a ); }.

21 21 Exemplo 5 // programa para o cálculo da média aritmética // dos n primeiros números inteiros #include void main (void); void main ( void ) { // definição das variáveis int n, q_numeros, numero, soma_numeros; float media; // entrada dos dados printf ( "entre com a quantidade de numeros\n" ); scanf ( "%d", &n );

22 22 // iniciando as variáveis q_numeros = 0; soma_numeros = 0; numero = 1; // calculando a soma dos números while ( q_numeros < n ) { soma_numeros += numero; numero++; q_numeros++; } // calculando a média aritmética dos números media = (float) soma_numeros / (float) q_numeros; // mostrando resultados printf ( " media aritmetica de %d numeros: %10.3f\n", n, media ); }

23 23 Exemplo 6 Calcular a média aritmética de n números dados

24 24 ALGORITMO media_numeros_inteiros algoritmo para o cálculo da média aritmética de n números inteiros dados 1) definição das variáveis inteiros n, q_numeros, numero, soma_numeros flutuante media 2) iniciando as variáveis q_numeros ← 0 soma_numeros ← 0 3) entrada dos dados imprima ( “entre com a quantidade de numeros “ ) leia ( n )

25 25 4) entrar com os números e calcular a soma dos mesmos enquanto ( q_numeros < n ) faça imprima ( “ entre com um numero inteiro “ ) leia ( numero ) imprima ( “numero lido: “, numero ) soma_numeros ← soma_numeros + numero q_numeros ← q_numeros + 1 fim_enquanto 5) calculando a média aritmética dos números media ← soma_numeros / q_numeros 6) mostrando resultados imprima ( “ media aritmetica de “, n, “ numeros: “, media ) fim_algoritmo

26 26 O correspondente programa em C pode ser escrito da seguinte forma:

27 27 #include void main ( void ); void main ( void ) { // programa para o cálculo da média aritmética de n // números inteiros dados // definição das variáveis int n, q_numeros, numero, soma_numeros; float media; // iniciando as variáveis q_numeros = 0; soma_numeros = 0; // entrada dos dados printf ( “entre com a quantidade de numeros\n “ ); scanf ( “%d”, &n );

28 28 // entrar com os números e calcular a soma dos mesmos while ( q_numeros < n ) { printf ( “ entre com um numero inteiro \n“ ); scanf ( “%d”, &numero ); printf ( “numero lido: %d\n“, numero ); soma_numeros += numero; q_numeros++ } // calculando a média aritmética dos números media = (float) soma_numeros / (float)q_numeros; // mostrando resultados printf ( “ media aritmetica de %d“, n,“ numeros: %10.4f“, media ); }

29 29 Exemplo 7 Calcular a média aritmética de n números dados; n não é conhecido à priori

30 30 ALGORITMO media_numeros_inteiros algoritmo para o cálculo da média aritmética de n números inteirosdados 1) definição das variáveis inteiros n, numero, soma_numeros flutuante media 2) iniciando as variáveis n ← 0 soma_numeros ← 0 3) entrar com o primeiro número imprima ( “ entre com um numero inteiro “ ) leia ( numero )

31 31 4) entrar com os demais números e somá-los enquanto ( numero ≠ 999 ) faça imprima ( “numero lido: “, numero ) soma_numeros ← soma_numeros + numero n ← n + 1 imprima ( “ entre com um numero inteiro “ ) leia ( numero ) fim_enquanto 5) calculando a média aritmética dos números media ← soma_numeros / n 6) mostrando resultados imprima ( “ media aritmetica de “, n, “ numeros: “, media ) fim_algoritmo

32 32 Em linguagem C, o programa é escrito da seguinte forma:

33 33 // programa para o cálculo da média aritmética // de vários números inteiros dados #include void main (void); void main ( void ) { // definição das variáveis int n, numero, soma_numeros; float media; // iniciando as variáveis n = 0; soma_numeros = 0;

34 34 // entrar com o primeiro número printf ( " entre com um numero inteiro \n" ); scanf ( "%d", &numero ); // entrar com os demais números e somá-los while ( numero != 999 ) { printf ( "numero lido: %d\n", numero ); soma_numeros += numero; n++; printf ( " entre com um numero inteiro \n" ); scanf ( "%d", &numero ); } // calculando a média aritmética dos números media = (float) soma_numeros / (float)n; // mostrando resultados printf ( " media aritmetica de %d numeros: %10.4f\n", n, media ); }

35 exemplo Faça um programa para ler e imprimir varios numeros inteiros e tambem: –Obter o menor e o maior valor lido; –Calcular quantos valores pares e impares foram lidos –Calcular o fatorial do menor numero positivo lido 35

36 36 Exemplo 8 Calcular a seguinte expressão:

37 37 Algoritmo calcula_expressão algoritmo para calcular uma expressão envolvendo fatorial 1) definição das variáveis inteiros a, b, fat_a, fat_b, k, num, den flutuante x 2) entrada dos dados imprima ( “ entre com dois valores inteiros “ ) leia ( a, b ) imprima ( “a = “, a, “ b= “, b ) 3) consistência dos dados se ( a < 0 ) ou ( b < 0 ) então imprima ( “ dados incompativeis “ ) senão

38 38 senão 3.1) calculo do fatorial de a fat_a ← 1 k ← 1 enquanto ( k ≤ a ) faça fat_a ← fat_a. k k ← k + 1 fim_enquanto 3.2) calculo do fatorial de b fat_b← 1 k ← 1 enquanto ( k ≤ b ) faça fat_b ← fat_b. k k ← k + 1 fim_enquanto 3.3) calculo do numerador num ← a + fat_b

39 39 3.4) calculo do denominador den ← fat_a – b 3.5) verificação do denominador e calculo da expressão se ( den = 0 ) então imprima ( “expressao não pode ser calculada” ) senão x ← num / den imprima ( “ x = “, x ) fim_se fim_algoritimo

40 40 em linguagem C o programa ficará da seguinte forma:

41 41 // programa para calcular uma expressão envolvendo fatorial #include void main ( void ); void main ( void ) { // definição das variáveis int a, b, fat_a, fat_b, k, num, den; float x; // entrada dos dados printf ( "entre com dois valores inteiros\n" ); scanf ( "%d %d", &a, &b ); printf ( "a = %d b = %d\n", a, b );

42 42 if ( ( a < 0 ) || ( b < 0 ) ) printf ( " dados incompativeis\n" ); else { // calculo do fatorial de a fat_a = 1; k = 1; while ( k <= a ) { fat_a = fat_a * k; k++; } // calculo do fatorial de b fat_b = 1; k = 1; while ( k <= b ) { fat_b = fat_b * k; k++; }

43 43 // calculo do numerador num = a + fat_b; // calculo do denominador den = fat_a - b; // verificação do denominador e calculo da expressão if ( den == 0 ) printf ( "expressao não pode ser calculada\n" ); else { x = (float)num / (float)den; printf ( " x = %10.5f\n", x ); }

44 44 Exemplo 9 Dados os dígitos que compõem um número binário inteiro positivo de 8 bits, determinar a sua conversão para decimal;

45 45 ALGORITMO binario-decimal algoritmo para converter um número binário de 8 bits em decimal 1) Definição das variáveis inteiros digito, decimal, k, n, pos, chave, soma 2) Inicializando variáveis pos ← 7 decimal ← 0 chave ← 0 3) Entrando com os dígitos e respectiva conversão k ← 1 enquanto ( k ≤ 8 ) e ( chave = 0 ) faça imprima ( “entre com um digito binario “ ) leia ( digito ) imprima ( digito ) se ( digito ≠ 0 e digito ≠ 1 ) então imprima ( “dados errados” ) chave ← 1 senão

46 46 se ( digito = 1 ) então soma ← 1 n ← 1 enquanto ( n < pos ) faça soma ← 2. soma n ← n + 1 fim_enquanto decimal ← decimal + soma fim_se k ← k + 1 pos ← pos - 1 fim_enquanto 4) Mostrando resultados se ( chave = 0 ) então imprima ( “ decimal = “, decimal ) fim_se fim_algoritmo

47 47 Em linguagem C o programa ficará da seguinte forma:

48 48 //programa para converter um número binário de 8 bits em decimal #include void main ( void ); void main ( void ) { // Definição das variáveis int digito, decimal, n, k, pos, chave, soma; // Inicializando variáveis pos = 7; decimal = 0; chave = 0; // Entrando com os dígitos e respectiva conversão k = 1;

49 49 while ( ( k <= 8 ) && ( chave == 0 ) ) { printf ( "entre com um digito binario \n" ); scanf ( "%d", &digito ); printf ( “%d”, digito ); if ( ( digito != 0 ) && ( digito != 1 ) ) { printf ( "dados errados\n" ); chave = 1; } else { if ( digito == 1 ) { soma = 1; n = 1; while ( n <= pos ) { soma *= 2 ; n++; } decimal += soma; } k++; pos--; }

50 50 // Mostrando resultados if ( chave == 0 ) printf ( " decimal = %d\n", decimal ); }

51 51 Fim da Aula


Carregar ppt "1 CCO 016 FUNDAMENTOS DE PROGRAMAÇÃO Universidade Federal de Itajubá Prof. Dr. Edison Oliveira de Jesus."

Apresentações semelhantes


Anúncios Google