Instrução de ciclo do... while

Documentos relacionados
Legibilidade do código fonte

13 Operadores relacionais

Linguagens de programação. Introdução ao C (continuação)

Algoritmos e Programação

MC-102 Aula 06 Comandos Repetitivos

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

ESTRUTURAS DE CONTROLE

Aula 7 Estruturas de Repetição Cleverton Hentz

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Estruturas de Controle

Introdução à Programação. Ciclos 2ª parte

Instruções condicionais. Instruções de repetição. Programa simples. Se fizeres barulho então apanhas um estalo!!!! Se condição então acção.

CONTROLE DE FLUXO. Algoritmos e Programação. Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10

ECT1203 Linguagem de Programação

Introdução à Programação em C (II)

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

Linguagem C (repetição)

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

Introdução à Programação em C Input / Output

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

LP II Estrutura de Dados

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

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

Algoritmos e Programação

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

Controle de Fluxo. Laços e Desvios incondicionais

Introdução à Linguagem C

Estruturas de Repetição

Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e 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)

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

Métodos Computacionais em Física

Hugo Pedro Proença. Universidade da Beira Interior Departamento de Informática

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

Introdução à Programação em C

Estruturas de Repetição

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

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.

Universidade Veiga de Almeida Algoritmos e Linguagem I

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

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Algoritmos: Conceitos Fundamentais

Programação Estruturada Prof. Rodrigo Hausen Condicionais e Laços

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

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

Estruturas de repetição

INF 1005 Programação I

Introdução à Programação

Introdução à Programação

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014

PROCESSAMENTO DA INFORMAÇÃO LAÇOS E REPETIÇÕES. Prof. Dr. Francisco Isidro Massetto

Aula 4 Introdução ao C

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

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

Expressões Formato Expressões de atribuição Avaliação de expressões Efeitos laterais Conversão de tipos, implícita e explícita

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

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

Programação. MEAer. Expressões e Instruções. Bertinho Andrade da Costa. Instituto Superior Técnico. 2011/2012 1º Semestre

Sintaxe Básica de Java Parte 2

Linguagem de Programação C

3.1 - Funções para manipular dados de entrada e saída padrão

Ficha de Avaliação Sumativa. Notas Gerais:

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

Prof. A. G. Silva. 04 de abril de Prof. A. G. Silva INE5231 Computação Científica I 04 de abril de / 90

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

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

AULA TEÓRICA 7. Tema 4. Estruturas de controlo (continuação).

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

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

1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 4 ROTINAS DE REPETIÇÃO. Página 1

K&R: Capitulo 2 IAED, 2012/2013

Semana 2 Estruturas de Condição, Seleção e Repetição. Prof. Tiago Jesus de Souza

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

Abaixo vemos um programa que coloca os primeiros 100 números inteiros na tela:

Computação eletrônica: Funções

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

Programação para Games I

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

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

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Linguagem C Estruturas de Repetição

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

Algoritmos e Técnicas de

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

Introdução à Programação / Programação I

Aula 15 Variáveis Indexadas (vetores)

Objectivos. João Sousa Miguel Pedro Silva

Aula 5 - Mais C e repetição

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

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

Introdução à Programação em C

Transcrição:

