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

Documentos relacionados
ESTRUTURAS DE CONTROLE

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

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

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

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.

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)

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Linguagem C Estruturas de Repetição

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

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

Programação de Computadores I. Linguagem C Estruturas de Repetição

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. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

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;

Linguagem C (repetição)

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Exercícios Repetição

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

Linguagem C (estruturas condicionais)

Estrutura do programa

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Estruturas de Repetição

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

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

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

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

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

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

MC-102 Aula 06 Comandos Repetitivos

Linguagem C estruturas de repetição

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Algoritmos e Programação

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

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

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

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

Algoritmos e Programação

3. Linguagem de Programação C

O laço for é geralmente usado quando queremos repetir algo por um número fixo de vezes

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Sintaxe Básica de Java Parte 2

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

MC102 Algoritmos e Programação de Computadores

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

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

INSTRUÇÕES DE REPETIÇÃO

Linguagem de Programação Java Terceira aula. Prof. Rogério Albuquerque de Almeida

LP II Estrutura de Dados

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

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

Comandos em C (cont.)

Linguagem C Estruturas de Repetição

C Comandos de Controle

Aula 8: Estruturas de Repetição: O comando while

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

Aula 11 - Repetições Encaixadas

Estruturas de Repetição

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Introdução à Programação

Lógica de Programação I

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

Seleção Múltipla Laços (while, do-while, for) AULA 05

Estruturas de Repetição

Aula 5 - Mais C e repetição

Disciplina de Algoritmos e Programação

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Programação científica C++

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

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)

Transcrição:

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 se abriu e fechou corretamente todos os, ( ),... Verificar se todas as bibliotecas estão corretamente declaradas (stdio.h, stdlib.h, math.h...); Não confundir atribuição (=) com comparação (==); Nunca usar & com printf; Nunca colocar ; depois de if s, else s,... ; Ler as mensagens de erro e analisar os possíveis erros; 2

for Engloba 3 expressões em uma única; Muito útil quando queremos repetir algo um número fixo de vezes; Forma geral: for ( incialização; teste; incremento) instrucao; 3

for Exemplo: int main() int conta; for(conta=0; conta<10; conta++) return(0); printf( conta=%d \n,conta); Esse programa executa 10 vezes a instrução printf(); A função printf() imprime o valor da variável conta; 4

for - a estrutura Os parenteses seguindo a palavra for contêm três expressões separadas por ; (expr.inicialização ; expr. de teste ; expr. de Incremento ) As três expressões podem ser composta por quaisquer expressões válidas em C; Expressão de Inicialização: é uma instrução de atribuição (conta=0) e é sempre executada uma única vez antes do laço ser iniciado; Expressão de teste: é uma instrução de condição que controla o laço (conta<10). É avaliada como verdadeira ou falsa toda vez que o laço for executado (ou repetido). Se for verdadeira o corpo do laço é executado, se falsa o laço é terminado imediatamente; 5

for - a estrutura Expressão de incremento: define a maneira como a variável de controle do laço será alterada cada vez que o laço é repetido (conta++). Essa instrução é executada toda vez imediatamente após a execução do corpo do laço; IMPORTANTE: Não coloque ; no fim da linha do for!!! 6

for Outro exemplo: imprimindo os números de 9 a 0: Int main() int conta; for(conta=9; conta>=0; conta--) printf( conta=%d \n,conta); return(0); 7

for Outro exemplo: imprimindo os números de 9 a 0, de 2 em 2: Int main() int conta; for(conta=9; conta>=0; conta-=2) printf( conta=%d \n,conta); return(0); 8

for - Flexibilidades Qualquer uma das expressões do laço for pode conter várias instruções separadas por vírgulas. A vírgula, na verdade, é um operador em C que significa faça isto e mais isto. Um par de expressões separados por, é avaliado da esquerda para direita; Exemplo: Int main() int x,y; for(x=0, y=0; x+y<100; x=x+1, y=y+1) printf( %d, x+y); return(0); 9

for - Flexibilidades Podemos usar caracteres ao invés de inteiros! Exemplo: Int main() char ch; for( ch= a ; ch<= z ; ch++) printf( %c, ch); return(0); 10

for - Flexibilidades Podemos usar funções em qualquer uma das expressões internas do laço for: Exemplo: Int main() char ch; for( ch=getch(); ch!= x ; ch=getch()) return(0); printf( %c, ch); Este programa solicita a entrada de um caractere enquanto esse caractere for diferente de x; 11

for - Flexibilidades Qualquer uma das três partes de um laço for pode ser omitida. Exemplo: Int main() char ch; for( ; ( ch=getch() )!= x ; ) printf( %c, ch); return(0); 12

for - Flexibilidades Laço infinito: Exemplo: Int main() for( ; ; ) printf( Laco infinito ); return(0); 13

for - Flexibilidades Laço nulo: Exemplo: Int main() int c; for( c=0 ; c<100 ; c++ ) ; return(0); 14

for - Instruções Múltiplas Duas ou mais instruções podem ser colocadas dentro do laço para serem executadas repetidas vezes, se estiverem escritas entre chaves; Exemplo: Int main() int conta, total; for(conta=0, total=0; conta<10; conta++) total+=conta; printf( Conta= %d, total= %d \n,conta,total); return(0); 15

