Estruturas de Repetição

Slides:



Advertisements
Apresentações semelhantes
Linguagem de Programação IV
Advertisements

© 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)
PROGRAMAÇÃO I UNIDADE 4.
Algoritmos e Programação MC102
Profa. Maria Augusta Constante Puget
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
ALGORITMOS Profº Antonio Carlos Marcelino de Paula 1.
Aula 4 Comandos de Repeti çã o Prof. Filipe Mutz..
Clique para editar o título Linguagem C Para programadores Python PMR
Prof. Tertuliano Estrutura Condicional em C++
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções” 1.
Algoritmos Grupos de Slides No 6. Prof. SIMÃO Estrutura de Repetição “faça até” do until Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Disciplina:PROA3V José Henrique Verhalem e Renan Tenório Professor: Alexandre Cassimiro Novembro 2015.
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
ESTRUTURAS DE CONTROLO Estrutura sequencial: é um conjunto de instruções em que são executadas pela ordem em que aparecem escritas no programa. Mas como.
Aula 3 - Estruturas de Repetição
Exercícios de Fixação.
Recursividade, Entrada pelo teclado e Funções com retorno
Algoritmo e Estrutura de Dados I
Algoritmos e Estruturas de Dados I
Lógica de Programação I
Introdução a Algoritmos
Programação em C Aula 8.
Estruturas de Decisão.
Fundamentos de Programação 1
Comandos da Linguagem C
PCI- Estruturas de Controle
Linguagem C Para programadores Python
Algoritmos e Estruturas de Dados I
FUNDAMENTO DE PROGRAMAÇÃO
Módulo I Capítulo 3: Fluxo de Código e Operador Condicional
Prof. Wellington Franco
IP – Condicionais e controle de fluxo
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Estrutura de decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma condição. Uma.
Programação de Computadores I – Arquivos
Algoritmos e Estrutura de Dados I
Algoritmos e Fluxogramas
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
FUNDAMENTO DE PROGRAMAÇÃO
IP – Repetições Prof. Eduardo Falcão.
UNIDADE 7 Tipos estruturados
Introdução à Programação
Dilvan Moreira (baseado no livro Big Java e T. Munzner)
PROGRAMAÇÃO I UNIDADE 3.
Algoritmos e Programação MC102
Algoritmos e Programação I
Estrutura de Repetição
Módulo I Capítulo 4: Operador de Repetição
Relembrando... Variáveis : endereçam uma posição de memória que contem um determinado valor dependendo do seu tipo (char, int, float, double, ...) void.
Complexidade de Algoritmos
Profa. Maria Augusta Constante Puget
Algoritmos Aula 8 Mairum Ceoldo Andrade.
Vetores: Exercícios Resolvidos
Programação de Computadores I – Arquivos
Profa. Mercedes Gonzales Márquez
Fundamentos de Programação 1
DHD – Desenvolvimento em Hardware
Linguagem C Linguagem Imperativa
Algoritmos Prof.: Carlos Alberto
Arrays de caracteres: strings
ALGORITMOS.
Linguagem C Linguagem Imperativa
Python: Comandos Básicos
Programação de Computadores LINGUAGEM C – AULA 05 - PROF. WELLINGTON TELLES.
Introdução a progrmação Comandos condicionais: if e switch
RESULUÇÃO DOS EXERCÍCIOS E
Aula 7 Professores: Conteúdo: Dante Corbucci Filho
Aula 3 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

Estruturas de Repetição

Sumário Estruturas de Controle: Exercícios. while (enquanto); for (para); do-while (faça-enquanto). Exercícios.

Comandos de Repetição Os comandos de repetição (ou iteração) são caracterizados por permitir que uma sequência de comandos seja executada um número repetido de vezes, sujeito, normalmente, a uma condição de término. O C possui três comandos que permitem a construção de repetições, são eles: while, for e do-while.

