ATIVIDADE 1 - 2º BIM Programação Computacional Tema: Posicionamento aproximado do desenho técnico na folha de desenho. Crie um programa em C++ que auxilie o usuário a realizar um desenho. Seu programa deve permitir que o usuário informe o tamanho da folha e escolha entre dois tipos de desenhos: isométrico ou as vistas ortográficas. O programa deve solicitar ao usuário as seguintes informações iniciais: Largura da folha entre as margens em mm; Altura da folha entre a margem superior e o topo da legenda em mm; Altura máxima do desenho; Comprimento máximo do desenho; Largura (profundidade) máxima do desenho; Seu programa deve permitir ao usuário optar entre dois tipos de desenhos: isométrico ou vistas ortográficas. Se o usuário optar por um desenho isométrico, seu programa deve calcular e exibir: A largura total do desenho com relação a horizontal (paralelo ao eixo x); Valor do espaço em branco à direita e à esquerda do desenho na horizontal; A altura total do desenho com relação a vertical (paralelo ao eixo y); Valor do espaço em brando à cima e à abaixo do desenho na vertical; Seu programa deverá verificar se as dimensões do desenho estão compatíveis com o tamanho da folha. Se o desenho estiver na escala correta: finalizar o programa e exibir os valores; Se o desenho não estiver na escala correta: seu programa deve solicitar ao usuário selecionar uma escala de redução ou ampliação e o valor da escala; Se for uma escala de redução, seu programa deve solicitar o valor 2 para 1:2 ou o valor 5 para 1:5 e calcular o fator de redução; Se for uma escala de ampliação, seu programa deve solicitar o valor 2 para 2:1 ou 5 para 5:1 e calcular o fator de ampliação; Para qualquer um dos casos repetir passos multiplicando-se as dimensões pelo valor do fator e só depois fazer os cálculos dos senos, cossenos, das alt uras, larguras e espaços totais; Se o usuário selecionar vistas ortográficas, seu programa deve calcular e exibir: A largura total do desenho com relação a horizontal (paralelo ao eixo x); Valor do espaço em branco à direita e à esquerda e entre a vista frontal e lateral esquerda do desenho na horizontal; A altura total do desenho com relação a vertical (paralelo ao eixo y); Valor do espaço em brando à cima, à abaixo e en tre a vista frontal e superior do desenho na vertical; Seu programa deverá verificar se as dimensões do desenho estão compatíveis com o tamanho da folha. 1 Se o desenho estiver na escala correta: finalizar o programa e exibir os valores; Se o desenho não estiver na escala correta: seu programa deve solicitar ao usuário selecionar uma escala de redução ou ampliação e o valor da escala; Se for uma escala de redução, seu programa deve solicitar o valor 2 para 1:2 ou o valor 5 para 1:5 e calcular o fator de redução; Se for uma escala de ampliação, seu programa deve solicitar o valor 2 para 2:1 ou 5 para 5:1 e calcular o fator de ampliação; Para qualquer um dos casos repetir passos multiplicando-se as dimensões pelo valor do fator e só depois fazer os cálculos das alturas, larguras e espaços totais; Seu programa deve garantir espaçamento mínimo de 25 mm entre as vistas do desenho, e se possível, entre o desenho e as margens para que possam ser colocadas as cotas ao finalizar. Saídas esperadas: No final das análises, seu programa deverá exibir mensagens indicando que as dimensões do desenho estão coerentes com o tipo de folha selecionado. Para isso, seu programa pode ter as seguintes saídas de exemplo: “As dimensões para a reprodução do desenho estão coerentes.” (caso as dimensões estejam coerentes e não há nada a ser feito); “O desenho precisa ser reduzido. Entre com a escala de redução:” “O desenho precisa ser ampliado. Entre com a escala de ampliação:” As mensagens anteriores são somente um exemplo, você po de criar suas próprias mensagens dependendo da sua lógica. Se a equipe verificar que algum dado importante foi omitido, sintam -se livres para inseri-lo no contexto, apresentando essa informação durante a apresentação e explicando o motivo de sua inserção. Observação: calculando seno e cosseno; // A função sin(x) e cos(x) calculam o seno e cosseno de um número em “Radianos” #include<iostream> using namespace std; int main(){ double num_grau, num_rad, seno, cosseno, tangente; num_grau = 90; // Valor do ângulo desejado num_rad = (num_grau * 3.14159265) / 180; // Valor do ângulo em Radianos // Calculo do seno e cosseno para o ângulo informado seno = sin(num_rad); cosseno = cos(num_rad); cout << fixed; cout.precision(2); // Para não usar notação científica na exibição // Para limitar em 2 casas depois da vírgula na exibição // Exibição dos resultados cout << "sen(" << num_grau << ") = " << seno << endl; cout << "cos(" << num_grau << ") = " << cosseno << endl; return 0; } 2 Data da avaliação: 24/06/2015 (para os alunos da 1ª turma) e 26//06/2015 (para os alunos da 2ª turma) Formas de avaliação: A equipe deverá preparar um relatório indicando cada parte do programa, quem ficou responsável pela elaboração da parte e o código usado; A equipe deverá preparar uma apresentação de no máximo 10 minutos onde mostrará o funcionamento do seu programa e cada aluno deverá explicar a sua parte; Ao final cada aluno deverá responder a questões sobre sua parte no código e sobre o funcionamento geral do programa; A nota final da equipe será composta pela média simples das notas de cada membro da equipe, ou seja, o total das notas de cada aluno em cada um dos três itens avaliados dividido pela quantidade de alunos na equipe. 3