for - Aninhados Podemos também utilizar laços for dentro de outros laços for, quantos forem necessários; Exemplo: um programa que imprime a tabuada: Int main() int i,j,k; for(k=0;k<=1;k++) printf( \n ); for(i=1;i<5;i++) return(0); printf( tabuada do %3d,i+4*k+1); printf( \n ); for(i=1;i<=9;i++) for(j=2+4*k; j<=5+4*k;j++) printf( %3d x %3d = %3d, j, i, j*i); 16

while Estrutura bem simples e similar ao laço for; Forma geral: While ( expressão de teste ) instrução; Enquanto a expressão teste for verdadeira, o corpo do laço while será executado. A expressão teste é testada toda vez que o laço inicializa uma nova repetição. 17

while Da mesma forma que o laço for, o laço while pode ter uma única instrução em seu corpo, várias, ou nenhuma; Em geral um laço while pode substituir um laço for dessa maneira: c=0; While(c<10) printf( %d\n,c); c++; For(c=0;c<10;c++) printf( %d\n,c); 18

while O mesmo exemplo anterior, agora utilizando laço while: int main() int conta=0; int total=0; //inicializa a var conta // inicializa a var total while(conta<10) // executa o laço 10 vezes total+=conta; // faz a conta (somatório) printf( conta=%d, total= %d\n,conta++,total); return(0); 19

Quando usar qual?? Se o laço for faz o mesmo trabalho que o laço while, quando devo usar o for e quando devo usar o while? O laço for é indicado em situações em que o número de iterações é previamente conhecido; Por que o programa irá percorrer todas as repetições necessáriamente; O laço while é indicado em situações onde o laço possa vir a ser interrompido no meio das repetições; Ou seja, ele não precisa cumprir todas as repetições; 20

Exemplo; Int main() int cont=0; printf( Digite uma frase:\n ); while(getche()!= \r ) cont++; printf( O numero de caracteres eh %d, cont); return(0); Esse programa retorna a quantidade de caracteres digitados até que o programa encontra o \r, que é o <RETURN> ou o mais conhecido como ENTER. 21

Exemplo: Int main() int num; int resposta; while(1) printf( Digite um numero: ); scanf( %d,&num); resposta=1; while(num>1) resposta*=num--; printf( O fatorial eh %d\n,resposta); return(0); 22

do-while Este laço é bastante similar ao while; A diferença entre os dois laços é que nesse laço o teste da condição é avaliado depois do laço ser executado; Dessa forma, o laço do-while é executado ao menos uma vez, não importando se a condição teste é verdadeira ou falsa; Forma geral: Do instrução; while ( expressao teste ); 23

break - continue O comando break pode ser usado no corpo de qualquer estrutura de laço em C; Causa a saída imediata do laço e o controlador passa para o próximo bloco de instruções; Se o comando break estiver em estruturas de laços aninhados, afetará somente o laço que o contém; Muito usado combinados com laços infinitos, por exemplo; O comando continue força a proxima iteração do laço e pula o código que estiver depois dele; Nos laços while e do-while, o continue faz com que o controlador vá direto para o teste da expressão e depois continua o laço; No caso do laço for, o computador primeiro executa o incremento do laço, depois o teste condicional, e finalmente faz com que o laço continue. 24

Exercícios 1. Escreva um programa em C, que solicite um número inteiro de até 4 dígitos ao usuário e inverta a ordem de seus algarismos. Por exemplo: C:> Digite um número de 4 digitos: 1234 Seu número invertido eh 4321. 2. Escreva um programa em C que leia do usuário uma letra qualquer, e escreva essa letra na tela compondo um triangulo com uma altura H também lida do teclado, da seguinte maneira: Letral= R, H=4 R RR RRR RRRR 25

Exercícios 3. Escreva um programa em C, que escreve os n primeiros números impares (com n lido do teclado); 4. Escreva um programa para calcular a soma e o produto dos n primeiros números naturais (n lido do teclado); 5. Escreva um programa que escreve na tela os dez primeiros números da sequencia: 4 1 1 2 + 1 4 1 8 + 26

Exercícios 6. Escreva um programa em C, que imprima o quadrado de todos os inteiros abaixo do número digitado pelo usuário. 7. Escreva um programa em C, que solicite dois caracteres do usuário e imprima o número de caracteres que estão entre eles (do alfabeto). 8. O número de combinações de n objetos diferentes, onde r objetos são escolhidos de cada vez, é dado pela seguinte fórmula: n! C n,r = r! n r! Escreva um programa em C que calcule o número de combinações de n objetos tomados r de cada vez. Os valores r e n devem ser solicitados pelo usuário. 27

Exercícios 9. Ler 5 números inteiros e calcular a soma dos que forem par. 10. Escreva um programa em C que escreva na tela todos os divisores de um número n lido do teclado. 11. Imprimir o menor número inteiro positivo cujo quadrado é superior a um valor n dado. 12. Imprimir a tabuada do número n lido do teclado. 13. Identificar se o número n lido do teclado é primo ou não. 14. A série de Fibonacci é uma sequencia de termos que tem como os 2 primeiros termos 0 e 1 respectivamente. A partir deles, os demais termos são formados somando-se os 2 ultimos termos: 0 1 1 2 3 5 8 13 21... Escreva um programa em C que gere n termos da sequencia de fibonacci. 28