engenharia de controle e automação 2ª série algoritmos e ... · engenharia de controle e...

10
ATIVIDADES PRÁTICAS SUPERVISIONADAS Engenharia de Controle e Automação 2ª Série Algoritmos e Programação A Atividade Prática Supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem desenvolvido por meio de etapas, acompanhadas pelo professor, e que tem por objetivos: Favorecer a autoaprendizagem do aluno. Estimular a corresponsabilidade do aluno pelo seu aprendizado. Promover o estudo, a convivência e o trabalho em grupo. Auxiliar no desenvolvimento das competências requeridas para o exercício profissional. Promover a aplicação da teoria na solução de situações que simulam a realidade. Oferecer diferenciados ambientes de aprendizagem Para atingir estes objetivos, a ATPS propõe um desafio e indica os passos a serem percorridos ao longo do semestre para a sua solução. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional. AUTORIA: Paulo César Barreto da Silva Faculdade Anhanguera de Santa Barbara Thiago Salhab Alves Faculdade Anhanguera de Santa Barbara

Upload: trankhuong

Post on 12-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Engenharia de Controle e Automação

2ª Série Algoritmos e Programação

A Atividade Prática Supervisionada (ATPS) é um procedimento metodológico de

ensino-aprendizagem desenvolvido por meio de etapas, acompanhadas pelo

professor, e que tem por objetivos:

� Favorecer a autoaprendizagem do aluno.

� Estimular a corresponsabilidade do aluno pelo seu aprendizado.

� Promover o estudo, a convivência e o trabalho em grupo.

� Auxiliar no desenvolvimento das competências requeridas para o exercício

profissional.

� Promover a aplicação da teoria na solução de situações que simulam a

realidade.

� Oferecer diferenciados ambientes de aprendizagem

Para atingir estes objetivos, a ATPS propõe um desafio e indica os passos a

serem percorridos ao longo do semestre para a sua solução.

Aproveite esta oportunidade de estudar e aprender com desafios da vida

profissional.

AUTORIA:

Paulo César Barreto da Silva

Faculdade Anhanguera de Santa Barbara

Thiago Salhab Alves

Faculdade Anhanguera de Santa Barbara

Page 2: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 2 de 10

COMPETÊNCIAS E HABILIDADES

Ao concluir as etapas propostas neste desafio, você terá desenvolvido as competências e habilidades descritas a seguir.

� Conceber, projetar e analisar sistemas, produtos e processos. � Identificar, formular e resolver problemas de Engenharia. � Desenvolver e/ou utilizar novas ferramentas e técnicas. � Atuar em equipes multidisciplinares.

Produção Acadêmica

• Relatório 1 – Conceitos Fundamentais de Programação. • Relatório 2 – Programação Estruturada. • Relatório 3 – Vetores e Matrizes. Modularização. • Relatório 4 – Strings e Tipos Estruturados (Registros).

Participação

Esta atividade será, em parte, desenvolvida individualmente pelo aluno e, em parte, pelo grupo. Para tanto, os alunos deverão:

• organizar-se, previamente, em equipes de 2 a 4 participantes; • entregar seus nomes, RAs e e-mails ao professor da disciplina e • observar, no decorrer das etapas, as indicações: Aluno e Equipe.

DESAFIO

Um dos objetivos do Engenheiro da Computação na indústria de papel e celulose é desenvolver soluções tecnológicas de software que aperfeiçoem seus processos industriais.

