Você está na página 1de 17

RELATRIO 1 Conceitos Fundamentais de Programao.

Desafio: Bobina Jumbo 1) Desenvolver uma funo matemtica que resuma o clculo do peso terico de uma bobina filha.

a) Bobinas com Dimetro total externo de 1000 mm peso por metro linear 0,610: IV. Exemplo Largura de 660 peso igual a 403 Kg; Ento, 660x (1000/1000)x0,610 onde 660x1x0,610= 514,60 que foi arredondado para 515 Kg.

b) Bobinas com Dimetro total externo de 1150 mm peso por metro linear 0,678: V. Exemplo largura de 660 peso igual a 515 Kg; Ento, 660x (1150/1000)x0,678 onde 660x1,15x0,678= 514,60 que foi arredondado para 515 Kg.

c) Bobinas com Dimetro total externo de 1200 mm peso por metro linear 0,725: VI. Exemplo largura de 660 peso igual a 574 Kg; Ento, 660x (1200/1000)x0,725 onde 660x 12x0,725= 574,20 que foi arredondado para 574 Kg.

d) Bobinas com Dimetro total externo de 1500 mm peso por metro linear 0,933: VII Exemplo largura de 660 peso igual a 924 Kg; Ento, 660x(1500/1000)x0,933 onde 660x15x0,933=923,67 que foi arredondado para 924 Kg.

Nesta primeira Etapa foi discutido diversos assuntos em grupo, atravs das leituras anteriores no qual destacam-se:

Noo de Algoritmos; Algoritmos so solues computacionais, que nos ajudam a solucionar os diversos problemas do dia a dia. Ou seja: um conjunto de aes com propriedades especiais e especficas e com algumas estruturas padres para controlar a ordem na qual as aes so realizadas. Temos

que ter o mnimo de noo em algoritmos, porm os resultados finais ou aes dependem de um comando prtico e que se faa entender para a sua realizao.

PseudoLinguagem: A pseudolinguagem tenta aproximar os algoritmos da linguagem natural. Desta forma teremos uma linguagem simplificada aproximando a linguagem dos computadores da natural. O Portugol, a pseudolinguagem que mais usaremos, pois ela permite ao programador pensar no problema em si e no no equipamento que ir executar o algoritmo.

Estrutura de um programa:

* uma coleo de diversas variveis, com tipos possivelmente diferentes. Em C, os registros so declarados atravs da palavra reservada struct. Exemplo de uma estrutura em C: 1 struct aluno { 2 char nome [30]; 3 int matricula; 4 char curso [30]; 5 };Estruturas Para acessar um campo especfico de uma estrutura, deve-se compor o nome do campo que se deseja acessar com o nome da estrutura. Essa composio feita utilizando-se do ponto (.).Estruturas 1 struct aluno a 1, a2; 2 strcpy (a1.nome, Joo); 3 a1.matricula=123456; 4 strcpy (a1.curso, Engenharia); 5 a2=a1; 6 if (a2==a1) { 7 printf(So iguais.\n); 8 } Estruturas

A funo strcpy copia uma string de origem para uma string de destino, j que em C no possvel realizar esta operao diretamente. Por exemplo, a instruo a1.nome=Joo seria identificada como erro pelo compilador. Isto ocorre porque uma string considerada como um vetor em C e, como tal, deve ser manipulada elemento a elemento. A manipulao de strings em C feita atravs das suas funes e a comparao de duas strings possvel atravs da funo strcmp (string1,string2), que compara a string1 com a string2. Se as duas forem idnticas, a funo retorna zero. Se elas forem diferentes, a funo retorna um outro valor. A Linguagem C ainda oferece um recurso de se renomear tipos de dados primitivos. Isto feito atravs do comando typedef. Um exemplo de utilizao para typedef : Typedef int TipoContador; Typedef char* Tipopalavra; Estruturas Sendo possvel usar typedef nas estruturas. Exemplo: 1 struct tno{ 2 char* palavra; 3 int contador; 4 }; 5 typedef struct tno TipoNo;Estruturas Variveis podem ento ser definidas utilizando-se esse novo nome, como uma espcie de apelido. No exemplo a seguir, a declarao de varivel est sintaticamente correta: TipoNo meuNo; meuNo.contador=1; Vetores Os vetores, tambm chamados de arrays, so uma forma de armazenar vrios dados, em uma nica varivel, sendo estes dados acessveis por meio de um ndice numrico. Os vetores devem sempre conter dados do mesmo tipo. Sendo que a representao de matrizes segue a mesma regra dos vetores, diferenciando-se apenas com relao quantidade de dimenes.