Sumário Instrução de ciclo do{while Sintaxe e Semântica Exemplos Ciclos encadeados Instrução de ciclo for ( ) Sintaxe e Semântica Exemplos Ciclos encadeados Instruções de controlo de ciclo: break continue Selecção das instruções de ciclo while, do, for Programação 2007/2008 DEEC-IST 1 Instrução de ciclo do... while Sintaxe: do instrução while ( expressão ) Semântica: Em 1º lugar a instrução é executada e só depois é que a expressão é avaliada, se for verdadeira (diferente de zero) então a instrução (simples ou composta { ) é novamente executada. O ciclo repete-se até que o valor da expressão seja igual a falso (igual ao inteiro zero), então o controlo do programa passa o ponto a seguir à expressão. Utilização: Esta instrução é semelhante ao while, mas utiliza-se sempre que seja necessário executar o corpo do ciclo uma vez de forma independente do valor da condição. Programação 2007/2008 DEEC-IST 2

Instrução de ciclo do... while Problema I: Contagem do número de espaços numa frase char ch; int num_esp; num_esp=0; printf( Introduza uma frase com Enter no fim \n ); do{ ch=getchar(); if(ch== ) num_esp=num_esp+1; while(ch!= \n ); printf( Numero de espacos=%d, num_esp); Output do programa Introduza uma frase com Enter no fim uma frase com quatro espacos<enter> Numero de espacos = 4 Sugestão 1: Escreva um programa com a instrução while que seja equivalente ao programa com a instrução do while Sugestão 2: Altere o programa de modo a contar algarismos. Programação 2007/2008 DEEC-IST 3 Ciclos encadeados com do e while Problema II: Qual é o resultado do programa seguinte? Output do programa? int a, b; a=0; do{ a=a-2; b=0; while(b<5){ b=b+1; printf("a=%3d b=%3d ", a, b); printf("\n"); while(a>-10); Programação 2007/2008 DEEC-IST 4

Sintaxe: for ( ; expressão1 expressão2 ; expressão3 ) instrução Semântica: Em 1º lugar a expressão1 é avaliada, uma única vez. Normalmente é uma expressão de atribuição que inicializa uma ou mais variáveis. Em 2º lugar a expressão2 é avaliada. Constitui a condição de controlo do ciclo for. Se for falsa a execução do ciclo termina e passa para a instrução a seguir ao for. Se for verdadeira a instrução do corpo do for é executada. Após a execução da instrução do corpo do for, a expressão3 é avaliada. A expressão3 é normalmente utilizada para modificar uma variável que entra na expressão de controlo do ciclo, por exemplo para a incrementar ou decrementar a variável. Segue-se avaliação da expressão 2. O ciclo termina quando o valor da expressão2 for igual a falso. Programação 2007/2008 DEEC-IST 5 Problema I: Suponha que por mês efectua o depósito de 30 Euros e que a taxa de remuneração dos depósitos é de 0,25% ao mês. Considere que os juros são acumulados na conta. Qual é o valor na conta ao fim de 5 anos? int m; float conta; const int meses=5*12; const float taxa=1.0025; const int deposito=30; conta=0; /* Inicializacao */ for(m=1; m <= meses; m++){ /* Inicio do mes e no fim */ Resultado no ecrã: Mes = 60, conta = 1944.250 conta =(conta + deposito)* taxa; printf("mes = %d, conta = %.3f \n", m-1, conta); Programação 2007/2008 DEEC-IST 6

Problema II: Desenvolva um programa que efectue o cálculo de f(x,p) = x p sendo x um número real e p um número inteiro positivo. int p, i; float f, x; printf( Especifique x e p:\n ); scanf( %f%d,&x,&p); f=1.0; for(i=1; i <= p; i++) f=f*x; printf( f(%f,%d)=%f \n", x, p, f); Resultado no ecrã: Especifique x e p: 2.1 3 f(2.100000,3) = 9.260999 Programação 2007/2008 DEEC-IST 7 Problema III: Qual é o resultado do programa seguinte? Resultado no ecrã:?? int i, j; for(i=1; i<= 4; i++){ for(j=1; j<=5; j++) printf( %2d*%2d=%2d, i, j,(i*j)); Programação 2007/2008 DEEC-IST 8

Instrução break A instrução break pode ser utilizada dentro dos ciclos de while, do-while e for. A sua acção consiste em terminar a instrução de ciclo onde está. O fluxo do programa passa para a instrução imediatamente a seguir à instrução de ciclo onde está o break. Atenção aos ciclos encadeados, o break só interrompe o ciclo a que pertence. int i; for(i=1; i<= 200; i++){ printf( p(%d)=%d, i, i+1); if(i== 4){ printf( Fim antesdobreak\n ); break; printf( Fim depoisdobreak\n ); printf( Foradofor ); Resultado no ecrã:?? p(1)=2 p(2)=3 p(3)=4 p(4)=5 Fim antes do break. Fora do for Programação 2007/2008 DEEC-IST 9 Instrução continue A instrução continue pode ser utilizada dentro dos ciclos de while, dowhile e for. A sua acção consiste em passar imediatamente para a iteração seguinte do ciclo onde foi executada. int i; for(i=1; i<= 200; i++){ if((i>= 4)&&(i<= 199)) continue; printf( p(%d)=%d\n, i, i+1); printf( Fora do for.\n ); Resultado no ecrã:?? p(1)=2 p(2)=3 p(3)=4 p(200)=201 Fora do for. Programação 2007/2008 DEEC-IST 10

Selecção das instruções de ciclo while, do, for Com a apresentação das instruções de ciclo pode-se colocar a questão de como seleccionar a instrução mais adequada a ser utilizada num determinado algoritmo. Apresentam-se alguns critérios (que não sendo rigorosos) podem ajudar a resolver o problema. A instrução for é normalmente utilizada quando se conhece a priori o número de iterações que é necessário realizar. A instrução while é utilizada na situação oposta ao do for, isto é quando não se sabe apriori o número de iterações. Note-se no entanto que do ponto de vista de programação e de leitura do código fonte a utilização da instrução for é preferível ao while. A justificação é devida a que na instrução for fica explícita a inicialização e a actualização da variável que é utilizada na expressão de controlo. for(i=0; i<10; i=i+1){ /* Outras instruções */ <=> i=0; while(i<10){ /* Outras instruções */ i=i+1; Programação 2007/2008 DEEC-IST 11 Selecção das instruções de ciclo while, do, for A instrução do é utilizada quando se pretende executar um conjunto de instruções pelo menos uma vez de forma independente da avaliação da condição de controlo do ciclo. É no entanto possível transformar uma instrução do, numa instrução while, mas aumentando o código fonte. Veja-se o exemplo seguinte: j=0; do{ /* Instruções ABC */ j=j+1; while(j<k); <=> /* Instruções ABC */ j=1; while(j<k){ /* Instruções ABC */ j=j+1; Programação 2007/2008 DEEC-IST 12