Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

UNIOESTE – Universidade Estadual do Oeste do Paraná 
Curso de Engenharia Mecânica 
Disciplina de Computação 
Prof. Newton Spolaôr 
 
Lista de exercícios – 3º bimestre 
 
A presente lista vale 100 pontos, com peso 30 na nota bimestral. O prazo (deadline) de entrega é 
no sábado 06/04/2024, 23:59 hs (horário de Brasília). A resolução dos exercícios deve ser 
enviada anexada em chat privado com o professor no Microsoft Teams. Solicita-se que todos os 
arquivos da resolução sejam comprimidos (usando software Winrar ou similar) e enviados em 
um único anexo com seu nome completo e curso (exemplo: SUN_TZU_MECÂNICA.zip). 
 
Observações: 
• O trabalho é individual. 
• Em caso de identificação de plágio, a nota 0 será atribuída para todos os envolvidos. 
• Cada dia de atraso na entrega implica na perda de 40 pontos. 
• Cada questão vale 20 pontos. 
• O professor está à disposição (por chat, email ou pessoalmente) para esclarecer dúvidas 
relacionadas ao trabalho. O monitor também poderá auxiliar em seu horário de 
atendimento. 
• Para cada resposta de questão escrita com apoio de uma fonte (exemplo: sites, artigos, 
livros, slide da aula...), inclua referência para essa fonte no final da resposta. 
 
1) [créditos: sistema online para competições URI] Cálculo em funções diferenciáveis. 
 
Escreva um programa contendo as seguintes rotinas: 
• Um procedimento calculaDerivada que processa um conjunto com n 
polinômios, sendo que n é desconhecido, e calcula a derivada [1] de cada um. 
Antes de cada polinômio i, deve-se ler o número de termos P desse polinômio 
(1cada campo devem ser 
 
UNIOESTE – Universidade Estadual do Oeste do Paraná 
Curso de Engenharia Mecânica 
Disciplina de Computação 
Prof. Newton Spolaôr 
 
lidos do teclado. Caso a marca/modelo possua dois ou mais valores possíveis 
para um campo, o usuário deverá digitar no teclado somente um dos valores 
para esse campo. Para melhorar a interação do programa com o usuário, é 
necessário imprimir antes de cada leitura uma mensagem informando qual é o 
campo a ser fornecido, como indicado a seguir para o primeiro campo: 
Digite a marca/modelo do aparelho 
 
• Uma função convencional denominada compara que recebe dois parâmetros 
do tipo dict celular já preenchidos. Além disso, a função recebe um parâmetro 
do tipo int denominado cam indicando qual das características de celular será 
analisada, com valores válidos no intervalo [2,5]. A função deve retornar: 
o 1 para indicar que o primeiro dict celular recebido como parâmetro é 
melhor que o segundo conforme a característica cam. 
o 2 para informar que o segundo dict celular é melhor que o primeiro 
conforme cam. 
o 3 para esclarecer que os dois dict celular exibem o mesmo valor para 
cam. 
o 0 quando a comparação não pode ser realizada porque o valor de cam 
não está no intervalo [2,5]. 
 
A ideia da função é auxiliar o usuário a escolher o melhor dos dois aparelhos 
analisados de acordo com alguma característica. Alguns exemplos de possíveis 
valores de cam e de resultados da função para os aparelhos da Figura 2 são 
apresentados a seguir: 
o Quando cam for 2, o retorno será 2, indicando que Xiaomi Mi 8 Lite é 
o melhor celular em termos de preço. 
o Quando cam for 5, o retorno será 3, indicando que ambos os celulares 
possuem o mesmo número de chips. 
 
A função deve ainda considerar que, no caso do campo 3, as seguintes unidades 
poderão ser usadas: GB e MB. O primeiro se refere a 109 bytes, enquanto o 
segundo a 106 bytes. Caso cada um dos celulares considere uma unidade 
distinta do outro, a comparação deve realizar a conversão de unidade de um dos 
aparelhos para que ambos tenham a memória na mesma unidade. 
• Um procedimento denominado imprimeCelular que apresenta na tela todos os 
campos de um dict celular recebido como parâmetro. 
• O programa principal que chama as rotinas anteriores, fornecendo os devidos 
argumentos para cada procedimento e função. Em particular, o programa chama 
leituraCelular duas vezes, uma para cada argumento distinto do tipo struct 
celular. Após, o programa chama a função compara com os dois aparelhos 
previamente preenchidos como argumentos, além do número de campo que o 
usuário deseja analisar, digitado no teclado. A partir do resultado da função, o 
programa deve ainda imprimir: 
o Os dados do melhor aparelho, usando imprimeCelular, se o resultado 
da função compara for 1 ou 2. 
o Os dados de ambos aparelhos, usando duas chamadas a 
imprimeCelular, se o resultado da função for 3. 
o Uma mensagem de erro, caso o resultado da função seja 0. Nesse caso, 
depois da mensagem, um novo número de campo deve ser lido e as 
rotinas compara e imprimeCelular devem ser chamadas conforme 
indicado nos itens anteriores. Se o retorno da função for zero 
novamente, os passos já mencionados devem ser repetidos. Portanto, o 
 
UNIOESTE – Universidade Estadual do Oeste do Paraná 
Curso de Engenharia Mecânica 
Disciplina de Computação 
Prof. Newton Spolaôr 
 
programa principal somente terminará quando o retorno da função 
compara for 1, 2 ou 3 e os dados do(s) aparelho(s) selecionado(s) 
tiver(em) sido impresso(s) com imprimeCelular. 
 
5) Uma pequena empresa da área de engenharia começou a automatizar o controle de 
patrimônio de suas ferramentas. Como ela também precisa de um novo estagiário, o 
processo de seleção envolve a programação de parte desse processo e a avaliação do 
programa resultante por um funcionário. 
 
