Programação e Computação para Arquitectura 2007/2008

Documentos relacionados
Cálculo em Computadores trajectórias 1. Trajectórias Planas. 1 Trajectórias. 4.3 exercícios Coordenadas polares 5

Modelação Geométrica e Visualização de Edifícios 2007/2008

Capítulo 5: Aplicações da Derivada

Potenciação no Conjunto dos Números Inteiros - Z

EXAME NACIONAL DO ENSINO SECUNDÁRIO VERSÃO 1

Curvas em coordenadas polares

4. Tangentes e normais; orientabilidade

UniposRio - FÍSICA. Leia atentamente as oito (8) questões e responda nas folhas de respostas fornecidas.

Mestrado Integrado em Engenharia Aeroespacial Aerodinâmica I. Fluido Perfeito

3º Ano do Ensino Médio. Aula nº10 Prof. Daniel Szente

I. Cálculo Diferencial em R n

Não é permitido o uso de corrector. Em caso de engano, deve riscar, de forma inequívoca, aquilo que pretende que não seja classificado.

Matemática A. Versão 2. Na sua folha de respostas, indique de forma legível a versão do teste. Teste Intermédio de Matemática A.

Resolução eficaz de problemas: quatro exemplos

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

MATEMÁTICA A - 12o Ano N o s Complexos - Equações e problemas

Cap. 7 - Fontes de Campo Magnético

EA616B Análise Linear de Sistemas Resposta em Frequência

Vibrações Mecânicas. Vibração Livre Sistemas com 1 GL. Ramiro Brito Willmersdorf ramiro@willmersdorf.net

Concepção e Fabrico Assistidos por Computador

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Márcio Dinis do Nascimento de Jesus

Resolução dos Exercícios sobre Derivadas

Além do Modelo de Bohr

Máximos, mínimos e pontos de sela Multiplicadores de Lagrange

e a temperatura do gás, quando, no decorrer deste movimento,

Eletricidade e Magnetismo - Lista de Exercícios I CEFET-BA / UE - VITÓRIA DA CONQUISTA COORDENAÇÃO DE ENGENHARIA ELÉTRICA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA DISCUSSÃO DOS EXERCÍCIOS E CONSTRUÇÃO DE PROGRAMAS SEQUENCIAIS. Prof. Dr. Daniel Caetano

Canguru sem fronteiras 2007

Escola Básica de Santa Catarina

Trabalho Computacional. A(h) = V h + 2 V π h, (1)

EXERCÍCIOS DE APOIO ÀS AULAS PRÁTICAS DE TOPOGRAFIA ENGENHARIA CIVIL

Lógica Computacional

Teste de Avaliação 3 B - 08/02/2013

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

ÓPTICA GEOMÉTRICA. Lista de Problemas

Versão 1. Identifica claramente, na folha de respostas, a versão do teste (1 ou 2) a que respondes.

Colégio de Aplicação. Universidade Federal do Rio de Janeiro. Admissão. 2ª série ensino médio. Matemática

PUCGoiás Física I. Lilian R. Rios. Rotação

(Testes intermédios e exames 2005/2006)

Professor(a): Série: 1ª EM. Turma: Bateria de Exercícios de Física

7 AULA. Curvas Polares LIVRO. META Estudar as curvas planas em coordenadas polares (Curvas Polares).

Programação em papel quadriculado

Cálculo Diferencial e Integral II

INSTRUMENTOS USADOS Lápis e lapiseiras Os lápis médios são os recomendados para uso em desenho técnico, a seleção depende sobretudo de cada usuário.

Coordenadas absolutas e relativas

Inteligência Artificial Taguspark

UMC Cotas em desenho técnico (Módulo 2) Componentes gráficos de uma cota: Linha de cota Linha de chamada Setas de cota

Toleranciamento Geométrico João Manuel R. S. Tavares

V = 0,30. 0,20. 0,50 (m 3 ) = 0,030m 3. b) A pressão exercida pelo bloco sobre a superfície da mesa é dada por: P p = = (N/m 2 ) A 0,20.

ITA º DIA MATEMÁTICA BERNOULLI COLÉGIO E PRÉ-VESTIBULAR

9 é MATEMÁTICA. 26. O algarismo das unidades de (A) 0. (B) 1. (C) 3. (D) 6. (E) 9.

EXAME NACIONAL DO ENSINO SECUNDÁRIO VERSÃO 1

Antenas e Propagação. Artur Andrade Moura. amoura@fe.up.pt

1 ELEMENTOS DA CIRCUNFERÊNCIA

!! OLIMPIADA!IBEROAMERICANA! DE!FISICA! COCHABAMBA' 'BOLIVIA'2015' Prova Teórica