Tipos primitivos para representao de dados e variveis: | Os tipos primitivos de dados so atmicos, no sentido em que no podem ser decompostos em tipos mais simples. Alguns tipos primitivos relacionam-se diretamente sua representao interna, como o caso dos nmeros inteiros. Outros tipos primitivos, como o tipo caractere, precisam de um pequeno suporte de hardware ou software para serem representados

internamente. Agora, vamos ver alguns exemplos como os numricos, caractere e booleano. * Tipos numricos | | | Os tipos numricos esto entre os primeiros implementados pelas linguagens de programao. A maioria das linguagens oferece tanto representaes dos nmeros inteiros, , como representaes dos nmeros reais, . As representaes computacionais desses tipos so apenas aproximaes desses conjuntos matemticos, que so infinitos, no podendo ser representados na memria do computador, que finita. No caso dos nmeros reais, temos, tambm, apenas aproximaes das dzimas infinitas no peridicas.A Tabela 1 mostra os principais operadores aritmticos, a forma como so representados e exemplos de como utiliz-los.Tabela 1 Operadores aritmticos. Operador| Representao | Exemplo | Menos unrio | Potenciao |^ | -a | a^5 | a*5 | |% | a%5 | | | |

Multiplicao | * Diviso | / | a/5

Mdulo (resto da diviso) Adio | + Subtrao |a+b | |-

|ab |

Valores numricos podem tambm ser operando de operadores relacionais. A Tabela 2 mostra os operadores relacionais mais comuns.Tabela 2 Operadores relacionais Operador | Representao | Exemplo | Comparao menor |< |a<5 | | |a5 |

Comparao menor-igual Comparao maior |>

|a>5 | | |a5 |

Comparao maior-igual Comparao igual | ==

| a == 5 | | a != 5 |

Comparao diferente | !=

Os operadores relacionais so utilizados para comparar valores, podendo ser aplicados sobre operando numricos, alm de outros tipos. Contudo, um operador relacional sempre produz um valor de tipo booleano, independente do tipo dos operando comparados. Ainda logo a frente veremos o tipo booleano. * Tipo inteiro |

| | O tipo inteiro o tipo primitivo numrico mais comum. Sem parte fracionria, o tipo inteiro caracterizado por sua faixa de valores representveis, havendo verses dos inteiros com ou sem sinal. So comuns implementaes de inteiros, inteiros sem sinal e inteiros longos. Um tipo inteiro com sinal representado internamente como uma sequncia de bits, em geral dois bytes, sendo o bit da extrema esquerda utilizado para representar o sinal e os demais bits para representar o valor absoluto do nmero, normalmente em uma notao conhecida como complemento de dois. Por exemplo, utilizando dois bytes os nmeros decimais e so representados na notao de complemento de dois como e , respectivamente. No caso dos inteiros sem sinal, o bit que seria utilizado para representao do sinal se destina tambm representao do valor absoluto do nmero. Em um inteiro sem sinal, apenas o zero e valores positivos so representveis, correspondendo ao conjunto dos nmeros naturais, . Por fim, um inteiro longo um inteiro com sinal onde mais bits so utilizados para representar o valor absoluto do nmero, permitindo a representao de valores absolutos maiores. Em geral, um inteiro longo tem o dobro de bits em relao ao nmero de bits de um inteiro simples. A diversidade de tipos inteiros depende do projeto da linguagem de programao e da arquitetura do computador para o qual o compilador ou interpretador da linguagem foi projetado. Na escrita do algoritmo sob a forma de pseudocdigo, o tipo inteiro identificado pela palavra reservada inteiro. Como o algoritmo uma representao genrica, no existe a preocupao com o tamanho necessrio para armazenar esse tipo. * Tipo Flutuante | Os nmeros em ponto-flutuante correspondem ao conjunto dos nmeros reais, aqueles que abrangem os nmeros racionais e irracionais. Para muitos nmeros reais, as representaes computacionais em ponto-flutuante so apenas aproximaes, como acontece com dzimas peridicas e nmeros como , e pode haver prejuzo de exatido durante algumas operaes aritmticas, como em , supondo numerador e denominador representados em pontoflutuante.Um valor em ponto-flutuante definido em termos de preciso e faixa. A preciso corresponde exatido de sua parte fracionria, medida pelo nmero de bits empregados para represent-la, ao passo que a faixa de valores uma combinao dos valores do expoente e da parte fracionria. Um nmero em ponto-flutuante geralmente representado pelo padro de ponto-flutuante IEEE 754. Nesse padro, um bit representa o sinal, seguido de uma sequncia de bits que representa o expoente e outra sequncia de bits que representa o valor da parte fracionria, conforme mostrado a seguir: 1 bit | 8 bits | 23 bits | sinal | expoente | Frao |

