Exemplo n.º 1
0
        private static void GerarProvaMatematica()
        {
            //cria uma prova de Matematica
            Prova provaEscrita1 = new ProvaMatematica();

            Console.WriteLine("Prova de " + provaEscrita1.Materia);
            Console.WriteLine("Tempo Estimado em Minutos: " + provaEscrita1.calculaTempoProva());
            Console.WriteLine("");

            /*criar questoes para a prova*/

            //questao composta com 2 subquestoes de tipos diferentes
            QuestaoComposite questao1Mat = new QuestaoComposite {
                Enunciado = "Enunciado"
            };

            questao1Mat.Adicionar(new QuestaoObjetiva {
                Enunciado = "Enunciado da Questão"
            });
            questao1Mat.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });

            //questao composta com subquestoes simples e subquestoes compostas
            QuestaoComposite compositeMat = new QuestaoComposite {
                Enunciado = "Enunciado da Questão"
            };

            compositeMat.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });

            QuestaoComposite composite2Mat = new QuestaoComposite {
                Enunciado = "Enunciado da Questão"
            };

            composite2Mat.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });
            compositeMat.Adicionar(composite2Mat);

            questao1Mat.Adicionar(compositeMat);

            provaEscrita1.Questoes.Add(questao1Mat);


            //questao com subquestao
            QuestaoComposite questao2Mat = new QuestaoComposite {
                Enunciado = "Enunciado"
            };

            provaEscrita1.Questoes.Add(questao2Mat);

            //questao com subquestoes
            QuestaoComposite questao3Mat = new QuestaoComposite {
                Enunciado = "Enunciado"
            };

            questao3Mat.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });
            questao3Mat.Adicionar(new QuestaoObjetiva {
                Enunciado = "Enunciado da Questão"
            });
            provaEscrita1.Questoes.Add(questao3Mat);

            provaEscrita1.ExibirProva();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            //Primeiramente gera as avaliações possiveis para o curso em Primeira Avaliacao e Segunda Avaliacao
            //Utilizado o padrão abstract factory para construir as avaliações
            IAvaliacaoFactory primeiraAvaliacaoFactory = new PrimeiraAvaliacao();
            IAvaliacaoFactory segundaAvaliacaoFactory  = new SegundaAvaliacao();

            Console.WriteLine("-------------------------- Gerando os Modos de Avaliação do Curso --------------------------");
            Console.WriteLine("");
            Console.WriteLine("--------- Primeira Avaliação ---------");
            Avaliacao primeiraAvaliacao = new Avaliacao(primeiraAvaliacaoFactory, "Presencial");

            Console.WriteLine(primeiraAvaliacao.GetAvaliacaoEscrita());
            Console.WriteLine(primeiraAvaliacao.GetAvaliacaoOral());

            primeiraAvaliacao = new Avaliacao(primeiraAvaliacaoFactory, "Online");
            Console.WriteLine(primeiraAvaliacao.GetAvaliacaoEscrita());
            Console.WriteLine(primeiraAvaliacao.GetAvaliacaoOral());

            Console.WriteLine("");
            Console.WriteLine("--------- Segunda Avaliação ---------");
            Avaliacao segundaAvaliacao = new Avaliacao(segundaAvaliacaoFactory, "Presencial");

            Console.WriteLine(segundaAvaliacao.GetAvaliacaoEscrita());
            Console.WriteLine(segundaAvaliacao.GetAvaliacaoOral());

            segundaAvaliacao = new Avaliacao(segundaAvaliacaoFactory, "Online");
            Console.WriteLine(segundaAvaliacao.GetAvaliacaoEscrita());
            Console.WriteLine(segundaAvaliacao.GetAvaliacaoOral());


            //Gerar 2 provas escritas (primeira avaliacao e segunda avaliacao)
            Console.WriteLine("");
            Console.WriteLine("-------------------------- Gerando as Provas Escritas do Curso --------------------------");
            Console.WriteLine("");

            //GerarProvaMatematica();
            #region Prova Matematica
            //cria uma prova de Matematica
            Prova provaEscrita1 = new ProvaMatematica();

            Console.WriteLine("Prova de " + provaEscrita1.Materia);
            Console.WriteLine("Tempo Estimado em Minutos: " + provaEscrita1.calculaTempoProva());
            Console.WriteLine("");

            /*criar questoes para a prova*/

            //questao composta com 2 subquestoes de tipos diferentes
            QuestaoComposite questao1Mat = new QuestaoComposite {
                Enunciado = "Enunciado"
            };
            QuestaoObjetiva questao1MatObj = new QuestaoObjetiva {
                Enunciado = "Enunciado da Questão"
            };
            questao1MatObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa1"
            });
            questao1MatObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa2"
            });
            questao1MatObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa3"
            });
            questao1Mat.Adicionar(questao1MatObj);


            questao1Mat.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });

            //questao composta com subquestoes simples e subquestoes compostas
            QuestaoComposite compositeMat = new QuestaoComposite {
                Enunciado = "Enunciado da Questão"
            };
            compositeMat.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });

            QuestaoComposite composite2Mat = new QuestaoComposite {
                Enunciado = "Enunciado da Questão"
            };
            composite2Mat.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });
            compositeMat.Adicionar(composite2Mat);

            questao1Mat.Adicionar(compositeMat);

            provaEscrita1.Questoes.Add(questao1Mat);


            //questao com subquestao
            QuestaoComposite questao2Mat = new QuestaoComposite {
                Enunciado = "Enunciado"
            };
            provaEscrita1.Questoes.Add(questao2Mat);

            //questao com subquestoes
            QuestaoComposite questao3Mat = new QuestaoComposite {
                Enunciado = "Enunciado"
            };
            questao3Mat.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });
            QuestaoObjetiva questao3MatObj = new QuestaoObjetiva {
                Enunciado = "Enunciado da Questão"
            };
            questao3MatObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa1"
            });
            questao3MatObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa2"
            });
            questao3MatObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa3"
            });

            questao3Mat.Adicionar(questao3MatObj);

            provaEscrita1.Questoes.Add(questao3Mat);

            provaEscrita1.ExibirProva();

            #endregion

            Console.WriteLine("----------------------------------------------------------------------------------");
            Console.WriteLine("");

            //GerarProvaPortugues();
            #region Prova Portugues
            //cria uma prova de Portugues
            Prova provaEscrita2 = new ProvaPortugues();

            Console.WriteLine("Prova de " + provaEscrita2.Materia);
            Console.WriteLine("Tempo Estimado em Minutos: " + provaEscrita2.calculaTempoProva());
            Console.WriteLine("");


            QuestaoComposite questao1Port = new QuestaoComposite {
                Enunciado = "Enunciado"
            };
            QuestaoObjetiva questao1PortObj = new QuestaoObjetiva {
                Enunciado = "Enunciado da Questão"
            };
            questao1PortObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa1"
            });
            questao1PortObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa2"
            });
            questao1PortObj.AdicionarAlternativa(new Alternativa {
                Nome = "Alternativa3"
            });

            questao1Port.Adicionar(questao1PortObj);

            //questao composta com subquestoes simples e subquestoes compostas
            QuestaoComposite compositePort = new QuestaoComposite {
                Enunciado = "Enunciado da Questão"
            };
            compositePort.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });

            QuestaoComposite composite2Port = new QuestaoComposite {
                Enunciado = "Enunciado da Questão"
            };
            composite2Port.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });
            compositePort.Adicionar(composite2Port);

            questao1Port.Adicionar(compositePort);

            provaEscrita2.Questoes.Add(questao1Port);

            provaEscrita2.Questoes.Add(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão Simples"
            });


            //questao com subquestoes
            QuestaoComposite questao2Port = new QuestaoComposite {
                Enunciado = "Enunciado"
            };
            questao2Port.Adicionar(new QuestaoDiscursiva {
                Enunciado = "Enunciado da Questão"
            });
            provaEscrita2.Questoes.Add(questao2Port);

            provaEscrita2.ExibirProva();

            #endregion

            Console.ReadLine();
        }