QUANTIFICADORES. Existem frases declarativas que não há como decidir se são verdadeiras ou falsas. Por exemplo: (a) Ele é um campeão da Fórmula 1.

AULA 1 AULA 2. Estudo dirigido para as três primeiras AULAS de LPI Professora ANITA MACIEL 1º ESTUDO DIRIGIDO

Lista de Exercícios - Potenciação

Velocidade Média Velocidade Instantânea Unidade de Grandeza Aceleração vetorial Aceleração tangencial Unidade de aceleração Aceleração centrípeta

EE531 - Turma S. Diodos. Laboratório de Eletrônica Básica I - Segundo Semestre de 2010

TEXTO DE REVISÃO: Uso da calculadora científica e potências de 10.

CORRENTE CONTÍNUA E CORRENTE ALTERNADA

Root Locus (Método do Lugar das Raízes)

Palavras-Chave: Sistema de Posicionamento Global. Sistemas de Localização Espacial. Equação de Superfícies Esféricas.

Faculdade Sagrada Família

Aula 9 ESCALA GRÁFICA. Antônio Carlos Campos

Distribuição de probabilidades

Conteúdo. Apostilas OBJETIVA - Ano X - Concurso Público 2015

7. Estrutura de Decisão

Capítulo 3 Modelos Estatísticos

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

O sinal de menos ( ) colocado antes de um número indica o oposto desse número. Assim: 11 é o oposto de 11.

Os conceitos mais básicos dessa matéria são: Deslocamento: Consiste na distância entre dados dois pontos percorrida por um corpo.

PROVA DE MATEMÁTICA PARA OS CANDIDATOS MAIORES DE 23 ANOS

Lógica Proposicional

Matemática Aplicada II

PLANIFICAÇÃO POR UNIDADE TEMÁTICA MATEMÁTICA 6.º ANO 2015/2016

Folhas de Cálculo Excel Ficha Prática 6 Pág. 1 de 7

Planificação 2015/2016

Prova Escrita de Matemática A

Desenhando perspectiva isométrica

Microsoft Excel. O que é? Para que serve? É um poderoso programa de folha de cálculo.

(Exames Nacionais 2002)

MATEMÁTICA 3. Resposta: 29

Prof. Rossini Bezerra Faculdade Boa Viagem

VESTIBULAR MATEMÁTICA

9 Comandos condicionais

TOPOGRAFIA O LEVANTAMENTO TOPOGRÁFICO

Cotagem de dimensões básicas

Instituto Superior de Engenharia do Porto Departamento de Engenharia Electrotécnica. Licenciatura em Engenharia Electrotécnica e de Computadores

Campos Vetoriais e Integrais de Linha

Matemática Régis Cortes GEOMETRIA ESPACIAL

1. Arquivos Seqüenciais

Transcrição:

