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

Documentos relacionados
ESTRUTURAS DE CONTROLE

Estruturas de Controle

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

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

Comandos de Repetição Parte II

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

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

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Estruturas de Repetição

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

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

Controle de Fluxo. Laços e Desvios incondicionais

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

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

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

CICLOS DE REPETIÇÃO. Luís Charneca.

Linguagem de Programação C

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

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

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

INSTRUÇÕES DE REPETIÇÃO

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

LP II Estrutura de Dados

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

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

Aula 10 Comandos de Repetição

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

Comandos em C (cont.)

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

Linguagem C Estruturas de Repetição

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I. Aula 5

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

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

Algoritmos: Conceitos Fundamentais

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

Introdução à Programação

Controle de Fluxo. Laços e Desvios incondicionais

Comandos de Repetição -Laços

Lógica de Programação I

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

Estruturas de Controle

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

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!

Estruturas de Repetição

Programação científica C++

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

Métodos Computacionais em Física

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