Linguagem de Programação II Parte IV Professora: Flávia Balbino da Costa Linguagem de Programação II Parte IV
Conteúdo Programático: Revisão (estruturas de decisão e repetição, procedimentos e funções ) Trabalhando com a Linguagem C Estrutura de dados homogêneas I - vetores Estrutura de dados homogêneas II - matrizes Estrutura de dados heterogêneas - registros Recursividade Ponteiros, alocação dinâmica, listas
Comandos de repetição Os comandos de repetição devem ser utilizados quando se quer que uma ação seja executada uma ou mais vezes (ou em algumas situações, nenhuma vez).
Comandos de repetição Podemos definir dois tipos de situações distintas quando a utilização de um comando de repetição se faz necessário: Quando se conhece a quantidade de vezes que a ação deve ser realizada (essa quantidade pode ser um valor explícito ou o valor contido em uma variável) Quando, em uma situação mais geral, se conhece somente quando se deve parar.
Comandos de repetição - for Podemos pensar na utilização do comando FOR nas situações em que sabemos o número de vezes em que uma ação deverá ser repetida. No entanto, entendendo bem a sua sintaxe, podemos verificar que podemos utilizar este comando em qualquer situação em que a utilização de um comando de repetição se faz necessário.
For - sintaxe for (operações_iniciais; expressão_continuação; operações_final_passo) { Comando1; ... ComandoN; }
Comando For Repare, antes de qualquer outra coisa, que a sintaxe do comando define claramente três definições entre os parênteses, separadas por ponto e vírgula (;). Vamos a explicação de cada uma delas.
Comando For operações_iniciais - especificam as operações que devem ser realizadas antes de se executar o primeiro passo da repetição. Se mais de uma, separá-las por vírgula. Normalmente especificamos aqui os valores iniciais das variáveis;
Comando For expressão_continuação - deve ser UMA (e somente UMA) expressão cujo resultado será interpretado como um valor booleano. Sendo o resultado verdadeiro, a ação a ser repetida, formada pelos comandos entre o par de chaves, é realizada; caso contrário, o comando de repetição termina;
Comando For operações_final_passo - especificam as operações que devem ser realizadas ao final de cada passo. Se mais de uma, separá-las por vírgula. Normalmente especificamos aqui como as variáveis de controle do comando for devem ser alteradas.
Comando For - exemplos for (i=1; i<=10; i++) printf(“%d\n”, i); for (i=0, j=10; j>i; i++, j--) { printf(“Valor de i = %d\n”, i); printf(“Valor de j = %d\n”, j); printf(“Pressione uma tecla ...\n”); getch(); }
Comandos de repetição - while O funcionamento deste comando de repetição é idêntico ao correspondente do pascal e podemos utilizar nas mesmas situações, isto é, quando não sabemos a quantidade de vezes que a ação será repetida, mas sabemos quando parar.
While - sintaxe while (expressão) { Comando1; ... ComandoN; } A expressão terá o seu valor interpretado como um valor booleano. Quando o resultado desta for falso, a repetição terminará.
Comando while - exemplo printf(“Informe um número: “); scanf(“%d”,&n); while (n!=0) { if (n%2) printf(“O número é impar!\n”); else printf(“O número é par!\n”); printf(“Informe um outro número: “); }
Comandos de repetição – do...while O funcionamento do comando do...while é similar ao funcionamento do comando while. A única diferença é que aqui a expressão é avaliada no final, após a execução da ação. Isso faz com que a ação seja realizada pelo menos uma vez.
Do...While - sintaxe do { Comando1; ... ComandoN; } while (expressão); De qualquer modo, os comandos while e do...while se equivalem. A escolha por um ou por outro muitas vezes é de acordo com a situação (no comando do...while a ação é realizada pelo menos uma vez) e, também, escolha pessoal do programador.
Comando while - exemplo Faça um programa em C que deva ler um número inteiro e positivo (não permitir que o usuário informe um número fora dessas exigências) e informe todos os seus divisores.
Comando while - solução
Exercícios: Faça um programa que leia um número do teclado (limite), um incremento (incr) e imprima os números naturais de 0 até limite pulando de incr. Suponha que limite e incr são maiores que zero. Exemplo: valores lidos: 10 (limite) 3 (incr) impressão: 0 3 6 9
Exercícios: Faça um programa que imprima a tabuada de 5 no formato: ... ... ... 5 x 10 = 50 Faça um programa que imprima as tabuadas dos números de 1 a 10.
Exercícios: Faça um programa que leia um número do teclado (num), imprima os números de 1 a num e o seu somatório. Faça um programa que leia um intervalo do teclado (início e fim) e imprima os múltiplos de 5 entre eles. Exemplo: valores lidos: 3 17 impressão: 5 10 15
Exercícios: Faça um programa que leia um número do teclado (num), a seguir leia num números do teclado e imprima o maior, o menor e soma dos números lidos. Faça um programa que leia uma seqüência de números terminada por 0 e imprima o maior, o menor e a média aritmética dos números. O número 0 (zero) não faz parte da seqüência. Exemplo: valores lidos: 20 -3 4 - 7 1 0 impressão: Maior = 20 Menor = -7 média = 3
Exercícios: Faça um programa que leia o preço de compra e o preço de venda de 100 mercadorias. O programa deverá imprimir quantas mercadorias proporcionam: lucro < 10 % 10 % lucro 20 % lucro > 20 %
Soluções: 1) 2)
Soluções: 3)
Soluções: 4)
Soluções: 5)
Soluções: 6)