Como acontece com os inteiros, a variedade de tipos flutuantes em uma linguagem de programao depende do projeto da linguagem e de sua arquitetura alvo. Um tipo pontoflutuante de preciso simples costuma ser armazenado em quatro bytes, enquanto os de preciso dupla usam oito bytes.Uma representao alternativa representao de nmeros reais oferecida pela linguagem Cobol, que armazena esses nmeros utilizando a codificao BCD (Binary Coded Decimal), onde cdigos binrios so associados a cada dgito decimal individualmente, um dgito por byte ou dois dgitos por byte, com o ponto decimal em uma posio fixa no valor. O Cobol uma linguagem de programao antiga, mas ainda bastante

utilizada em sistemas antigos ainda em operao.Na escrita do pseudocdigo, os nmeros reais (tipo flutuante) so identificados unicamente pela palavra especial real e, assim como nos inteiros, no existe a preocupao com o tamanho necessrio para armazenar esse tipo. Como exemplos de valores do tipo real, temos: 2, -2, 0.8, -0.8, 3.71654 etc. * Tipo Booleano | | | O tipo booleano certamente o tipo primitivo mais simples, pois possui apenas dois valores associados: true e false. Normalmente, o tipo booleano empregado como sinalizador ou comutador para indicar a ocorrncia de certas condies ou para desviar o fluxo de execuo do programa. Ainda que algumas linguagens de programao utilizem outros tipos para essas funes, como acontece com a linguagem C, o uso do tipo booleano geralmente torna o programa mais compreensvel.Como o tipo booleano apresenta apenas dois valores, somos tentados a pensar que esse tipo representado por meio de um nico bit. Contudo, devido a questes de eficincia, o tipo booleano costuma ser representado na menor clula de memria eficientemente enderevel, geralmente o byte. Na escrita do algoritmo, o tipo primitivo booleano identificado pela palavra especial booleano e, assim como nos outros tipos, no existe a preocupao com o tamanho necessrio para armazenar esse tipo. Nesse contexto, o tipo booleano pode assumir um dos valores: falso ou verdadeiro. * Tipo Caractere | | | O tipo caractere corresponde aos smbolos alfanumricos armazenados como codificaes numricas. As codificaes mais conhecidas so a ASCII (American Standard Code for Information Interchange) que utiliza os valores de 0 a 127 para codificar 128 diferentes caracteres, e a Unicode, uma tabela de codificao de 16 bits que inclui caracteres da maioria das linguagens naturais. Em uma tabela de codificao, cada caractere identificado com um cdigo correspondente, conforme trecho da tabela ASCII apresentado na Tabela 6 a seguir:Tabela 6 Trecho da Tabela ASCII Binrio | Decimal | Hexa | Caractere | | 0100 0000 0100 0001 0100 0010 0100 0011 | | | 64 | 65 | 66 | 67 | | | 40 | 41 | 42 | 43 | | |@ |A |B |C | | | | |

