Buscar

Segundo Exercicio Programa 2014

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Reposição de produtos faltantes para uma casa de 
vinhos 
Segundo Exercício-Programa 
FEA-Administração Noturna - 1o. Semestre de 2014 
 
 
1. Funcionamento da loja: 
o Esta loja se especializa em vinhos importados. 
o No fim de cada ano, a direção da loja se reúne para estabelecer estratégia do ano seguinte: 
1. Na primeira etapa, define quais são os países da origem de vinho a ser 
comercializado para o ano seguinte. 
2. Baseada na decisão da primeira etapa começa a segunda etapa. Nesta etapa a loja 
negocia com seus fornecedores e potenciais fornecedores para definir de quais 
fornecedores vão comprar os vinhos de cada pais de origem durante o ano seguinte. 
Dependendo da negociação, algum fornecedor tradicional pode deixar de negociar 
com a loja e também podem surgir novos fornecedores. 
o O conjunto de fornecedores de vinho de cada pais de origem varia de pais para pais. 
o Nomenclatura: 
 Npais é número de países de origem de vinhos a ser importados 
 Nfornec é número total de fornecedores de vinhos. (Possivelmente este número não 
vai ser usado no EP2). 
o Definida os produtos e os fornecedores, a loja monta uma planilha que será usada durante o 
ano todo seguinte. 
2. A Planilha: 
1. A planilha muda cada ano dependendo de conjunto de pais de origem de vinho e conjunto 
de fornecedores para vinho de cada pais de origem. Mas existem características da planilha 
que não mudam. A seguir descrevo estas características inalteradas. 
2. A linha 1 é cabeçalho. As células A1, B1 e C1 contem origem, fornec (fornecedor) e quant 
(quantidade) respectivamente. A célula D1 é vazia. As Npais células a partir da célula E1 são 
lista de nomes de países de origem. 
3. A coluna A é de origem de vinho. Cada origem é separada por células vazias. O número de 
células vazias para cada origem é igual ao número de fornecedores de vinhos desta origem. 
4. A coluna B é lista de fornecedores de vinhos de cada origem. Note que a célula na linha do 
nome de origem é sempre vazia. Assim o bloco de fornecedores de vinhos de um pais é 
separado dos blocos vizinhos de modo bem visível. 
3. A Planilha 2014: 
0. Para o ano de 2014 a loja vai importar os vinhos de 5 países: França, Itália, Alemanha, 
Portugal e Espanha e vai trabalhar com 7 fornecedores: Loja A, Casa B, deposito C, Lojão D, 
Armazém E, Lojinha F e Casinha G. Isto significa que Npais = 5 e Nfornec = 7. 
1. Este conjunto de países de origem de vinho é apenas deste ano. Por exemplo, para ano 2015, 
a loja decide não trabalhar mais com vinho alemão, mas começa trabalhar com vinho 
argentino e vinho chileno. 
2. A seguinte planilha (Planilha 1) é a planilha para 2014 definida no final de 2013. Nesta 
planilha a linha 1 e colunas A e B serão inalteradas durante todo o ano de 2014. 
3. Nesta planilha, as linhas a partir da linha 30 (inclusive) não são usadas e as colunas a partir 
da coluna J (inclusive) não são usadas. Logo a parte efetivamente usada da planilha é 
retângulo com 29 linhas X 9 colunas que fica no canto superior esquerda. A coluna D vai ser 
usada mais tarde. 
4. A coluna A é de origem de vinho. Para a planilha 2014 existem 5 origens. cada origem é 
separada por células vazias. O número de células vazias para cada origem é igual ao número 
de fornecedores de vinhos desta origem. 
5. A coluna B é lista de fornecedores de vinhos de cada origem. Note que a células na linha do 
nome de origem é sempre vazia. Assim um bloco de fornecedores de vinhos de um pais é 
separado do bloco de fornecedor de vinhos de outro pais. 
6. Para o ano 2014, enquanto os vinhos franceses são fornecidos por Loja A, Casa B, deposito C 
e Lojao D, os vinhos italianos são fornecidos por Loja A, Lojao D e Casinha D. 
7. Atenção: No ano de 2014 a ordem dos países da coluna 1 é idêntica da ordem dos países na 
linha 1 a partir da célula E1. Mas este é acidental! A princípio, as 2 ordens podem ser 
diferentes seguindo 2 critérios diferentes. Este fato é importante na hora de construir EP. 
< 
 A B C D E F G H I J 