Comando while O comando while (enquanto) é usado quando se deseja executar uma sequência de comandos que possui um número variável, e normalmente desconhecido, de vezes.

Comando while while ( <expressão> ) <sequência>

Comando while Antes da sequência ser executada, a expressão (condição) é avaliada. Caso seja verdadeira, a sequência será repetidamente executada enquanto a condição for verdadeira. A condição deverá ser uma expressão que retorne um valor lógico.

Comando while Note que se a condição for falsa já na primeira avaliação, a sequência de comandos não será executada nenhuma vez. A condição representada por <expressão> deverá, em algum momento, ser falsa, caso contrário a sequência será executada indefinidamente (loop infinito).

Exemplo 1 /* Mostrar os números inteiros de 1 a 100 */ #include <stdio.h> int main() { int cont; cont = 1; while (cont <= 100) printf("%d\n", cont); cont = cont + 1; } return 0;

Comando while O valor da condição que controla a execução da sequência é modificado pela variável contadora (“cont”) que a cada iteração é incrementada de uma unidade. A aplicação normal do comando while se dá em problemas onde o número de repetições não é conhecido. O exemplo anterior tem apenas o objetivo de mostrar o uso do comando, pois o outro comando de repetição (for) tem a sua construção mais simples.

Exemplo 2 #include <stdio.h> int main() { int cont; cont = 2; /* Mostrar os números inteiros pares menores que 100 */ #include <stdio.h> int main() { int cont; cont = 2; while (cont < 100) printf("%d\n", cont); cont = cont + 2; } return 0;

Exemplo 3 #include <stdio.h> int main() { int num, soma; /* Somar os números inteiros de 1 a 100 */ #include <stdio.h> int main() { int num, soma; num = 1; soma = 0; while (num <= 100) { soma = soma + num; num = num + 1; } printf("%d\n", soma); return 0;

Exemplo 4 /* Calcular o fatorial de um número fornecido pelo usuário */ #include <stdio.h> int main() { int N; unsigned long int Fat; printf("Entre com um numero: "); scanf("%d", &N); if (N >= 0) { Fat = 1; while (N > 1) { Fat = Fat * N; N--; } printf("Fatorial = %ld\n", Fat); else printf("Numero Invalido!\n"); return 0;

Comando for for ( <inicialização> ; <condição> ; <incremento> ) <sequência>

Exemplo 5 /* Mostrar os números inteiros de 1 a 100 */ #include <stdio.h> int main() { int i; for (i=1; i<=100; i++) printf("%d\n", i); } return 0;

Comando for A variável i , nesse caso, é conhecida como variável de iteração. Na primeira passagem pelo for, seu valor é 1. Depois, a instrução seguinte é executada: printf("%d\n", i). Após o comando, o programa volta ao for, e i assume o valor 2. Então, a instrução printf("%d\n", i) é executada novamente. O programa volta ao for novamente, enquanto a condição seja satisfeita: i< = 100 .

Exemplo 6 Exemplo: Escrever os números de 1 a 10 em ordem ascendente e descendente: /* Ordem ascendente */ for (i=1; i<=10; i++) printf("%d\n", i) /* Ordem descendente */ for (i=10; i>=1; i--) printf("%d\n", i)

Exemplo 7 #include <stdio.h> int main() { int i; char ch; /* Imprime numeros de 1 a 100 */ for (i=1; i<=100; i++) printf("%d\n", i); /*Imprime os numeros pares de 2 a 100 */ for (i=2; i<=100; i+=2) for (ch='a'; ch<='z'; ch++) { /* Imprime o numero da tabela ASCII */ printf("%d - ", ch); /* Imprime os caractere de 'a' a 'z' */ printf("%c\n", ch); } return 0;

Exemplo 8 /* Ler 4 notas e calcular a média delas */ #include <stdio.h> #define NUM 4 int main() { int i; float Valor, Soma, Media; Soma = 0; for (i=1; i<=NUM; i++) { printf("Entre com o numero: "); scanf("%f", &Valor); Soma = Soma + Valor; } Media = Soma / NUM; printf("A Media dos numeros = %f\n", Media); return 0;