A empresa tem ciência de que o controle de patrimônio, quando concretizado, poderá 
demandar um consumo razoável de recursos computacionais. Por isso, solicita aos 
candidatos ao estágio o uso de alocação dinâmica, ao invés de estática, para que seja 
usada somente a quantidade de memória necessária. Na primeira versão do programa, 
um vetor alocado dinamicamente será adotado, enquanto que no futuro uma estrutura 
mais flexível para uso em médio e longo prazo, denominada lista encadeada, será 
adotada. 
 
Nesse cenário, é solicitado a você criar uma função convencional sem parâmetros. A 
função lê do teclado a quantidade n de ferramentas que estão atualmente em posse da 
empresa e que será digitada pelo funcionário. Após, o procedimento deve alocar 
dinamicamente um vetor p de n inteiros. Na sequência, cada elemento do vetor receberá 
um dos números de patrimônio digitados pelo funcionário. A função deve retornar o 
vetor p. 
 
Para permitir que o funcionário verifique se o preenchimento do vetor foi realizado com 
sucesso, um segundo procedimento deve ser desenvolvido para imprimir os n inteiros 
que estão dentro de um vetor alocado dinamicamente. Esse vetor é recebido como 
parâmetro. Um segundo parâmetro nessa rotina deve ser a quantidade de elementos 
preenchidos dentro do vetor. 
 
Um último procedimento deve ser construído para desalocar um vetor previamente 
alocado recebido como parâmetro. 
 
No programa principal, os três procedimentos devem ser chamados, com os devidos 
argumentos sendo fornecidos. 
 
 
Referências: 
[1] Wikipedia; Derivada; Disponível em: https://pt.wikipedia.org/wiki/Derivada, Acesso em 
Jun. 2021, 2021. 
[2] Wikipedia; Método dos elementos finitos; Disponível em: 
https://pt.wikipedia.org/wiki/M%C3%A9todo_dos_elementos_finitos, Acesso em Jun. 2021, 
2021. 
[3] Pereira, J. C.; Curso de mecânica dos sólidos II; Disponível em: 
http://www.grante.ufsc.br/download/MecSolA/mecsol-Parte%20II-%20J.Apostila-Carlos.pdf, 
Acesso em Jun. 2021, 2021. 
[4] Chapman, S. J.; Programação em Matlab para engenheiros; Cengage Learning, 5a Edição, 
2017. 
[5] Wikipedia; Triangle; Disponível em: https://en.wikipedia.org/wiki/Triangle, Acesso em Jun. 
2021, 2021. 
[6] TecMundo; Comparar Celulares – TecMundo; Disponível em: 
https://comparador.tecmundo.com.br/, Acesso em: Jun. 2021, 2021. 
https://pt.wikipedia.org/wiki/M%C3%A9todo_dos_elementos_finitos
http://www.grante.ufsc.br/download/MecSolA/mecsol-Parte%20II-%20J.Apostila-Carlos.pdf
https://en.wikipedia.org/wiki/Triangle
https://comparador.tecmundo.com.br/

Mais conteúdos dessa disciplina