Alm dos smbolos visveis, essas tabelas de codificao incluem caracteres no imprimveis, utilizados para controle de impresso, como tabulao e quebra de linha. Valores do tipo caractere so comumente definidos entre aspas simples nas linguagens de programao. Por exemplo, o valor caractere deve ser escrito como . Na escrita do pseudocdigo, o tipo caractere ser identificado pela palavra reservada caractere e seus valores sero denotados entre aspas simples.Operadores Aritmticos, Lgicos e relacionais.Operadores Aritmticos so utilizados na resoluo de expresses matemticas utilizando quaisquer valores, sejam eles constantes ou variveis. Retorna um inteiro se todos os valores so inteiros ou um real se um ou mais valores so reais.Exemplo de operadores aritmticos: * + soma * - subtrao * * multiplicao * / diviso * mod mdulo:resto de uma diviso * ^ exponenciao ou potenciaoOperadores Relacionais so utilizados para estabelecer uma relao entre operador e operando. Retorna sempre um booleano; true para uma relao verdadeira e false para uma relao falsa.Exemplo de operadores relacionais: * > maior que * < menor que * <> ou!=diferente de * >=maior ou igual a * <=menor ou igual aOperadores Lgicos so utilizados para estabelecer relao entre valores lgicos. Retornam sempre um booleano pois sua utilizao dada quase sempre pela combinao de operadores relacionais.Exemplo de operadores lgicos: * AND ou && E * OR ou || Ou * NOT ou! negao Caractersticas do ambiente de desenvolvimento C. | |

Entre as principais caractersticas do ambiente C, podemos citar: * O C uma linguagem de alto nvel com uma sintaxe bastante estruturada e flexvel tornando sua programao bastante simplificada; * Programas em C so compilados, gerando programas executveis; * O C compartilha recursos tanto de alto quanto de baixo nvel, pois permite acesso e programao direta do microprocessador. Com isto, rotinas cuja dependncia do tempo crtica, podem ser facilmente implementadas usando instrues em Assembly . Por esta razo o C a linguagem preferida dos programadores de aplicativos; * O C uma linguagem estruturalmente simples e de grande portabilidade. O compilador C gera cdigos mais enxutos e velozes do que muitas outras linguagens; * Embora estruturalmente simples (poucas funes intrnsecas) o C no perde funcionalidade, pois permite a incluso de uma farta quantidade de rotinas do usurio. Os fabricantes de compiladores fornecem uma ampla variedade de rotinas pr-compiladas em bibliotecas.

Relatrio 2 Programao Estruturada

a) Criar uma funo para receber os pedidos: quantidade em quilos, largura das bobinas e altura das bobinas (unidade de medida milmetros). Instrues: 1- Digitar pedido, qtd em quilos, largura, altura 2- Somar em conta 3- Mostrar dados 3.1- Se fim 4- Imprimir pedido

b) Criar uma funo que combine a informao de largura de todos os pedidos informados e resulte em um valor que determine qual o total que ser usado da Bobina Jumbo. Instrues: 1- Digitar pedido, largura, perda de bobina 2- Somar largura em conta 3- Se fim de pedido 4- Largura *2/100=perda de bobina 5- Largura perda de bobina 6- Imprimir dados

c) Apresentar o volume de produo necessrio para atendimento dos pedidos recebidos.Exemplo:

float nBobinasJumbo = somaQuantidadePedido / PesoBobinaJumbo; printf("O nmero de Bobinas Jumbo com 2.450 mm e' %.2f", nBobinasJumbo); Instrues: 7- Digitar soma qtd pedido, peso bobina Jumbo 8- Somar 1 em conta 9- Qtd pedido / 2450 10- Mostrar dados

11- Se fim 12- Imprime dados

d) Apresentar o usurio da largura total que ser utilizada da Bobina Jumbo. A largura total ser a soma de todas as larguras dos pedidos que foram informados pelo usurio. Exemplo: printf("A largura total utilizada e' %.2f", totalLarguraBobinasFilhas); Instrues: 13- Digitar pedido, largura 14- Somar largura em conta 15- Se fim 16- Imprime total largura