Exemplo 9 /* Ler N números e calcular a média deles */ #include <stdio.h> int main() { int i, Num; float Valor, Soma, Media; printf("Entre com a quantidade de numeros: "); scanf("%d", &Num); Soma = 0; for (i=1; i<=Num; i++) { printf("Entre com o numero: "); scanf("%f", &Valor); Soma = Soma + Valor; } if (Num > 0) { Media = Soma / Num; printf("A Media dos numeros = %f\n", Media); return 0;

Exemplo 9 No programa anterior, o limite superior do comando for é uma variável lida no começo da execução do programa. Para alterar a quantidade de números a serem lidos basta executar o programa novamente e entrar com um novo valor.

Comando do-while O comando do-while (faça-enquanto), assim como o comando while, é usado quando não é conhecido o número de vezes que uma sequência de comandos deverá ser executada. Porém, a sequência será executada pelo menos uma vez.

Comando do-while do { <sequência> } while ( <expressão> );

Exemplo 10 /* Mostrar os números inteiros de 1 a 100 */ #include <stdio.h> int main() { int cont; cont = 1; do { printf("%d\n", cont); cont = cont + 1; } while (cont <= 100) return 0; }

Exemplo 11 /* Calcular o fatorial de um número fornecido pelo usuário Após o resultado o usuário pode optar em fazer outro cálculo */ #include <stdio.h> #include <conio.h> int main() { int N, i; unsigned long int Fat; char op; do { printf("Entre com um numero: "); scanf("%d", &N); if (N > 0) { Fat = 1; for (i=2; i<=N; i++) Fat = Fat * i; printf("Fatorial de %d = %ld\n", N, Fat); } else printf("Numero Invalido!\n\n"); printf("Deseja Continuar <S> ou <N>?\n"); op = getchar(); } while (op == 'S' || op == 's'); /* ou toupper(op) == 'S' */ return 0;

Comandos de Repetição for (i=1; i<=10; i++) { printf("%d\n", i); } // while i = 1; while (i <= 10) { printf("%d\n", i++); } // do-while i = 1; do { printf("%d\n", i++); } while (i <= 10);

Comando break Como visto anteriormente, o comando break pode ser utilizado em conjunto com o comando switch-case. Sua função era interromper o comando switch assim que uma das sequências de comandos da cláusula case fosse executada.

Comando break O comando break também serve para interromper a execução de qualquer comando de repetição (for, while ou do-while). O break faz com que a execução do programa continue na primeira linha seguinte ao laço ou bloco que está sendo interrompido.

Comando break #include <stdio.h> #include <stdlib.h> int main() { int i, n; for(i = 0; i < 10; i++) printf("Digite um numero positivo: "); scanf("%d", &n); if (n <= 0) break; /* interrompe a entrada de dados */ } return 0;

Comando continue O comando continue é muito parecido com o comando break. Tanto o comando break quanto o comando continue ignoram o restante da sequência de comandos que os sucedem no laço. A diferença é que, enquanto o comando break termina o laço de repetição, o comando continue interrompe apenas os comandos seguintes do laço e retorna ao teste de condição.

Comando continue #include <stdio.h> #include <stdlib.h> int main() { int i, n, soma=0; for(i = 0; i < 10; i++) printf("Digite um numero positivo: "); scanf("%d", &n); if (n < 0) continue; /* se o numero for negativo não soma */ soma=soma + n; } printf("Soma = %d\n", soma); return 0;

Referências BACKES, André R., Linguagem C: Descomplicada. Disponível em < http://www.joinville.udesc.br/portal/professo res/fiorese/materiais/apostilaC_Univ_Fed_Ub erlandia.pdf>. Acesso em: 01 ago. 2017. Página Prof. Simão: http://www.dainf.ct.utfpr.edu.br/~jeansimao/