Comandos de Repetição -Laços

Documentos relacionados
MC-102 Aula 06 Comandos Repetitivos

Estruturas de Repetição

Controle de Fluxo Utilizando C

Módulo 3 Controle de Fluxo

Aula 16: Laços aninhados e desvios

O comando for permite que um certo trecho de programa seja executado um determinado número de vezes. A forma do comando for é a seguinte:

Cap. 3 Entrada e Saída e Controle de Fluxo

Estruturas de Repetição

Linguagem C (repetição)

Aula 15: Repetição (Parte 3)

Introdução à Ciência da Computação

Programação Estruturada Aula - Estruturas de Repetição

Estruturas de repetição

Lógica de Programação I

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: C

Algoritmos e Programação

Linguagem C estruturas de repetição

COMANDOS DE DECISÕES. O COMANDO if. O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução;

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

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

MC-102 Aula 07 Comandos Repetitivos

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

Apresentar os comandos de controle associados com as estruturas de repetição.

Laços. - receba o dinheiro - Pergunte qual refrigerante o cliente deseja - forneça o refrigerante - devolva o troco

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

INF 1005 Programação I

SSC304 Introdução à Programação Para Engenharias. Controle de Fluxo. GE4 Bio

Linguagem de Programação C

C Comandos de Controle

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

Estruturas de Repetição

Programação Estruturada

Métodos Computacionais em Física

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

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

Estruturas de Controle

Comando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.

Estruturas de Repetição

Aula 14: Repetição (Parte 2)

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

Controle de Fluxo Utilizando C

Aula 14: Estruturas de Seleção e Controle em C

Linguagem C. Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973.

Introdução à Programação. Estruturas de Repetição

Disciplina de Algoritmos e Programação

ESTRUTURAS DE CONTROLE

Laboratório 3 Comandos de repetição while, do-while e for

LP II Estrutura de Dados

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

Tópicos Cap. 3 Entrada e Saída e Controle de Fluxo Livro printf e scanf if e? while for switch break continue Entrada e Saída Entrada e Saída

Introdução à Programação SCC-121

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

MC102 Algoritmos e Programação de Computadores

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

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

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

Programação estruturada

C Comandos de Controle

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

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

CCO 016 / COM 110 Fundamentos de Programação

Estruturas de Controle em Linguagem C

10 Comandos de repetição

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Linguagem C Estruturas de Repetição

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

Lógica de Programação I

ICMC USP. 1.semestre/2011 SCC120 - ICC. Aula: Comandos em C. Profa. Roseli Ap. Francelin Romero

Lógica de Programação I

Exercícios Repetição

Aula 05: Condicionais (if / else)

Linguagem C. Funções. Prof. Maurício Dias

ECT1203 Linguagem de Programação

Aula 15 Variáveis Indexadas (vetores)

Lógica de Programação I

Resumo da matéria: - Sintaxe da definição duma função C: - Diagramas sintácticos do if e dos mecanismos de ciclos em C:

Estrutura de decisão

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

1) Operadores de auto incremento ++ e auto decremento --

DURAÇÃO DA PROVA: 2 horas

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

Fundamentos de Programação 1

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Estruturas de Decisão e loops

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

Aula 05 Estrutura de Seleção em C

Linguagem de Programação I. Aula 07 Linguagem C: Estruturas de Controle

Capítulo 06: Arquivos

controle de fluxo repetições iterativas

Linguagem C (estruturas condicionais)

Pascal/C. Técnicas de Programação

Transcrição:

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 enquantouma condição é satisfeita, outros repetem atéque a condição seja satisfeita e outros repetem um determinado número de vezes. Cada repetição executada é chamada de iteração.

Comandos de Repetição -Laços Agora, vamos visualizar a seguinte situação: temos um laço que gira em torno de uma variável. O valor da variável inicia com um determinado valor, este valor é aumentado ou diminuído em uma unidade a cada iteração e quando atinge um determinado valor limite,o laço é finalizado. O comando para este fim é o para faça.

Comandos de Repetição -Laços Em Pascal toindica que a variável aumenta a cada iteração e downtoque diminui. Em C o comando para façaé bastante poderoso, permite a inicialização e atualização de várias variáveis e permite condições de continuação que não necessariamente estejam relacionadas às variáveis.