1 origem fornec quantd francês italiano alemão português espanhol 
2 francês 
3 Loja A 
4 Casa B 
5 Deposito C 
6 Lojao D 
7 italiano 
8 Loja A 
9 Lojao D 
10 Casinha G 
11 alemão 
12 Deposito C 
13 Armazém E 
14 Lojinha F 
15 casinha G 
16 português 
17 Loja A 
18 Casa B 
19 Deposito C 
20 Armazém E 
21 Lojinha F 
22 Casinha G 
23 espanhol 
24 Loja A 
25 Casa B 
26 Lojao D 
27 Armazém E 
28 Lojinha F 
29 Casinha G 
30 
4. Duas atividades na planilha da loja no fim de semana 
0. Toda sexta-feira o funcionário A examina vários indicadores numéricos inclusive os 
estoques restantes de vinhos de cada origem e estabelece quantidade (de caixas) a ser 
reposto para semana seguinte. Este valor é colocado na célula da linha do nome de origem 
na coluna C. Por exemplo, a quantidade a ser reposto de vinho francês fica na célula C3 e a 
de vinho italiano na célula C7 e assim por diante. 
1. Ao mesmo tempo o funcionário B contacta cada fornecedor para saber quantidade (de 
caixas) de vinho de cada origem que cada fornecedor pode fornecer para a loja na semana 
que vem. Este valor é colocado na célula da coluna C na linha do nome do fornecedor. 
2. A seguinte planilha (Planilha 2) é planilha resultante de trabalho dos funcionários A e B de 
um certo fim de semana. 
 
< 
 A B C D E F G H I J 
1 origem fornec quantd francês italiano alemão português espanhol 
2 francês 200 
3 Loja A 50 
4 Casa B 60 
5 Deposito C 70 
6 Lojao D 100 
7 italiano 250 
8 Loja A 300 
9 Lojao D 300 
10 Casinha G 250 
11 alemão 180 
12 Deposito C 25 
13 Armazém E 40 
14 Lojinha F 30 
15 casinha G 35 
16 português 150 
17 Loja A 30 
18 Casa B 25 
19 Deposito C 40 
20 Armazém E 50 
21 Lojinha F 35 
22 Casinha G 45 
23 espanhol 100 
24 Loja A 20 
25 Casa B 30 
26 Lojao D 40 
27 Armazém E 45 
28 Lojinha F 35 
29 Casinha G 25 
30 
5. Uma Atividade na planilha da loja no começo de semana 
0. Toda segunda-feira de manhã, 0(a) funcionário (a) C abre a planilha. Ele (a) determina quais 
são os fornecedores necessários para vinhos de cada pais de origem. 
1. Critério de escolha de fornecedores: 
 Para repor estoque de vinhos de um pais de origem, é possível ter várias 
combinações de fornecedores. Observemos a planilha 2 e vamos pensar no caso de 
vinhos franceses. A quantidade necessária para repor estoque é 200. Temos 3 
possíveis combinações: Loja A + Casa B + Lojao D, Loja A + Deposito C + Lojao D e 
Casa B + Deposito C + Lojao D. 
 A loja adota seguinte critério simples: Na ordem decrescentede quantidade 
fornecida. Em outras palavras, sempre privilegia quem fornece maior quantidade. 
Logo a combinação vai ser Lojao D + Deposito C + Casa B nesta ordem. E 0(a) 
funcionário (a) C escreve na coluna E a lista de fornecedores seguindo a ordenação 
pelo critério acima. 
 Note que enquanto Lojao D e Deposito C fornecem o total de sua quantidade 
disponibilizada para a loja, a Casa B fornece apenas metade de sua quantidade 
disponível para a loja. Mas esta questão não é nenhum problema. O que o (a) 
funcionário (a) C deve fazer é apenas listar dos fornecedores para vinhos de cada 
pais de origem. 
 Vejamos o caso de vinhos italianos. Cada um dos 3 fornecedores sozinho já fornece 