Para isso, convidamos você e sua a participarem de um projeto de informatização de uma indústria de papel e celulose, cabendo a vocês a responsabilidade pelo módulo de otimização de corte de bobinas de papel. Esta solução de software deve maximizar a utilização da Bobina Jumbo reduzindo a perda por Refugo Comercial (parte da bobina que não é utilizada para comercialização. As perdas na indústria de papel representam cerca de 2,5% de seus custos de produção e por isso é maior alvo quando se trata de redução de custos no processo de fabricação.

A maximização do corte das Bobinas Jumbo pode representar a viabilidade de produção de um pedido para um cliente. Dependendo do volume de perda gerada pela não utilização completa da bobina, um gerente de produção pode optar por descartar esta fabricação e atender a outras que permitam uma otimização do corte (maior aproveitamento da largura de bobina disponível).

Para definir quais os pedidos possuem as características adequadas para utilização máxima da Bobina Jumbo, as empresas do segmento de papel e celulose adotam tecnologias computacionais (softwares) que tem a capacidade de combinar as possibilidades de corte baseado nos formatos solicitados nos pedidos. A seguir a definição completa do problema a ser resolvido e as informações que devem ser consideradas na decisão.

Uma empresa da área de papel e celulose produz diariamente 300.000 kg de papel. A produção é feita em bobinas de 5.000 kg cada (Bobinas Jumbo, recebem esse nome pelo seu

Page 3: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 3 de 10

tamanho e peso), que são fracionadas em bobinas menores de 250 kg a 1.000 kg (Bobinas Filhas1).

A bobina produzida na forma bruta, com 5.000 kg aproximadamente, possui como peso tara2 de 800 kg referentes ao eixo onde o papel está enrolado. A Figura 1 apresenta as dimensões desta bobina, denominada na indústria de papel e celulose como Bobina Jumbo.

Figura 1 – Bobina Jumbo

Dos 2.450 mm produzidos, apenas 2.400 mm são úteis. Os 50 mm restantes são

chamados de Refile Técnico, não sendo possível a sua venda. Dado ao tamanho e ao peso de uma Bobina Jumbo, nenhum cliente compra uma

Bobina Jumbo devido a seu peso e tamanho. O custo para movimentação e estocagem da Bobina Jumbo exige grandes equipamentos e investimentos que não são viáveis aos clientes. Por esta razão s clientes compram apenas bobinas que atendam as seguintes restrições:

• De 100 mm a 1.500 mm de largura.

• De 400 mm a 700 mm de raio.

• De 250 kg a 1.000 kg. As dimensões de bobinas dos clientes são definidas atendendo ao modelo de negócio de seu segmento de atuação. O segmento de atuação identificado nesses clientes é de categoria indústria gráfica.

Bobinas que não atendem as especificações do cliente são descartadas do processo sendo classificadas como Refugo Comercial. A Figura 2 apresenta em destaque uma bobina cujas medidas não atendem as especificações do cliente e será considerada perda do processo.

No processo da indústria de papel e celulose, uma das maiores perdas decorre das bobinas descartadas por não atenderem as especificações de medida do cliente.

1 Bobina Filha - bobinas com dimensões menores extraídas de bobinas jumbo. As Bobinas Filhas possuem dimensões que

podem ser utilizadas pelo cliente da indústria de papel e celulose, facilitando sua logística de transporte, movimentação e

consumo. 2 Peso Tara - peso de embalagem ou base onde um produto está acondicionado; diferença entre o peso líquido e o peso

bruto.

BOBINA JUMBO

2.450 mm

160 mm

5.000 kg

Page 4: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 4 de 10

Figura 2 – Processo de Otimização do Corte das Bobinas

Objetivo do Desafio

Elaborar um software para aprimorar o corte das bobinas, considerando que as larguras das bobinas podem variar, bem como a quantidade solicitada pelos clientes. Esta atividade requer relatórios que deverão ser entregues à medida que as etapas forem concluídas.

Livro Texto da Disciplina

A produção desta ATPS é fundamentada no livro-texto da disciplina, que deverá ser utilizado para solução do desafio:

MIZRAHI, Victorine Viviane. Treinamento em Linguagem C: módulos 1 e 2. 1ª ed. São Paulo: Pearson Education: Valinhos: Anhanguera Educacional, 2008.

ETAPA 1 (tempo para realização: 2 horas)

� Aula-tema: Conceitos Fundamentais de Programação.

Esta atividade é importante para que você conheça os fundamentos de Programação, como Noções de Algoritmo, Pseudo Linguagem, Estrutura de um Programa, Representação de Dados e Variáveis e Operadores.

Para realizá-la, devem ser seguidos os passos descritos.

BOBINA JUMBO

BOBINA

FILHA

Está bobina não atende as

especificações de venda.

Refugo Comercial (perda).

Page 5: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 5 de 10

PASSOS

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/preview>. 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/preview>. 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.

Passo 2 (Equipe)

Fazer a discussão do conteúdo do texto lido, e registrar as informações referentes ao conteúdo do texto lido e registrar em um relatório os programas e análises de qualidade e complexidade, com destaque para:

• Noção de Algoritmos.

• Pseudo Linguagem.

• Estrutura de um Programa.

• Tipos Primitivos para representação de Dados e Variáveis.

• Operadores Aritméticos, Lógicos e relacionais.

• Características do ambiente de desenvolvimento C.

Passo 3 (Equipe)

Realizar as seguintes atividades: 1. Desenvolver uma função matemática que resuma o cálculo do peso teórico de uma

Bobina Filha. Fórmula: Peso = Largura x (Diâmetro externo / 1000) x Peso por metro linear:

i. Peso = 660 x (1000 / 1000) x 0,610; ii. Peso = 660 x 1 x 0,610; iii. Peso = 402,60 � 403 Kg;

a. Bobinas com Diâmetro total externo de 1000 mm peso por metro linear 0,610:

iv. Exemplo Largura de 660 peso igual a 403 Kg; b. Bobinas com Diâmetro total externo de 1150 mm peso por metro linear 0,678:

v. Exemplo Largura de 660 peso igual a 515 Kg; c. Bobinas com Diâmetro total externo de 1200 mm peso por metro linear 0,725:

vi. Exemplo Largura de 660 peso igual a 574 Kg; d. Bobinas com Diâmetro total externo de 1500 mm peso por metro linear 0,933:

vii. Exemplo Largura de 660 peso igual a 924 Kg.

Page 6: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 6 de 10

2. Descrever as variáveis que armazenarão as informações que serão solicitadas para que o cálculo do peso teórico possa ser realizado. Exemplo:

• float PesoTeorico;

• int largura, comprimento;

Passo 4 (Equipe)

Elaborar e entregar ao professor um relatório com o nome Relatório 1 - Conceitos Fundamentais de Programação contendo as atividades desenvolvidas nos passos anteriores desta etapa.

ETAPA 2 (tempo para realização: 3 horas)

� Aula-tema: Programação Estruturada.

Esta atividade é importante para que você conheça os conceitos aplicados na Programação Estruturada. São trabalhados os conceitos de Desenvolvimento de Algoritmos e Estruturas de Controle.

Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

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/0Bx2ZnHfyWt9QMnFjLXd4OHZ3V28/preview>. Acesso em: 17 set. 2012. Buscar compreender os princípios do Desenvolvimento de Algoritmos e Estruturas de Controle.

2. Fazer a leitura individual dos capítulos 2: Operadores, 3: Laços e 4: Comandos de Decisã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. 27 a 105) focando a leitura em Definição dos Operadores, Comandos de Desvio de Fluxo e Repetição Condicional.