Um exemplo simples é o de uma contagem a ser impressa na tela. Uma variável começa em um determinado valor, a cada iteração é impressa na tela e incrementada e quando atinge o valor limite, o laço é finalizado. No laço seguinte a contagem é feita em forma decrescente. Exemplo

Exemplo

Exemplo

Exercício Faça um programa em C para escrever a tabuada de um número digitado. Faça um programa em C para escrever os pares até 10 Faça um programa em C para cálculo do fatorial de um número digitado. Faça um programa em C que obtenha a idade da 10 pessoas. Exibir a média de idade, a maior e menor idade

Exercício Faça um programa em C para escrever a tabuada de um número digitado. #include <stdio.h> #include <stdlib.h> int main (void) int n,cont; printf("digite um número"); scanf("%d", &n); for (cont=0;cont<=10;cont++) printf("%d x %d = %d\n",n,cont,n*cont); return 0;

Exercício Faça um programa em C para escrever os pares até 10 #include <stdio.h> #include <stdlib.h> #include <locale.h> int main (void) setlocale(lc_all,""); int cont; printf("pares até 10\n"); for (cont=0;cont<=10;cont+=2) printf("%d ",cont); return 0;

Exercício Faça um programa em C para cálculo do fatorial de um número digitado. #include <stdio.h> int main (void) int i,n,f = 1; printf("digite um número inteiro não negativo:"); scanf("%d", &n); for (i = 1; i <= n; i++) f *= i; printf(" Fatorial = %d \n", f); return 0;

Exercício Faça um programa em C que obtenha a idade da 10 pessoas. Exibir a média de idade, a maior e menor idade. #include <stdio.h> #include <stdlib.h> int main (void) int soma=0,i,cont,maior=0,menor=200; for (cont=1;cont<=10;cont++) printf("digite sua idade "); scanf("%d",&i); soma+=i; if (maior<i) maior=i; if(menor>i) menor=i; printf("media de idade: %d \n Maior idade:%d \n Menor idade:%d \n",soma/10,maior,menor); return 0;

Enquanto...faça O comandoenquanto façarealiza as iterações enquanto uma condição for satisfeita. O teste da condição é feitoantes de executar a iteração, por isso um comando enquanto façapode não ter sequer uma iteração realizada, quando logo no início a condição resulta em falso.

Exemplo O programa pede o número de caracteres que o usuário deseja digitar e permite que o usuário entre com esta quantia de caracteres.

Exemplo

Exemplo

Exemplo #include <stdio.h> int main (void) int i=0; printf("contagem crescente:"); while(i<=10) printf("%i ",i); i++; printf("contagem decrescente:"); i=10; while(i>=0) printf("%i ",i); i--; return 0;

Exercício Faça um programa para cálculo do fatorial de um número utilizando while.

Exercício Faça um programa para cálculo do fatorial de um número utilizando while. #include <stdio.h> int main (void) int i; int n; int f = 1; printf("digite um número:"); scanf("%d", &n); /* calcula fatorial */ i = 1; while (i <= n) f *= i; i++; printf(" Fatorial = %d \n", f); return 0;

Comandos de Repetição -Laços Existem situações em que o desejável é executar primeiro a iteração e depois testar a condição. Para isso temos o comando faça enquantoou repita até. O faça enquantorealiza uma iteração e só realiza a próxima se a condição for satisfeita, enquanto que o repita atérealiza uma iteração e só realiza a próxima se a condição não for satisfeita, pois atédenota uma condição de terminação e não de continuação. Pascal tem apenas o repita até e C somente o enquanto faça.

Exemplo Podemos refinar o programa anterior pedindo repetidamente que o usuário digite uma caractere: agora a condição é que quando ele digitar o caracter 0o programa será finalizado. Assim, não será necessário estabelecer o número de caracteres digitados previamente.

Exemplo O comando repeat until não necessita dos delimitadores de bloco begin endnem quando envolvem vários comandos.

Exemplo O comando do while, em C, deve sempre ter os delimitadores, ainda que envolva um único comando.

Exemplo #include <stdio.h> int main (void) int i=0; printf("contagem crescente:"); do printf("%i ",i); i++; while(i<=10); printf("contagem decrescente:"); i=10; do printf("%i ",i); i--; while(i>=0); return 0;