quantia necessária, mas pelo critério acima deve ser Loja A ou Lojao D. Quando tem 
empate qualquer um serve. 
 Por outro lado, Pode acontecer que, mesmo juntando todas as quantidades de 
fornecedores, não atinge a quantidade necessária de reposição. É o caso de vinhos 
alemão. No caso como este, o (a) funcionário (a) C lista todos os fornecedores (na 
ordem decrescente) e numa célula imediatamente abaixo da última célula (a célula 
do última fornecedor) da coluna escreve "$$$". 
 A planilha seguinte planilha 3 é a planilha após o trabalho do (a) funcionário (a) C. 
< 
 A B C D E F G H I J 
1 origem fornec quantd francês italiano alemão português espanhol 
2 francês 200 Lojao D Loja A 
Armazém 
E 
Armazém 
E 
Armazém 
E 
 
3 Loja A 50 
Deposito 
C 
 Casinha G Casinha G Lojao D 
4 Casa B 60 Casa B Lojinha F 
Deposito 
C 
Lojinha F 
5 
Deposito 
C 
70 
Deposito 
C 
Lojinha F 
6 Lojao D 100 $$$ 
7 italiano 250 
8 Loja A 300 
9 Lojao D 300 
10 Casinha G 250 
11 alemão 180 
12 
Deposito 
C 
25 
13 
Armazém 
E 
40 
14 Lojinha F 30 
15 casinha G 35 
16 português 150 
17 Loja A 30 
18 Casa B 25 
19 
Deposito 
C 
40 
20 
Armazém 
E 
50 
21 Lojinha F 35 
22 Casinha G 45 
23 espanhol 100 
24 Loja A 20 
25 Casa B 30 
26 Lojao D 40 
27 
Armazém 
E 
45 
28 Lojinha F 35 
29 Casinha G 25 
30 
6. Brilhante ideia do (a) funcionário (a) C 
o Durante o dia, o (a) funcionário (a) C trabalha nesta loja de vinhos e a noite ele (a) estuda na 
FEA/USP e um dos curso que ele (a) está fazendo é mac113!. 
o Assim, enquanto fazia este trabalho semanal de segundas-feiras, ele (a) percebeu 
rapidamente que é possível transformar este trabalho num programa em VBA. 
o Ao começar a pensar em um programa em VBA para planilha do ano 2014, ele (a) percebeu 
o seguinte: A aparência de planilha pode mudar de um ano para outro mas sua estrutura 
geral não muda. Logo é possível construir um programa para ano genérico que também 
possa ser usado em 2014. 
7. A grande revelação: 
o O (a) funcionário (a) C é Você!! 
o O programa em VBA que ele (a) vai fazer é seu Exercício-programa 2. 
8. Exercício-Programa 
o A planilha (0,5 ponto): 
 Faça uma planilha como a A planilha 2 acima. 
 Deve ter, no mínimo, 6 países de origem de vinhos e total de 8 fornecedores. 
 Para vinhos de cada pais de origem, as quantidades oferecidas por fornecedores 
devem ser bastante variadas para ter na planilha diversos cenários possíveis. 
 A ordem dos países de origem na linha 1 a partir da célula E1 deve ser 
obrigatoriamente diferente da origem dos países de origem na coluna A 
 Quem quer ser criativo, pode escolher um produto diferente de vinho. 
o A macro (9,5 ponto): 
 As constantes (0,5 ponto): 
 Use obrigatoriamente as constantes. 
 Lembre-se que a macro deve ser usada em qualquer ano. Logo não faz 
sentido constantes que apenas serve para planilha 2014. 
 Use obrigatoriamente Npais (número de países de origem de vinhos) como 
uma das constantes. 
 As funções (1,0 ponto): 
 Use obrigatoriamente as 2 seguintes funções: 
 LinhaDoPais: 
1. parâmetro (string): pais que representa o nome do pais de origem do 
vinho. 
2. valor de retorno (inteiro): A linha em que este pais se encontra na 
coluna A. 
3. exemplos: 
 Se pais = "francês", LinhaDoPais (pais) = 2. 
 Se pais = "português", LinhaDoPais (pais) = 16. 
 NumFornec: 