Passo 2 (Equipe)

Fazer a discussão do conteúdo do texto lido, e registrar as informações pertinentes que serão utilizadas para produzir relatório com programas e análises de qualidade e complexidade, com destaque para:

• Desenvolvimento de Algoritmo utilizando a Linguagem C.

• Aplicação dos conceitos de Estrutura de Controle para análise de condições.

• Desenvolvimento de Laços de Repetição.

Passo 3 (Equipe)

Utilizar os conceitos de Algoritmos, desenvolver um algoritmo em Linguagem C que seja capaz de realizar a conjugação baseada nos parâmetros e fazer o cálculo de aproveitamento da Bobina Jumbo:

Page 7: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 7 de 10

a. Criar uma função para receber os pedidos: quantidade em quilos, largura das bobinas e altura das bobinas (unidade de medida milímetros).

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.

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);

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);

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 está conjugação será aprovada ou se 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);

Passo 4 (Equipe)

Elaborar e entregar ao professor um relatório com o nome Relatório 2 – Programação Estruturada contendo as atividades desenvolvidas nos passos anteriores desta etapa.

ETAPA 3 (tempo para realização: 2 horas)

� Aula-tema: Vetores e Matrizes. Modularização.

Esta atividade é importante para que você conheça os conceitos de vetores, matrizes, operação com vetores e matrizes, conceitos de modularização de programas através de funções.

Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

Passo 1 (Aluno)

1. Fazer a leitura individual de: Tipos Estruturados. Disponível em: <https://docs.google.com/a/aedu.com/file/d/0Bx2ZnHfyWt9QN1JyTy0xaU9tVTA/preview>. Acesso em: 17 set. 2012. Buscar compreender os princípios de utilização e operação de Vetores e Matrizes.

2. 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/0Bx2ZnHfyWt9QRTM1bVBOYllSYlk/pr

Page 8: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 8 de 10

eview>. Acesso em: 17 set. 2012. Buscar compreender os princípios de Modularização e Decomposição de Programas.

3. Fazer a leitura individual dos capítulos 5: Funções e 7: Matrizes e Strings 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. 106 a 155; p. 185 a 215) focando a leitura em Modularização de programas, Declaração de Funções e Declaração de Matrizes.

Passo 2 (Equipe)

Fazer a discussão do conteúdo do texto lido e registrar as informações pertinentes, para serem utilizadas na produção do relatório, com programas e análises de qualidade e complexidade, com destaque para:

• Definição de Vetores e a sua utilização na solução de problemas de armazenamento de valores de mesmo tipo.

• Implementação de Vetores e Matrizes em Linguagem C.

• Vantagens e Limitações da utilização de Vetores e Matrizes.

• Modularização e Decomposição de Programas.

• Passagem de parâmetros para Funções.

Passo 3 (Equipe)

Utilizar os conceitos de Vetores e Funções: 1. Modificar a solução implementada na Etapa 2 para que manipule os dados por meio de

vetores.

• Criar uma matriz para armazenagem dos dados do pedido do cliente.