Exercício Alterar o programa de cálculo de fatorial para validarmos a inserção do usuário, isto é, o programa repetidamente requisita a inserção de um número enquanto o usuário inserir um inteiro negativo (cujo fatorial não está definido).

Exercício #include <stdio.h> int main (void) int i, n, f = 1; /* requisita valor do usuário */ do printf("digite um valor inteiro nao negativo:"); scanf ("%d", &n); while (n<0); /* calcula fatorial */ while (i <= n) f *= i; i++; printf(" Fatorial = %d \n", f); return 0; O comando do while, em C, deve sempre ter os delimitadores, ainda que envolva um único comando.

break e continue São formas para a interrupção antecipada de um determinado laço. O comando break, quando utilizado dentro de um laço, interrompe e termina a execução do mesmo. A execução prossegue com os comandos subsequentes ao bloco.

#include <stdio.h> int main (void) int i; for (i = 0; i < 10; i++) if (i == 5) break; printf("%d ", i); printf("fim\n"); return 0; Exemplo A saída deste programa, se executado, será: 0 1 2 3 4 fim pois, quando i tiver o valor 5, o laço será interrompido e finalizado pelo comando break, passando o controle para o próximo comando após o laço, no caso uma chamada final de printf.

break e continue O comando continue também interrompe a execução dos comandos de um laço. A diferença básica em relação ao comando break é que o laço não é automaticamente finalizado. O comando continue interrompe a execução de um laço passando para a próxima iteração. Exemplo: #include <stdio.h> int main (void) int i; for (i = 0; i < 10; i++ ) if (i == 5) continue; printf("%d ", i); printf("fim\n"); return 0; gera a saída: 0 1 2 3 4 6 7 8 9 fim

Exercícios Ache o primeiro número, entre 1 e 1 milhão que é divisível por 11, 13 e 17. Use o comando BREAK. Faça um programa que some todos os números, de 1 até 100, exceto os múltiplos de 5.

Acheoprimeironúmero,entre1e1milhãoqueé divisívelpor11,13e17.useocomandobreak. #include <stdio.h> intmain() int cont, numero; for(cont=1 ; cont<=1000000 ; cont++) if((cont%11==0) && (cont%13==0) && (cont%17==0)) printf("o numero e: %d",cont); break; return 0;

Faça um programa que some todos os números, de 1 até 100, exceto os múltiplos de 5. #include <stdio.h> intmain() int cont, soma=0; for(cont=1 ; cont<=100 ; cont++) if( cont%5 ==0) continue; soma += cont; printf("soma %d", soma);

Exercícios Solicitar a idade de várias pessoas e exibir: Total de pessoas com menos de 21 anos. Total de pessoas com mais de 50 anos. O programa termina quando idade for =-99.

#include<stdio.h> int main() int idade,contador21=0,contador50=0; Exercícios Correção do printf("\n DIGITE A IDADE(PARA ENCERRAR DIGITE -99) : "); scanf("%d",&idade); if(idade==-99) break; if(idade<21) contador21++; if(idade>50) contador50++; while(idade!=-99); printf("\n TOTAL DE PESSOAS COM MENOS DE 21 ANOS E:%d",contador21); printf("\n TOTAL DE PESSOAS COM MAIS DE 50 ANOS E:%d",contador50); printf("\n\n"); return(0);

Exercícios Ler um número do teclado: exibir todos os números de 1 até o número lido. exibir o produto dos números. Receber um número e verificar se ele é triangular. (um número é triangular quando é resultado do produto de 3 números consecutivos. Exemplo: 24 = 2 * 3 * 4)

#include<stdio.h> main() Exercícios Correção int x, max=0, p=1; printf("\n INFORME UM NUMERO : "); scanf("%d",&max); for(x=1;x<=max;x++) //Valor menor ou igual ao numero informado. printf("\n Numero gerado: %d ",x); p=p*x; printf("\n O produto dos numeros gerados e: %d",p); printf("\n"); return(0);

Exercícios -Correção #include <stdio.h> main() int num,num1,p; num1 = 1; printf("digite um numero: "); scanf("%d", &num); p = num1 * (num1 + 1) * (num1 + 2); while (p < num) num1++; p = num1 * (num1 + 1) * (num1 + 2); if (p == num) printf("\ne triangular."); else printf("\nnao e triangular."); printf("\n"); return 0;