e) Informar ao usurio a porcentagem da bobina jumbo que no ser utilizada. Esta informao o total de perda comercial (Refugo Comercial). O usurio dever ser consultado se esta conjugao ser aprovada ou ser descartada, sendo assim o pedido no ser aceito para produo. Exemplo:

float perdaComercial = 1-(totalLarguraBobinasFilhas / 2450); printf("O nmero de Bobinas Jumbo com 2.450 mm e' %.2f /%", nBobinasJumbo); Instrues 17- Digitar pedido, largura, perda de bobina 18- Somar largura em conta 19- Se fim de pedido 20- Largura *2/100=perda de bobina 21- Imprimir perda de bobina

Desenvolvimento de algoritmo utilizando a Linguagem C Ao desenvolver um algoritmo usando como uma ferramenta genrica para representar a soluo de tarefas independente do desejo de automatiz-las, estaremos associando processamento eletrnico de dados, onde representa o rascunho para programas(Software). Servir como modelo para programas, pois sua linguagem intermediria linguagem

humana e as linguagens de programao, sendo ento, uma boa ferramenta na validao da lgica de tarefas a serem automatizadas. Desenvolver um algoritmo realizar uma receita para um processo computacional que consista em uma srie de operaes primitivas, interconectadas devidamente, sobre um conjunto de objetos. Os objetos manipulados por essas receitas so as variveis. No desenvolvimento de um projeto, quanto mais tarde um erro detectado, mais dinheiro e tempo se gasta para repar-lo. Assim, a responsabilidade do programador maior no desenvolvimento dos algoritmos do que na sua implementao pois, quando bem desenvolvidos, no se perde muito tempo em refaze-los, reimplant-los e retest-los, assegurando assim uma eficincia com o prazo previsto para o projeto.

Aplicao dos Conceitos de Estrutura de Controle para anlise de condies

As estruturas de controle de so fundamentais para qualquer linguagem de programao. Sem elas no haveria uma maneira do programa ser executado: de cima para baixo comando por comando. No haveria condies, repeties ou saltos. A linguagem C possui diversos comandos de controle de fluxo. possvel resolver todos os problemas sem utilizar todas elas, mas devemos nos lembrar que a elegncia e facilidade de entendimento de um programa dependem do uso correto das estruturas no local certo. if (condio) declarao; A expresso, na condio, ser avaliada. Se ela for zero, a declarao no ser executada. Se a condio for diferente de zero a declarao ser executada. O else Podemos pensar no comando else como sendo um complemento do comando if. O comando if completo tem a seguinte forma geral: if (condio) declarao_1; else declarao_2; A expresso da condio ser avaliada. Se ela for diferente de zero a declarao 1 ser executada. Se for zero a declarao 2 ser executada. importante nunca esquecer que, quando usamos a estrutura if-else, estamos garantindo que uma das duas declaraes ser executada. Nunca sero executadas as duas ou nenhuma delas. O if-else-if A estrutura if-else-if apenas uma extenso da estrutura if-else. Sua forma geral pode ser escrita como sendo: if (condio_1) declarao_1;

else if (condio_2) declarao_2; else if (condio_3) declarao_3; . . . else if (condio_n) declarao_n; else declarao_default; A estrutura acima funciona da seguinte maneira: o programa comea a testar as condies comeando pela 1 e continua a testar at que ele ache uma expresso cujo resultado d diferente de zero. Neste caso ele executa a declarao correspondente. S uma declarao ser executada, ou seja, s ser executada a declarao equivalente primeira condio que der diferente de zero. A ultima declarao (default) a que ser executada no caso de todas as condies darem zero e opcional. Um exemplo da estrutura acima. A expresso condicional Quando o compilador avalia uma condio, ele quer um valor de retorno para poder tomar a deciso. Mas esta expresso no necessita ser uma expresso no sentido convencional. Uma varivel sozinha pode ser uma "expresso" e esta retorna o seu prprio valor. Isto quer dizer que teremos as seguintes expresses:

int num; if (num!=0) .... if (num==0) .... for (i = 0; string[i] == '\0'; i++) equivalem a

int num; if (num) .... if (!num) .... for (i = 0; string[i]; i++) Isto quer dizer que podemos simplificar algumas expresses simples. ifs aninhados

O if aninhado simplesmente um if dentro da declarao de um outro if externo. O nico cuidado que devemos ter o de saber exatamente a qual if um determinado else est ligado. O Comando switch O comando if-else e o comando switch so os dois comandos de tomada de deciso. Sem dvida alguma o mais importante dos dois o if, mas o comando switch tem aplicaes valiosas. Mais uma vez vale lembrar que devemos usar o comando certo no local certo. Isto assegura um cdigo limpo e de fcil entendimento. O comando switch prprio para se testar uma varivel em relao a diversos valores pr-estabelecidos. Podemos fazer uma analogia entre o switch e a estrutura if-else-if apresentada anteriormente. A diferena fundamental que a estrutura switch no aceita expresses. Aceita apenas constantes. Oswitch testa a varivel e executa a declarao cujo case corresponda ao valor atual da varivel. A declarao default opcional e ser executada apenas se a varivel, que est sendo testada, no for igual a nenhuma das constantes. O comando break, faz com que o switch seja interrompido assim que uma das declaraes seja executada. Mas ele no essencial ao comando switch. Se aps a execuo da declarao no houver um break, o programa continuar executando. Isto pode ser til em algumas situaes, mas recomendado ter cuidado.

Desenvolvimento de Laos de Repetio * Lao for * Lao while * Lao do.. while * Lao foreach

Lao for

