Algoritmos e Técnicas de Programação · For O laço for é diferente dos demais comandos de...

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

Transcript of Algoritmos e Técnicas de Programação · For O laço for é diferente dos demais comandos de...

Algoritmos e Técnicas de Programação

Professora: Luciana Faria

Estrutura de Repetição condicional

Estrutura de repetição

Nas aulas anteriores verificamos que a execução sequencial dos comandos da função main() nos limita a programação de algoritmos muito simples. Passamos, então, a dedicar nossa atenção ao estudo de recursos de programação mais elaborados, tais como as estruturas condicionais if...else e switch, as quais permitem executar partes do código somente sob determinadas condições.

Estrutura de repetição

Agora, estudaremos as estruturas de repetição, que permitem executar mais de uma vez um mesmo trecho de código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas condições, mas com a opção de repetir o mesmo bloco quantas vezes for necessário. As estruturas de repetição são úteis, por exemplo, para repetir uma série de operações semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de dados, ou simplesmente para repetir um mesmo processamento até que uma certa condição seja satisfeita.

Estrutura de repetição

Atribui o valor da direita à variável da esquerda

As estruturas de repetição, também chamadas de laços, permitem que um conjunto de instruções seja repetido enquanto uma condição está sendo satisfeita.

alor da direita à variável da esquerda

Na linguagem C, existem três comando de repetição:

•For

•While

•Do while

For

O laço for é diferente dos demais comandos de repetição (while e do while) por ter condições predefinidas, ou seja, o número de vezes a ser executado já é conhecido.

Sintaxe:

For (inicialização; condição; incremento){ <comando>;}

Inicialização: determina o valor inicial da variável que controla o laço;Condição: Determina quando o laço será finalizado retornando falso ou verdadeiro;Incremento: Determina quando a variável controladora será incrementada após a execução das linhas de comando existentes dentro do for.

Exemplo

int x;For(x=1;x<=10;x++){ prinft(“\n %d”, x);}

Imprimir os números de 1 até 10

While

Esta estrutura de repetição executa a instrução até que a condição se torne falsa, isto é, o laço permanece enquanto o resultado da expressão for verdadeiro.

Sintaxe:while (condição) <linha de comando>;

Nos casos onde existe mais de uma linha de commando dentro de um while é obrigatório o uso de chaves.

while (condição){ <linha de commando 1>; <linha de commando 2>;}

Exemplo

x=1;

While (x<=10){ printf(“\n = %d”, x); x++;}

Imprimir os números de 1 até 10

Do while

Ao contrário das estruturas for e while funciona de forma diferente. Os primeiros testam a condição no início do laço, já no caso do while, a condição sempre será executada ao final e por este motivo, as linhas de comando subordinadas a ele serão executadas pelo menos uma vez. Exatamente porque o teste encontra-se no final da estrutura, o laço será repetido enquanto a condição for verdadeira.

Sintaxe:do{ <linha de comando1 >; <linha de comando2 >;….}while (condição);

Exemplo

x=1;

do{ printf(“\n = %d”, x); i++;} while(x<=10);

Imprimir os números de 1 até 10

Exercícios

a)Desenvolver um programa que apresente os números entre 0 e 100;

b)Fazer um programa que solicite ao usuário para digitar valores numéricos inteiros até que seja digitado um número negativo e calcule a media dos números positivos digitados.Dica: Utilizar uma variável para acumular os valores e outra para contar a quantidade de números digitados.

c) Fazer um programa que solicite ao 20 salários e imprima: o somatório dos salários, o maior salário e o menor salário.

d) Fazer um programa que mostre os nove primeiros números da sequência de FIBONACCI. A série de FIBONACCI tem o seguinte comportamento. O número do elemento atual é a soma dos dois elementos anteriores. Os dois primeiros números da sequência são 0 e 1.

e)Desenvolver um programa que solicite a idade de um usuário e imprima na tela uma das mensagens:

•Se a idade for menor ou igual a zero: “Idade inexistente”;•Se a idade for maior que zero e menor que 12 anos: “Criança”;•Se a idade for maior que 12 e menor que 18 anos: “Adolescente”;•Se a idade for maior que 18 e menor que 70 anos: “Adulto”;•Se a idade for maior que 70 anos: “Idoso”;

f) Desenvolver um programa que calcule o salário de um funcionário e para isso, necessitamos saber: o número de horas trabalhadas e o número de dependents do funcionário. Considerando que:O valor da hora trabalhada é de R$50,00;O valor para cada dependente é de R$80,00;O desconto de INSS é de 8,5% sobre o salário bruto;O desconto do Imposto de Renda é de 5% sobre o salário bruto. O Salário bruto será o número de horas trabalhada vezes o valor da hora trabalhada.

O programa deverá calcular e mostrar:O Salário bruto, os valores descontados para cada tipo de imposto e, finalmente, qual o salário líquido do funcionário, que será o salário bruto menos os impostos, mais os valores dos dependents.