Eng De Controle E Automação
Exames: Eng De Controle E Automação. Pesquise 862.000+ trabalhos acadêmicosPor: • 10/4/2013 • 2.262 Palavras (10 Páginas) • 1.277 Visualizações
Passo 1 (Aluno)
1. Fazer a leitura individual de: Introdução à Programação de Computadores para Cursos de
Engenharia
e
de
Automação.
Disponível
em:
<https://docs.google.com/a/aedu.com/file/d/0Bx2ZnHfyWt9QTzluaU4yX1JRYTg/pre
view>. Acesso em: 17 set. 2012. Buscar compreender os princípios da Construção de
Algoritmos.
2. Fazer a leitura individual de: Algoritmos Computacionais (Programas). Disponível em:
<https://docs.google.com/a/aedu.com/file/d/0Bx2ZnHfyWt9QMnFjLXd4OHZ3V28/p
review>. Acesso em: 17 set. 2012. Buscar compreender os princípios da Representação de
Dados e variáveis.
3. Fazer a leitura individual do capítulo 1: Introdução do livro texto da disciplina de
Algoritmos e Programação (MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. 1ª
ed. São Paulo: Pearson, 2007. p. 2 a 26) focando a leitura em Conceitos Fundamentais de
Programação em Linguagem C.
a) Criar uma função para receber os pedidos: quantidade em quilos, largura das bobinas e altura das bobinas (unidade de medida milímetros).Instruções:
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 função que combine a informação de largura de todos os pedidos informados e resulte em um valor que determine qual o total que será usado da Bobina Jumbo.
Instruções:
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 produção necessário para atendimento dos pedidos recebidos.Exemplo:
float nBobinasJumbo = somaQuantidadePedido / PesoBobinaJumbo;
printf("O número de Bobinas Jumbo com 2.450 mm e' %.2f", nBobinasJumbo);
Instruções:
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 usuário 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 usuário. Exemplo: printf("A largura total utilizada e' %.2f", totalLarguraBobinasFilhas);
Instruções:
13- Digitar pedido, largura
14- Somar largura em conta
15- Se fim
16- Imprime total largura
e) Informar ao usuário a porcentagem da bobina jumbo que não será utilizada. Esta informação é o total de perda comercial (Refugo Comercial). O usuário deverá ser consultado se esta conjugação será aprovada ou será descartada, sendo assim o pedido não será aceito para produção. Exemplo:
float perdaComercial = 1-(totalLarguraBobinasFilhas / 2450);
printf("O número de Bobinas Jumbo com 2.450 mm e' %.2f /%", nBobinasJumbo);
Instruções
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 genérica para representar a solução de tarefas independente do desejo de automatizá-las, estaremos associando processamento eletrônico de dados, onde representa o rascunho para programas(Software). Servirá como modelo para programas, pois sua linguagem é intermediária à linguagem humana e as linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas. Desenvolver um algoritmo é realizar uma receita para um processo computacional que consista em uma série de operações primitivas, interconectadas devidamente, sobre um conjunto de objetos. Os objetos manipulados por essas receitas são as variáveis.
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 implementação pois, quando bem desenvolvidos, não se perde muito tempo em refaze-los, reimplantá-los e retestá-los, assegurando assim uma eficiência com o prazo previsto para o projeto.
Aplicação dos Conceitos de Estrutura de Controle para análise de condições
As estruturas de controle de são fundamentais para qualquer linguagem de programação. Sem elas não haveria uma maneira do programa ser executado: de cima para baixo comando por comando. Não haveria condições, repetições ou saltos. A linguagem C possui diversos comandos de controle de fluxo. É possível resolver todos os problemas sem utilizar todas elas, mas devemos nos lembrar que a elegância e facilidade de entendimento de um programa dependem do uso correto das estruturas no local certo.
if (condição) declaração;
A expressão, na condição, será avaliada. Se ela for zero, a declaração não será executada. Se a condição for diferente de zero a declaração 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 (condição) declaração_1;
else declaração_2;
A expressão da condição será avaliada. Se ela for diferente de zero a declaração 1 será executada. Se for zero a declaração 2 será executada. É importante nunca esquecer que, quando usamos a estrutura if-else, estamos garantindo que uma das duas declarações será executada. Nunca serão executadas as duas ou nenhuma delas.
O if-else-if
A estrutura if-else-if é apenas uma extensão da estrutura if-else. Sua forma geral pode ser escrita como sendo:
if (condição_1) declaração_1;
else if (condição_2) declaração_2;
else if (condição_3) declaração_3;
.
.
.
else if (condição_n) declaração_n;
else declaração_default;
A estrutura acima funciona da seguinte maneira: o programa começa a testar as condições começando pela 1 e continua a testar até que ele ache uma expressão cujo resultado dá diferente de zero. Neste caso ele executa a declaração correspondente. Só uma declaração será executada, ou seja, só será executada a declaração equivalente á primeira condição que der diferente de zero. A ultima declaração (default) é a que será executada no caso de todas as condições darem zero e é opcional. Um exemplo da estrutura acima.
A expressão condicional
Quando o compilador avalia uma condição, ele quer um valor de retorno para poder tomar a decisão. Mas esta expressão não necessita ser uma expressão no sentido convencional. Uma variável sozinha pode ser uma "expressão" e esta retorna o seu próprio valor. Isto quer dizer que teremos as seguintes expressões:
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 expressões simples.
ifs aninhados
O if aninhado é simplesmente um if dentro da declaração 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 são os dois comandos de tomada de decisão. Sem dúvida alguma o mais importante dos dois é o if, mas o comando switch tem aplicações valiosas. Mais uma vez vale lembrar que devemos usar o comando certo no local certo. Isto assegura um código limpo e de fácil entendimento. O comando switch é próprio para se testar uma variável em relação a diversos valores pré-estabelecidos. Podemos fazer uma analogia entre o switch e a estrutura if-else-if apresentada anteriormente. A diferença fundamental é que a estrutura switch não aceita expressões. Aceita apenas constantes. Oswitch testa a variável e executa a declaração cujo case corresponda ao valor atual da variável. A declaração default é opcional e será executada apenas se a variável, que está sendo testada, não for igual a nenhuma das constantes.
O comando break, faz com que o switch seja interrompido assim que uma das declarações seja executada. Mas ele não é essencial ao comando switch. Se após a execução da declaração não houver um break, o programa continuará executando. Isto pode ser útil em algumas situações, mas é recomendado ter cuidado.
Desenvolvimento de Laços de Repetição
* Laço for
* Laço while
* Laço do.. while
* Laço foreach
Laço for
Uma estrutura de repetição é também conhecida como Loop/Laço. O primeiro tipo de loop que vamos ver é o "for". O loop "for" trabalha checando uma condição para executar um bloco de código até que essa condição seja verdadeira, no caso do loop "for" temos que em sua syntax declarar sua inicialização, sua condição e seu incremento, veja:
for (int i =0; i <= 10; i++)
{
//instruções
}
No código acima temos a syntax de um loop "for" onde na primeira parte declaramos uma variável do tipo inteiro (int) e a inicializamos com o valor 0 (zero), na segunda parte temos a condição nesse caso verifica se a nossa variável recém criada é menor ou igual a 10 e a terceira e ultima parte é o incremento desta variável, sendo essas três partes separadas por ";" (ponto e virgula). O funcionamento é simples todo o código dentro desse bloco do "for" será executado dez vezes. Simples não? U m pequeno exemplo: porque a variável chama "i"? o que é incremento? Vamos as respostas!
Primeiro chama-se "i" por um motivo simples: convenção. "i" vem de índice e isso já se tornou meio que um padrão, mas essa variável pode ter qualquer nome, por exemplo: contador.
Segundo um incremento nada mais é do que adicionar 1 a uma variável, ou seja, se uma variável vale 0 (zero) e passa por um incremento logo essa variável 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 variável 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.
Laço while
De modo diferente do loop "for" (embora o objetivo seja o mesmo, ou seja, repetir a execução de um código testando uma condição) o loop "while" é mais simples de ser entendido, pois sua syntax não requer que você coloque na mesma linha variável de inicialização, condição e o seu incremento. No loop "while" apenas colocamos a condição que queremos testar, veja como fica a syntax:
while (expressão booleana)
{
//instruções
}
Veja como é simples o código. Expressão booleana é uma expressão que sempre retorna falso ou verdadeiro e a instruções dentro do bloco de código do loop "while" só será executada enquanto essa expressão retornar verdadeiro. Veja um exemplo:
int contador = 2;
while (contador != 10)
{
Console. WriteLine (contador.ToString());
contador++;
}
Neste caso temos uma variável chamada contador e seu valor é 2, no nosso loop "while" testamos se a variável 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 condição se torne falsa.
Cuidado: não devemos esqueçer de incrementar ou se assegurar que sua condição pode ser falsa em algum momento, pois caso contrario você entrará em um loop infinito, ou seja, a condição nunca será falsa e o loop vai continuar até travar a máquina.
Laço do.. while
Vejamos, porque é que teríamos mais um loop do tipo "while"? Se fossemos analisar com cuidado veríamos que o loop "while" dependendo do caso pode nunca ser executado, ou seja, se a condição do loop "while" retorna falsa de primeira ele nunca vai ser executado. No exemplo acima se atribuíssemos o valor 10 a variável contador em sua declaração o loop "while" nunca começaria. Com o loop "do.. while" o código será executado ao menos uma vez porque nós fazemos a verificação da condição no final da instrução, veja:
do
{
//instruções
}
while (expressão booleana)
Podemos traduzir "do" para "faça", ou seja, faça as instruções enquanto (while) expressão seja verdadeira. Assim garantimos que ao menos uma vez nossas instruções serão executadas. Exemplo:
int contador = 10;
do
{
Console.WriteLine (contador.ToString());
}
while(contador != 10);
Veja que mesmo contador sendo igual a 10 a instrução será executa ao menos uma vez porque só depois que fazemos a verificação.
Laço foreach
O loop "foreach" é usado para interagir (percorrer) listas. Ele opera sobre Arrays ou coleções veja sua syntax básica:
foreach(<tipo de dado> <nome> in <lista>)
{
//instruções
}
Veja um exemplo pratico para facilitar o entendimento:
string[] nomes = {"Cleber", "Carol", "Denis", "Roberto"};
foreach (string pessoa in nomes)
{
Console.WriteLine("{0} ", pessoa);
...