Uma estrutura de repetio tambm conhecida como Loop/Lao. O primeiro tipo de loop que vamos ver o "for". O loop "for" trabalha checando uma condio para executar um bloco de cdigo at que essa condio seja verdadeira, no caso do loop "for" temos que em sua syntax declarar sua inicializao, sua condio e seu incremento, veja: for (int i =0; i <= 10; i++) { //instrues }

No cdigo acima temos a syntax de um loop "for" onde na primeira parte declaramos uma varivel do tipo inteiro (int) e a inicializamos com o valor 0 (zero), na segunda parte temos a condio nesse caso verifica se a nossa varivel recm criada menor ou igual a 10 e a terceira e ultima parte o incremento desta varivel, sendo essas trs partes separadas por ";" (ponto e virgula). O funcionamento simples todo o cdigo dentro desse bloco do "for" ser executado dez vezes. Simples no? U m pequeno exemplo: porque a varivel chama "i"? o que incremento? Vamos as respostas! Primeiro chama-se "i" por um motivo simples: conveno. "i" vem de ndice e isso j se tornou meio que um padro, mas essa varivel pode ter qualquer nome, por exemplo: contador. Segundo um incremento nada mais do que adicionar 1 a uma varivel, ou seja, se uma varivel vale 0 (zero) e passa por um incremento logo essa varivel vale 1 e se passa mais uma vez vale 2 e assim por diante. E o que acontece com o decremento o inverso, ou seja, se uma varivel vale 2 e passar por um decremento agora passa a valer 1 e assim por diante. exemplo pratico do loop "for": for (int i = 0; i < 20; i++) { int res = i * 2; Console.WriteLine(res.ToString()); } Veja que embora simples mostra bem o funcionamento do "for", neste caso vai mostrar na tela o valor de "i" multiplicado por 2 enquanto "i" for menor que 20.

Lao while

De modo diferente do loop "for" (embora o objetivo seja o mesmo, ou seja, repetir a execuo de um cdigo testando uma condio) o loop "while" mais simples de ser entendido, pois sua syntax no requer que voc coloque na mesma linha varivel de inicializao, condio e o seu incremento. No loop "while" apenas colocamos a condio que queremos testar, veja como fica a syntax: while (expresso booleana) { //instrues }

Veja como simples o cdigo. Expresso booleana uma expresso que sempre retorna falso ou verdadeiro e a instrues dentro do bloco de cdigo do loop "while" s ser executada enquanto essa expresso retornar verdadeiro. Veja um exemplo: int contador = 2;

while (contador != 10) { Console. WriteLine (contador.ToString()); contador++; } Neste caso temos uma varivel chamada contador e seu valor 2, no nosso loop "while" testamos se a varivel contador diferente de 10 caso verdadeiro mostramos na tela o valor atual de contador e o incrementos em 1 e o loop "while" continuar at que essa condio se torne falsa. Cuidado: no devemos esqueer de incrementar ou se assegurar que sua condio pode ser falsa em algum momento, pois caso contrario voc entrar em um loop infinito, ou seja, a condio nunca ser falsa e o loop vai continuar at travar a mquina.

Lao do.. while

Vejamos, porque que teramos mais um loop do tipo "while"? Se fossemos analisar com cuidado veramos que o loop "while" dependendo do caso pode nunca ser executado, ou seja, se a condio do loop "while" retorna falsa de primeira ele nunca vai ser executado. No exemplo acima se atribussemos o valor 10 a varivel contador em sua declarao o loop "while" nunca comearia. Com o loop "do.. while" o cdigo ser executado ao menos uma vez porque ns fazemos a verificao da condio no final da instruo, veja: do { //instrues } while (expresso booleana)

Podemos traduzir "do" para "faa", ou seja, faa as instrues enquanto (while) expresso seja verdadeira. Assim garantimos que ao menos uma vez nossas instrues sero executadas. Exemplo: int contador = 10;

do { Console.WriteLine (contador.ToString()); } while(contador != 10); Veja que mesmo contador sendo igual a 10 a instruo ser executa ao menos uma vez porque s depois que fazemos a verificao.

Lao foreach

O loop "foreach" usado para interagir (percorrer) listas. Ele opera sobre Arrays ou colees veja sua syntax bsica: foreach(<tipo de dado> <nome> in <lista>) { //instrues } Veja um exemplo pratico para facilitar o entendimento: string[] nomes = {"Cleber", "Carol", "Denis", "Roberto"};

foreach (string pessoa in nomes) { Console.WriteLine("{0} ", pessoa); }

Criamos um array de string e colocamos alguns elementos dentro e no nosso loop "foreach" ser exibida todos os elementos dentro de nosso array.

Concluso Vimos nesse artigo mais um importante tpico para qualquer linguagem de programao as estruturas de repetio, aprendemos sobre os diversos tipos na linguagem C# entre eles: lao for, lao while, lao do.. while e lao foreach.

REFERNCIA

ASSOCIAO BRASILEIRA DE NORMAS TCNICAS. NBR 6023: informao e documentao: referncias: elaborao. Rio de Janeiro, 2002.

______. NBR 6024: informao e documentao:numerao progressiva das sees de um documento escri to: apresentao. Rio de Janeiro, 2003.

______. NBR 6027: informao e documentao: sumrio: apresentao. Rio de Janeiro, 2003.

______. NBR 6028: informao e documentao: resumo: apresentao. Rio de Janeiro, 2003.

______. NBR 6034: informao e documentao: ndice: apresentao. Rio de Janeiro, 2004.

______. NBR 10520: informao e documentao: citaes em documentos: apresentao. Rio de Janeiro, 2002.

MIZRAHI, Victorini Viviane, Treinamento em Linguagem C / So Paulo: Pearson Prentice Hall, 2008 PLT Faculdade Anhanguera de Santo Andr.

<https://docs.google.com/a/aedu.com/file/d/0Bx2ZnHfyWt9QTzluaU4yX1JRYTg/preview.> <http://www.unianhanguera.edu.br/anhanguera/bibliotecas/normas_bibliograficas/index.htm l>. <https://docs.google.com/a/aedu.com/file/d/0Bx2ZnHfyWt9QMnFjLXd4OHZ3V28/preview.> <http://www.cenapad.unicamp.br/servicos/treinamentos/apostilas/apostila_C.pdf>

<http://www.linhadecodigo.com.br/artigo/1177/serie-aprenda-csharp-estrutura-derepeticao.aspx#ixzz2OhUlUiQn>