Instituto Superior Técnico Programação e Computação para Arquitectura 2007/2008 Segundo Teste/Primeiro Exame 09/0/2008 Nome: Número: Escreva o seu número em todas as folhas do teste. O tamanho das respostas deve ser limitado ao espaço fornecido para cada pergunta. Pode usar os versos das folhas para rascunho. O exame tem 7 páginas e a duração é de 60/20 minutos. A cotação de cada questão encontra-se indicada entre parêntesis. Boa sorte. Se pretende fazer o Segundo Teste responda apenas às perguntas,2,3,4,5 e 6. Se pretende fazer o Exame responda a todas as perguntas.. (.5) A exponenciação b n é uma operação entre dois números b e n designados base e expoente, respectivamente. Quando n é um inteiro positivo, a exponenciação define-se como uma multiplicação repetida: b n = b b b } {{ } n (a) (0.5) Embora a definição anterior seja suficientemente clara para um ser humano, não é utilizável por um computador. Porquê? Justifique a sua resposta. Porque requer o uso de imaginação para adivinhar o que se deve colocar no lugar das reticências e os computadores não possuem imaginação. Para além disso, a definição não é suficientemente clara para se perceber quantas multiplicações são realmente feitas ou o que fazer no caso b ou no caso b 0. (b) (0.5) Sugira uma definição matemática da exponenciação que permita a sua fácil tradução para uma linguagem de programação. b n = {, se n = 0 b b (n ), se n N. (c) (0.5) A definição que apresentou na alinea anterior é recursiva? Porquê? A definição é recursiva porque está definida em termos dela própria.

Número: 2 2. (.0) Converta as seguintes expressões da notação do Lisp para a notação da aritmética: (a) (* (/ 2) 3) 2 3 (b) (* (- 2 3)) (2 3) (c) (/ (+ 2) 3) +2 3 (d) (/ (/ 2) 3) 2 3 (e) (/ (/ 2 3)) 2 3 (f) (- (- 2) 3) ( 2) 3 (g) (- 2 3) 2 3 (h) (- (- 2) 3) 2 3 (i) (/ (expt (cos (/ 2 (sqrt 5))) 4) 8) cos 4 2 5 8 (j) (sqrt (/ (log (expt 2 (abs (- 3 (* 9 (log 28)))))))) log 2 (3 9 log 28) 3. (.0) Defina uma função Lisp que recebe uma quantidade angular em graus e calcula o valor correspondente em radianos. Note que 80 graus correspondem a π radianos. (defun radianos<-graus (graus) (* pi (/ graus 80.0))) 4. (.0) Considere uma implementação de coordenadas esféricas tridimensionais baseada na utilização das funções pesf, esf-ro, esf-fi e esf-psi que satisfazem as equações: (esf-ro (pesf ρ φ ψ)) = ρ (esf-fi (pesf ρ φ ψ)) = φ (esf-psi (pesf ρ φ ψ)) = ψ (a) (0.2) Quais daquelas funções são construtores? O conjunto dos construtores inclui apenas a função pesf. (b) (0.2) Quais daquelas funções são selectores? O conjunto dos selectores inclui as funções esf-ro, esf-fi e esf-psi. (c) (0.6) Usando as funções anteriores, defina a função pesf= que, dados dois pontos representados em coordenadas esféricas, devolve verdade se os pontos são coincidentes e falso no caso contrário. (defun pesf= (p0 p) (and (= (esf-ro p0) (esf-ro p)) (= (esf-fi p0) (esf-fi p)) (= (esf-psi p0) (esf-psi p))))

Número: 3 5. (.0) Pretende-se criar um lanço de escada com n espelhos capaz de vencer uma determinada altura a em metros. Admitindo que cada degrau tem uma altura do espelho h e uma largura do cobertor d que verificam a proporção 2h + d = 0.64 defina uma função que, a partir da altura a vencer e do número de espelhos, calcula o comprimento do lanço de escada. Se um lanço de escada de altura a tem n espelhos então cada espelho tem uma altura de a n. Neste caso, de acordo com a proporção, a largura de cada cobertor será 0.64 2 a n. Uma vez que a n espelhos estão associados n cobertores, comprimento total do lanço de escadas será, então, (n )(0.64 2 a n ). (defun comprimento-lanco-escadas (altura-lanco n-espelhos) (* (- n-espelhos ) (- 0.64 (* 2 (/ (float altura-lanco) n-espelhos))))) 6. (0.5) Defina o predicado par? que, dado um número, testa de ele é par, i.e., se o resto da divisão desse número por dois é zero. Para calcular o resto da divisão de um número por outro, utilize a função pré-definida rem. (defun par? (x) (= (rem x 2) 0)) 7. (.0) Defina a função pares que, dada uma lista de números como argumento, devolve uma lista contendo apenas os números que forem pares. Por exemplo: _$ (pares (list 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 )) (2 4 6 8 8 6 4 2) (defun pares (numeros) (cond ((null numeros) ()) ((par? (car numeros)) (cons (car numeros) (pares (cdr numeros)))) (t (pares (cdr numeros))))) 8. (.0) Defina uma função de ordem superior denominada filtra que, dado um predicado e uma lista, colecciona numa outra lista todos os elementos da primeira lista que não satisfazem o predicado. Por exemplo: _$ (filtra par? (list 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 )) ( 3 5 7 9 7 5 3 ) (defun filtra (predicado lista) (cond ((null lista) ()) ((not (predicado (car lista))) (cons (car lista) (filtra predicado (cdr lista)))) (t (filtra predicado (cdr lista)))))

Número: 4 9. (.0) Defina uma função denominada serra que, dado um ponto P, um número de dentes, o comprimento c de cada dente e a altura a de cada dente, desenha uma serra em AutoCad com o primeiro dente a começar a partir do ponto P, tal como se vê na imagem seguinte: P c a (defun serra (p0 dentes comprimento altura / p p2) (if (= dentes 0) nil (progn (setq p (p+xy p0 (/ comprimento 2.0) altura) p2 (p+xy p0 comprimento 0)) (command "_.pline" p0 p p2 "") (serra p2 (- dentes) comprimento altura)))) 0. (.0) Defina uma função losangulos capaz de criar a figura apresentada em seguida: Note que os losângulos possuem dimensões que estão em progressão geométrica de razão 2. Dito de outra forma, os losângulos mais pequenos têm metade do tamanho do losângulo maior em cujas extremidades estão centrados. Os losângulos mais pequenos de todos têm largura maior ou igual a. A sua função deverá ter como parâmetros apenas o centro e a largura do losângulo maior. (defun losangulos (p c / p0 p p2 p3 c2) (if (< c ) nil (progn (setq p0 (p+pol p c 0) p (p+pol p c pi/2) p2 (p+pol p c pi) p3 (p+pol p c 3*pi/2) c2 (/ c 2.0)) (command "_.pline" p0 p p2 p3 p0 "") (losangulos p0 c2) (losangulos p c2) (losangulos p2 c2) (losangulos p3 c2))))

Número: 5. (2.0) Considere a construção de uma esfera de cones tal como se apresenta na seguinte imagem: Note que cada cone tem o seu vértice na origem e está orientado de modo a que o centro da base fica assente numa esfera virtual. Note que todos os meridianos e paralelos possuem o mesmo número de cones e note também que o raio da base dos cones diminui à medida que nos aproximamos dos pólos para que os cones não interfiram uns com os outros. Escreva um programa em Auto Lisp capaz de construir a esfera de cones. Assuma que existe a função cone que tem como parâmetros, o centro da base, o raio da base e o vértice. Sugestão: utilize a função enumera e a estrutura de controle foreach. Uma vez que se pretende uma esfera, o melhor será usar coordenadas esféricas para os centros das bases dos cones. (foreach psi (enumera 0. (- pi 0.) (/ pi 0)) (foreach fi (enumera (/ pi 0) 2*pi (/ pi 0)) (cone (pesf fi psi) (* 0. (sin psi)) (pxyz 0 0 0)))) 2. (.0) Considere a função parametrica-n que recebe, como parâmetros, uma função f, um limite inferior de variação t 0, um limite superior de variação t e um número n e que devolve, como resultado, uma lista com n valores de f desde t 0 até t. Defina uma função que calcula uma lista de pontos por onde passa uma espiral de Arquimedes. Esta curva é definida pelas equações paramétricas { ρ(t) = αt θ(t) = t (defun espiral-arquimedes (p alfa t0 t n) (parametrica-n (lambda (ti) (p+pol p (* alfa ti) ti)) t0 t n))

Número: 6 3. (2.0) Defina uma função parede-curva que, dada a espessura e altura de uma parede e dada uma curva descrita por uma lista de pontos, constrói uma parede através do deslocamento de uma secção rectangular com a espessura e altura dadas ao longo de uma spline que passa pelas coordenadas dadas. Se precisar, pode usar a função spline-pontos que, a partir de uma lista de pontos, constrói uma spline que passa por esses pontos. (defun parede-curva (espessura altura pontos-curva / curva seccao) (spline-pontos pontos-curva) (setq curva (entlast)) (3dpoly-pontos (list (pxyz 0 0 0) (pxyz espessura 0 0) (pxyz espessura 0 altura) (pxyz 0 0 altura) (pxyz 0 0 0))) (setq seccao (entlast)) (command "_.sweep" seccao "" curva)) 4. (.0) Defina a função parede-espiral-arquimedes que, a partir de uma espessura e altura e ainda dos parâmetros de uma espiral de Arquimedes, cria uma parede em espiral, tal como se apresenta na seguinte imagem: (defun parede-espiral-arquimedes (espessura altura p alfa t0 t n) (parede-curva espessura altura (espiral-arquimedes p alfa t0 t n))) (parede-espiral-arquimedes 4 0.0 (pxy 0 0) 2 0 (* 6 pi) 50)

Número: 7 5. (2.0) Usando a função parametrica-n defina a função cilindros-espiral-arquimedes que constrói n cilindros de raio r e altura h e os coloca ao longo de uma espiral de arquimedes, de acordo com os parâmetros desta espiral, tal como se apresenta na seguinte figura: (defun cilindros-espiral-arquimedes (r h p alfa t0 t n) (parametrica-n (lambda (ti / p0) (setq p0 (p+pol p (* alfa ti) ti)) (cilindro p0 r (p+xyz p0 0 0 h))) t0 t n)) 6. (2.0) Considere o desenho de uma treliça plana, tal como se apresenta na seguinte figura: b 0 b... b n a 0 a... a n a n Defina uma função trelica-plana que recebe, como parâmetros, duas listas de pontos correspondentes aos pontos desde a 0 até a n e desde b 0 até b n e que cria os nós nesses pontos e as barras que os unem. Considere, como pré-definidas, as funções no-trelica que recebe um ponto como argumento e barra-trelica que recebe dois pontos como argumentos. (defun trelica-plana (as bs) (if (null bs) (no-trelica (car as)) (progn (triangulo-trelica (car as) (cadr as) (car bs)) (if (null (cdr bs)) nil (barra-trelica (car bs) (cadr bs))) (trelica-plana (cdr as) (cdr bs))))) (defun triangulo-trelica (a0 a b0) (no-trelica a0) (no-trelica b0) (barra-trelica a0 a) (barra-trelica a0 b0) (barra-trelica b0 a))