1. parâmetro (inteiro): linha uma linha na coluna B. 
2. valor de retorno (inteiro): o número de células não vazias até a 
próxima célula vazia na coluna B. 
3. exemplos: 
 Se linha = 2, NumFornec (linha) = 4 
 Se linha = 16, NumFornec (linha) = 6 
 As 2 funções são necessárias pois a ordem dos países na linha 1 a partir da 
célula E1 nem sempre é igual à ordem dos países na coluna A. Logo para 
cada pais na linha 1, você deve localizar este pais na coluna A. 
 você pode criar mais funções, se isto torna sua macro melhor. 
 o algoritmo da loja para fazer a lista de fornecedores de vinhos de um determinado 
pais: 
1. Usaremos vinhos franceses como exemplo . Logo focaremos em apenas 6 
primeiras linha e 5 primeiras colunas da planilha 2. 
 
 A B C D E 
1 origem fornec quantd francês 
2 francês 200 
3 Loja A 50 
4 Casa B 60 
5 Deposito C 70 
6 Lojao D 100 
2. algoritmo 
É bastante simples: Escolha sempre o fornecedor que oferece maior 
quantidade e sem símbolo * na coluna D. 
3. No começo, nenhum fornecedor tem * na coluna D. Logo todos os 4 
fornecedores tem condição de serem escolhidos. Entre eles, Lojao D oferece a 
maior quantidade. Logo escolhemos primeiro Lojao D e marcamos com * na 
coluna D deste fornecedor. A planilha fica assim: 
 
 A B C D E 
1 origem fornec quantd francês 
2 francês 200 Lojao D 
3 Loja A 50 
4 Casa B 60 
5 Deposito C 70 
6 Lojao D 100 * 
4. Como precisa de 200 caixas mas Lojao D apenas oferece 100, o processo de 
escolha continua. Quem oferece mais? Continua sendo Lojao D. Mas ele já 
tem * na coluna D, logo ele é excluído da escolha. Então entre os 3 
fornecedores restantes sem * quem oferece mais? A resposta é Deposito C. A 
planilha vai ficar assim: 
 
 A B C D E 
1 origem fornec quantd francês 
2 francês 200 Lojao D 
3 Loja A 50 Deposito C 
4 Casa B 60 
5 Deposito C 70 * 
6 Lojao D 100 * 
5. Temos 170 caixas. Ainda deve completar 30 caixas. Vamos continuar o 
processo. Temos 2 fornecedores sem *. Obviamente escolhemos Casa B e a 
planilha fica assim: 
 
 A B C D E 
1 origem fornec quantd francês 
2 francês 200 Lojao D 
3 Loja A 50 Deposito C 
4 Casa B 60 * casa B 
5 Deposito C 70 * 
6 Lojao D 100 * 
Como já temos a quantidade necessária, o processo termina! 
6. O uso do algoritmo acima é obrigatório. 
 Depois de completar a lista de fornecedores de todos os países de origem, sua macro 
deve limpar a coluna D. 
 
o observação 1: Certamente qualquer expert em vinhos vai ficar horrorizado com o trecho 
como "200 caixas de vinho francês". Vai dizer algo como “A França tem várias regiões 
produtores começando por Bordeaux e depois Bourgogue....e cada região produtor tem 
famosos produtores tradicionais" etc, etc, etc. mas como o professor gosta de vinhos mas é 
um apreciador iniciante (por enquanto) e este é apenas um exercício-programa, não vamos 
complicar mais. 
o observação 2: Alémde ser trabalhoso, este EP2 é conceitualmente mais complexo que o EP1. 
Logo recomendo que comece trabalhar já! 
o dica: Primeiro faça uma macro para os vinhos de um pais de origem apenas e depois pense 
em como fazer para vinhos de todos os países. 
o proibição: Neste EP2, você não deve usar decomposição em pequenas macros. Deve 
construir apenas 1 macro! 
o continuidade para EP3: O EP3 vai ser uma extensão deste EP2, logo é muito importante que 
você faça este EP2 e entender o contexto do problema para evitar desgaste enorme no EP3 
que tem peso de 55% na média dos EPs. 
 
o Data limite de Entrega: 23hs55min/02/06/2014 
o Bom Trabalho!

Outros materiais