• Criar um Vetor para armazenar a sequencia de corte das bobinas dos pedidos.

2. Modularizar seu programa criando as seguintes funções

• Leitura dos dados de pedido.

• Armazenagem dos dados em vetores.

• Otimização do corte da Bobina Jumbo.

• Cálculo da largura utilizada da Bobina Jumbo.

• Apresentação dos resultados do processo de otimização do corte da Bobina Jumbo.

• Impressão dos resultados de otimização: largura em milímetros utilizada e porcentagem de utilização da área total da Bobina Jumbo.

Passo 4 (Equipe)

Elaborar e entregar ao professor um relatório com o nome Relatório 3 – Vetores e Matrizes. Modularização contendo as atividades desenvolvidas nos passos anteriores desta etapa.

Page 9: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 9 de 10

ETAPA 4 (tempo para realização: 3 horas)

� Aula-tema: Strings e Funções de Manipulação. Tipos Estruturados (Registros).

Esta atividade é importante para que você conheça os conceitos de Strings e Estruturas e possa implementar uma solução mais elaborada para o problema do desafio, no que tange a organização dos dados representados.

Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

Passo 1 (Aluno)

1. Fazer a leitura individual dos capítulos 7: Matrizes e Strings e 9: Estruturas 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. 106 a 155; p. 215 a 236) focando a leitura em Declaração de Strings, Construção de Registros e Manipulação de Registros.

2. Fazer a leitura individual de: Linguagem C - Notas de Aula. Disponível em <http://www.inf.ufpr.br/nicolui/grad/ci067/Docs/NotasAula/notas-27_Estruturas.html>. Disponível também no Google Docs em: <https://docs.google.com/open?id=0B9e1nJ9U5ACjcTFWUVNmbVdOZXc>. Acessos em: 18 set. 2012. Buscar compreender os conceitos fundamentais de Estruturas.

Passo 2 (Equipe)

Fazer a discussão do conteúdo do texto lido que será utilizado para produzir o relatório com programas e análises de qualidade e complexidade, com destaque para:

• Representação de Strings em Linguagem C.

• Manipulação de Strings: Funções nativas da Linguagem C.

• Definição de Estruturas.

• Construção e Implementação de Estruturas em Linguagem C.

• Modelagem e utilização de Funções que manipulam Estruturas.

Passo 3 (Equipe)

Adotar o conceito visto nas aulas de Algoritmos e Programação e as leituras realizadas, implementar uma solução que integre todos os passos anteriores, considerar: 1. Conceitualmente todos os candidatos a se tornarem uma estrutura, exemplo, Bobina

Jumbo. 2. Vetores de estruturas que considerem as informações anteriormente descritas em vetores

separados. Exemplo:

• Vetor para armazenagem dos dados do pedido do cliente (struct pedidoCliente{...};)

3. Modularizar o seu programa criando as seguintes funções para manipulação de estruturas (registros).

• Escrita dos dados de pedido.

• Escrita dos dados de cliente.

• Escrita dos dados de sequência de corte.

• Impressão dos dados de pedido.

Page 10: Engenharia de Controle e Automação 2ª Série Algoritmos e ... · Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação Pág. Paulo César Barreto da Silva,

Engenharia de Controle e Automação - 2ª Série - Algoritmos e Programação

Paulo César Barreto da Silva, Thiago Salhab Alves

Pág. 10 de 10

• Impressão dos dados de cliente.

• Impressão dos dados de sequencia de corte.

As demais funções elaboradas na Etapa 3 devem ser mantidas.

Passo 4 (Equipe)

Elaborar e entregar ao professor um relatório com o nome Relatório 4 – Strings e Tipos Estruturados(Registros) contendo as atividades desenvolvidas nos passos anteriores desta etapa.

Padronização

O material escrito solicitado nesta atividade deve ser produzido de acordo com as normas da ABNT, com o seguinte padrão (exceto para produções finais não textuais):

• em papel branco, formato A4; • com margens esquerda e superior de 3cm, direita e inferior de 2cm; • fonte Times New Roman tamanho 12, cor preta; • espaçamento de 1,5 entre linhas; • se houver citações com mais de três linhas, devem ser em fonte tamanho 10, com

um recuo de 4cm da margem esquerda e espaçamento simples entre linhas; • com capa, contendo:

• nome de sua Unidade de Ensino, Curso e Disciplina; • nome e RA de cada participante; • título da atividade; • nome do professor da disciplina; • cidade e data da entrega, apresentação ou publicação.

Para consulta completa das normas ABNT, acesse a Normalização de Trabalhos Acadêmicos Anhanguera. Disponível em: <http://issuu.com/normalizacao/docs/normaliza____o_de_trabalhos_acad__m>. Acesso em: 13 maio 2014.