Fundamentos de Programação

Tamanho: px
Começar a partir da página:

Download "Fundamentos de Programação"

Transcrição

1 Fundamentos de Programação Primeiro Teste 16 de Abril de :00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 7 páginas com 9 perguntas. A cotação de cada pergunta está assinalada entre parêntesis. Escreva o seu número em todas as folhas da prova. O tamanho das respostas deve ser limitado ao espaço fornecido para cada questão. O corpo docente reserva-se o direito de não considerar a parte das respostas que excedam o espaço indicado. Pode responder usando lápis. Em cima da mesa devem apenas estar o enunciado, caneta ou lápis e borracha e cartão de aluno. Não é permitida a utilização de folhas de rascunho, telemóveis, calculadoras, etc. Boa sorte. Pergunta Cotação Nota Total 20.0

2 Número: Pág. 2 de 7 1. (1.0) Escolha a única afirmação incorrecta. Uma resposta certa vale 1 valor e uma resposta errada desconta 0.4 valores. A. A tradução de (5 + 2) < x 2 para a notação do Scheme origina (< (+ 5 2) (/ x 2)). B. A tradução da expressão 6 x + 3 para a notação do Scheme origina (* 6 (+ x 3)). C. A tradução da expressão 5 (3 + f(x)) para a notação do Scheme origina (* 5 (+ 3 (f x))). D. A tradução da expressão x + f(g(x)) para a notação do Scheme origina (+ x (f (g x))). B. 2. (2.0) Escolha a única resposta correcta para as seguintes questões. Cada resposta certa vale 1 valor e cada resposta errada desconta 0.4 valores. (a) O valor da expressão ((lambda (x y) (+ (* 2 x) y)) 3 ((lambda (x) (* x x)) 3)) é: A. Um erro de execução B. #<procedure> C. 9 D. 15 D. (b) Considere a seguinte interacção em Scheme: > (define x 1) > (define y 2) > (let ((x y)) (let ((y (+ x 2))) (* x y))) O resultado de avaliar a expressão let origina: A. Um erro de execução B. 6 C. 8 D. 2 C. 3. (1.5) Defina um procedimento anónimo em Scheme que recebe um argumento e devolve #t se o seu argumento for um inteiro ímpar, e devolve #f em caso contrário. O seu procedimento não deve usar expressões condicionais.

3 Número: Pág. 3 de 7 (lambda (x)(and (integer? x) (odd? x))) 4. De um modo sucinto, (a) (0.5) Diga o que é um processo computacional. Um ente imaterial que existe dentro de um computador durante a execução de um programa, e cuja evolução ao longo do tempo é ditada pelo programa. (b) (0.5) Diga o que é um algoritmo. Uma sequência de passos, bem definida e sem ambiguidades, que, sendo seguida mecanicamente, garante atingir um dado objectivo. (c) (0.5) Diga o que é um procedimento. Uma sequência de instruções escritas numa linguagem de programação que definem como atingir um dado objectivo. (d) (0.5) Relacione os três conceitos anteriores. Um procedimento corresponde a um algoritmo escrito numa linguagem de programação. A execução de um procedimento origina um processo computacional. 5. (a) (1.5) Escreva um procedimento que calcula a soma dos dígitos ímpares de um número inteiro não negativo. Se o inteiro não tiver dígitos ímpares, o seu procedimento deve devolver zero. O seu procedimento não precisa de verificar se o argumento é válido. (define (soma-dig-impares n) (cond ((= n 0) 0) ((odd? (remainder n 10)) (+ (remainder n 10) (soma-dig-impares (quotient n 10)))) (else (soma-dig-impares (quotient n 10))))) (b) (1.5) O seu procedimento gera um processo recursivo ou iterativo? Justifique a sua resposta. (soma-dig-impares 12345) (+ 1 (soma-dig-impares 2345)) (+ 1 (soma-dig-impares 345)) (+ 1 (+ 3 (soma-dig-impares 45))) (+ 1 (+ 3 (soma-dig-impares 5))) (+ 1 (+ 3 (+ 5 (soma-dig-impares 0)))) (+ 1 (+ 3 (+ 5 0))) (+ 1 (+ 3 5)) (+ 1 8) 9 O processo gerado é recursivo, pois tem uma fase de expansão, correspondente à construção de uma cadeia de operações adiadas, seguida de uma fase de contracção, correspondente à realização dessas operações.

4 Número: Pág. 4 de 7 (c) (1.5) Se o procedimento gerar um processo recursivo, escreva um procedimento equivalente que gere um processo iterativo; se o procedimento gerar um processo iterativo, escreva um procedimento equivalente que gere um processo recursivo. (define (soma-dig-impares n) (define (soma-aux n res) (cond ((= n 0) res) ((odd? (remainder n 10)) (soma-aux (quotient n 10) (+ res (remainder n 10)))) (else (soma-aux (quotient n 10) res)))) (soma-aux n 0)) 6. Considere a seguinte estrutura de pares, designada por estrutura: Diga o que é devolvido pelo interpretador do Scheme para cada uma das seguintes expressões. Se alguma expressão originar um erro, explique a razão do erro. (a) (0.5) (car estrutura) (1. 2) (b) (0.5) (car (cdr estrutura)) 3 (c) (0.5) (car (car (cdr estrutura))) erro, porque 3 não é um par. (d) (0.5) (pair? (cdr estrutura)) #t (e) (0.5) (lista? estrutura) #t 7. Considere o tipo período de tempo definido como se segue. Um período de tempo é constituído por 3 inteiros não negativos, correspondendo a um número de horas, um número de minutos, e um número de segundos. Tanto o número de minutos como o número de segundos são inferiores a 60. O tipo período de tempo deve disponibilizar as seguintes operações básicas: Construtor.

5 Número: Pág. 5 de 7 faz-tempo : inteiro inteiro inteiro período de tempo faz-tempo(h, m, s) devolve o período de tempo com h horas, m minutos, e s segundos. Selectores. horas-tempo : período de tempo inteiro horas-tempo(p) devolve o número de horas do período p. minutos-tempo : período de tempo inteiro minutos-tempo(p) devolve o número de minutos do período p. segundos-tempo : período de tempo inteiro segundos-tempo(p) devolve o número de segundos do período p. Reconhecedor. tempo? : universal lógico tempo?(arg) tem o valor verdadeiro, se arg é um período de tempo, e tem o valor falso, em caso contrário. Testes. tempos=? : período de tempo período de tempo lógico tempos=?(p 1, p 2 ) tem o valor verdadeiro, se p 1 e p 2 são períodos de tempo iguais, e tem o valor falso, em caso contrário. tempos<? : período de tempo período de tempo lógico tempos<?(p 1, p 2 ) tem o valor verdadeiro, se p 1 corresponde a um período de tempo inferior a p 2, e tem o valor falso, em caso contrário. (a) (0.5) Escolha uma representação interna para o tipo período de tempo. Um período de tempo é representado por um par em que o primeiro elemento corresponde ao número de horas, e o segundo elemento é um par, cujo primeiro elemento corresponde ao número de minutos, e o segundo ao número de segundos: <horas> <minutos> <segundos> (b) (2.0) Implemente as operações básicas, usando a representação que escolheu na alínea anterior. Não precisa de verificar a validade dos argumentos recebidos. (define (faz-tempo h m s) (cons h (cons m s))) (define (horas-tempo p) (car p)) (define (minutos-tempo p) (car (cdr p))) (define (segundos-tempo p) (cdr (cdr p))) (define (tempo? arg) (and (pair? arg) (pair? (cdr arg))

6 Número: Pág. 6 de 7 (inteiro-nao-negativo? (car arg)) (inteiro-nao-negativo<60? (car (cdr arg))) (inteiro-nao-negativo<60? (cdr (cdr arg))))) (define (inteiro-nao-negativo? n) (and (integer? n) (>= n 0))) (define (inteiro-nao-negativo<60? n) (and (integer? n) (>= n 0) (< n 60))) (define (tempos=? p1 p2) (and (= (car p1) (car p2)) (= (car (cdr p1)) (car (cdr p2))) (= (cdr (cdr p1)) (cdr (cdr p2))))) (define (tempos<? p1 p2) (let ((h1 (horas-tempo p1)) (m1 (minutos-tempo p1)) (s1 (segundos-tempo p1)) (h2 (horas-tempo p2)) (m2 (minutos-tempo p2)) (s2 (segundos-tempo p2))) (or (< h1 h2) (and (= h1 h2) (< m1 m2)) (and (= h1 h2) (= m1 m2) (< s1 s2))))) 8. (2.0) Escreva um procedimento, tempos-ordenados?, que recebe uma lista de elementos do tipo período de tempo, e devolve verdadeiro se a lista se encontrar ordenada por ordem crescente, e falso em caso contrário. Pode assumir que a lista nunca é vazia e que todos os períodos de tempo são diferentes. Respeite as barreiras de abstracção dos tipos lista e período de tempo. (define (tempos-ordenados? lst) (cond ((lista-vazia? (resto lst)) #t) ((tempos<? (primeiro lst) (primeiro (resto lst))) (tempos-ordenados? (resto lst))) (else #f))) 9. (2.0) Escreva um procedimento, folhas, que recebe uma árvore e devolve uma lista com as folhas da árvore. Utilize os tipos abstractos árvore e lista simplificada definidos nas aulas, respeitando as barreiras de abstracção. Pode usar, sem o definir, o procedimento junta definido nas aulas, que recebe duas listas e devolve a lista que contém os elementos da primeira lista seguidos dos elementos da segunda lista. Por exemplo, se o seu procedimento receber a árvore

7 Número: Pág. 7 de 7 deve devolver a lista (4 5 6) (a ordem dos elementos não é relevante). (define (folhas arv) (cond ((arv-vazia? arv) (nova-lista)) ((and (arv-vazia? (arv-esq arv)) (arv-vazia? (arv-dir arv))) (list (raiz arv))) (else (junta (folhas (arv-esq arv)) (folhas (arv-dir arv))))))

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Primeiro Teste 21 de Abril de 2012 11:30 13:00 Nome: Número: Esta prova, individual e sem consulta, tem 5 páginas com 10 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Primeiro Teste 6 de Novembro de 200 09:00 0:30 SOLUÇÃO. (.0) Escolha a única afirmação incorrecta. Uma resposta certa vale valor e uma resposta errada desconta 0.4 valores. A.

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Soluções do primeiro teste 13 de Novembro de 2004 9:00-10:30 Nota Número: 20 Nome: Turma: Escreva o seu número em todas as folhas do teste. O espaço das respostas deve ser limitado

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Segundo Teste 6 de Janeiro de 2010 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 9 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Segundo Teste 9 de Junho de 2012 9:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 6 páginas com 12 perguntas. A cotação de cada pergunta está assinalada entre

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Segundo Teste 10 de Janeiro de 2014 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 12 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Fundamentosde Programação

Fundamentosde Programação Fundamentosde Programação Soluçãodo Primeiro teste 19 de Novembrode 2005 1. (1.0) Utilizando a notação BNF, apresente a definição completa da forma define. Explique cada um dos constituintes da sua definição.

Leia mais

2. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.

2. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados. Capítulo 5 Abstracção de dados 5. Exercícios de revisão. Diga o que é um tipo abstracto de informação.. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução da Repescagem do Primeiro Teste 31 de Janeiro de 2013 09:00 10:30 1. De um modo sucinto, (a) (0.5) Diga o que é um processo computacional. Um processo computacional é

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Exame 9 de Janeiro de 2015 09:00 11:00 1. De um modo sucinto, explique o que é: (a) (0.5) Um processo computacional. Um ente imaterial que existe dentro de um computador durante

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Segundo Teste 18 de Janeiro de 2013 09:00 10:30 1. (2.0) Escolha a única resposta incorrecta para as seguintes questões. Cada resposta certa vale 1 valor e cada resposta

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Solução do Segundo Teste 23 de Janeiro de 2012 09:00 10:30 Nome: Número: 1. (1.0) Explique em que consiste a abstracção de dados, usando os termos barreiras de abstracção, encapsulação

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Segundo Teste 18 de Junho de 2014 15:00 16:30 1. (1.0) Diga quais as fases por que passa o desenvolvimento de um programa no modelo estudado e o que se faz em cada uma delas.

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Primeiro Teste 29 de Março de 2014 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Primeiro Teste 26 de Outubro de 2013 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo

Leia mais

Estruturação de Procedimentos

Estruturação de Procedimentos Capítulo 4 Estruturação de Procedimentos 4. Exercícios de revisão. Diga o que entende por linguagem estruturada em blocos. Descreva a regra associada a esta estrutura, e diga qual a sua importância. 2.

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Exame 13 de Janeiro de 2017 09:00 11:00 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta. (a)

Leia mais

Exercícios para Fundamentos da Programação Utilizando Múltiplos Paradigmas

Exercícios para Fundamentos da Programação Utilizando Múltiplos Paradigmas Exercícios para Fundamentos da Programação Utilizando Múltiplos Paradigmas Pedro Adão, Fausto Almeida, Ana Cardoso-Cachopo, Pedro Amaro de Matos (editores) Departamento de Engenharia Informática Instituto

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Primeiro Teste 27 de Outubro de 2012 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo

Leia mais

Lógica para Programação

Lógica para Programação Licenciatura Engenharia Informática e de Computadores Lógica para rogramação epescagem do rimeiro Teste 13 de Julho de 2010 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 9 páginas

Leia mais

Tipo de argumentos. valor. argumentos

Tipo de argumentos. valor. argumentos Operação Numero de argumentos Tipo de argumentos valor (+ ) 2 ou + Numérico Soma ( ) 2 ou + Numérico Subtração ( ) 1 Numérico Simétrico (/ ...) 2 ou + Numérico Divisão (cos

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Exame 1 de Fevereiro de 2019 09:00 11:00 1. Usando palavras suas e, no máximo, em cinco linhas responda às seguintes questões. Respostas dadas através de exemplos

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do exame 12 de Janeiro de 2018 09:00 11:00 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta. (a)

Leia mais

PROGRAMAÇÃO EM SCHEME:

PROGRAMAÇÃO EM SCHEME: Exercícios para PROGRAMAÇÃO EM SCHEME: Introdução à Programação Utilizando Múltiplos Paradigmas Departamento de Engenharia Informática Instituto Superior Técnico Universidade Técnica de Lisboa 2 Conteúdo

Leia mais

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial Alameda e Taguspark Inteligência Artificial Alameda e Taguspark Primeiro Teste 31 de Outubro de 2008 19H00-20H30 Nome: Número: Este teste tem 7 perguntas e 7 páginas. Escreva o número em todas as páginas. Deve ter na mesa

Leia mais

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial Alameda e Taguspark Inteligência Artificial Alameda e Taguspark Repescagem do Primeiro Teste 13 de Fevereiro de 2009 17H00-18H30 Nome: Número: Este teste tem 7 perguntas e 5 páginas. Escreva o número em todas as páginas.

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do segundo exame 29 de Janeiro de 2016 18:30 20:30 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta.

Leia mais

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m

FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m FUNDAMENTOS DA PROGRAMAÇÃO 1º Teste, 19 de abril de 2013, 1h30m 1. (1.5) Considere a seguinte gramática em notação BNF: ::= , ::= ::=

Leia mais

if not(isinstance(a, int)) or a < 0: raise ValueError ("misterio: arg nao e inteiro nao negativo") else: return misterio_aux(a, a + 1)

if not(isinstance(a, int)) or a < 0: raise ValueError (misterio: arg nao e inteiro nao negativo) else: return misterio_aux(a, a + 1) Capítulo 7 Recursão e iteração 1. (1) Considere a seguinte função: def misterio(a): def misterio_aux(b, c): if b == 0: return True elif c == 0: return False return misterio_aux(b -, c - ) if not(isinstance(a,

Leia mais

Introdução à Ciência da Computação (ICC) PROVA P2 Sexta-feira 1 de Junho de 2001

Introdução à Ciência da Computação (ICC) PROVA P2 Sexta-feira 1 de Junho de 2001 Introdução à Ciência da Computação (ICC) 2001.1 PROVA P2 Sexta-feira 1 de Junho de 2001 Nome do Aluno: Matrícula PUC: Questões P2 Revisão 1 (1.5) 2 (1.5) 3a (1.0) 3b (1.0) 3c (1.0) 3d (1.0) 4 (2.0) Prova

Leia mais

arv_esq(árv) recebe uma árvore, árv, e tem como valor a sua árvore esquerda. Se a árvore for vazia, o valor desta operação é indefinido.

arv_esq(árv) recebe uma árvore, árv, e tem como valor a sua árvore esquerda. Se a árvore for vazia, o valor desta operação é indefinido. Capítulo 13 Árvores Binárias 13.1 Tipo Árvore Considere o TAI Árvore, inido e implementado como se apresenta em seguida: Construtores: nova_arv : {} 7! árvore arvore() tem como valor uma árvore vazia.

Leia mais

Programação imperativa

Programação imperativa Capítulo 8 Programação imperativa 8.1 Exercícios de revisão 1. Distinga entre programação imperativa e programação funcional. 2. Explique a necessidade da introdução do operador de atribuição. 3. Diga

Leia mais

FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m

FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m 1. (3.25) Escreva um programa que pede o nome (mais de 2 caracteres) e o sobrenome (mais de 4 caracteres) a um utilizador e gera um username

Leia mais

USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio

USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS Bruno Maffeo Departamento de Informática PUC-Rio MÉTODO INDUTIVO O método indutivo para resolver problemas aqui empregado inspira-se na formulação mais

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Uma das características de um engenheiro é a capacidade de resolver problemas técnicos. Qualquer problema de engenharia é resolvido recorrendo a uma sequência de fases: - a compreensão

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO PROCURA E PLANEAMENTO Primeiro Exame 10 de Janeiro de 2012 9:00-11:30 Este exame é composto por 16 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.

Leia mais

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE Recibo do Exame de 1ª Época de Introdução à Programação (IGE e ETI), 2003/02/25 1º semestre de 2002/2003, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 1ª Época

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Exame 1 de Fevereiro de 2017 09:00 11:00 1. Usando palavras suas e, no máximo, em três linhas explique os seguintes conceitos. Explicações dadas através de exemplos

Leia mais

PROVA ESPECÍFICA MODELO. Duração da prova: 120 minutos

PROVA ESPECÍFICA MODELO. Duração da prova: 120 minutos Página 1 de 9 Provas especialmente adequadas destinadas a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 64/2006, de 21 de Março AVALIAÇÃO DA CAPACIDADE

Leia mais

Pragmática das Linguagens de

Pragmática das Linguagens de Instituto Superior Técnico Pragmática das Linguagens de Programação 2004/2005 Primeiro Exame/Segundo Teste 17/12/2004 Número: Turma: Nome: Escreva o seu número em todas as folhas do teste. O tamanho das

Leia mais

Exercícios da cadeira de Introdução à Programação

Exercícios da cadeira de Introdução à Programação Exercícios da cadeira de Introdução à Programação Cláudia Antunes Ana Cardoso Cachopo João Cachopo Francisco Couto António Leitão Inês Lynce César Pimentel H. Sofia Pinto Ano Lectivo 2002/2003 Parte II

Leia mais

Exercícios para Fundamentos da Programação Utilizando Múltiplos Paradigmas

Exercícios para Fundamentos da Programação Utilizando Múltiplos Paradigmas Exercícios para Fundamentos da Programação Utilizando Múltiplos Paradigmas Pedro Adão, Fausto Almeida, Ana Cardoso-Cachopo, Pedro Amaro de Matos (editores) Departamento de Engenharia Informática Instituto

Leia mais

Conceitos básicos de algoritmos

Conceitos básicos de algoritmos Conceitos básicos de algoritmos Operadores Aritméticos Unários: +, - Exemplos: +1-5.9... var a: inteiro... a

Leia mais

Fundamentos de Programação

Fundamentos de Programação Licenciatura em Engenharia Informática e de Computadores Fundamentos de Programação Trabalho para casa 22 de Setembro de 2008 Este trabalho corresponde à instalação, no seu computador, do interpretador

Leia mais

Fundamentos de Algoritmos

Fundamentos de Algoritmos Fundamentos de Algoritmos CIC/UFRGS 2006/1 Mais em definições auto-referenciáveis: roteiro Estruturas em estruturas: exemplo das árvores de hereditariedade Árvores binárias de pesquisa Listas de listas

Leia mais

Computação e Programação Exame Época de recurso

Computação e Programação Exame Época de recurso Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v

Leia mais

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Resumos e Soluções para os Exercícios para as Aulas Práticas da Disciplina de Fundamentos da Programação Ana Cardoso Cachopo Ano Lectivo 2006/2007

Leia mais

Inteligência Artificial

Inteligência Artificial Licenciatura em Engenharia Informática e de Computadores Inteligência Artificial Primeiro Teste 31 de Outubro de 2009 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 9 páginas com

Leia mais

Fundamentos da Programação de Computadores

Fundamentos da Programação de Computadores Universidade do Minho Escola de Engenharia Departamento de Sistemas de Informação Fundamentos da Programação de Computadores Licenciatura em Tecnologias e Sistemas de Informação 1º Ano 1º Semestre Ano

Leia mais

if not(isinstance(a, int)) or a < 0: raise ValueError ( misterio: arg devia ser inteiro nao negativo ) else: return misterio_aux(a, a + 1)

if not(isinstance(a, int)) or a < 0: raise ValueError ( misterio: arg devia ser inteiro nao negativo ) else: return misterio_aux(a, a + 1) Capítulo 7 Recursão e iteração 1. (1) Considere a seguinte função: def misterio(a): def misterio_aux(b, c): if b == 0: return True elif c == 0: return False return misterio_aux(b - 2, c - 2) if not(isinstance(a,

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO PROCURA E PLANEAMENTO Primeiro Exame 13 de Janeiro de 2007 11:00-13:30 Este exame é composto por 13 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.

Leia mais

Engenharia de Software

Engenharia de Software UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 10 de Abril de 2018 Duração: 90 minutos Nome: Número: Este teste tem um conjunto de

Leia mais

Universidade Federal do Ceará Pós-Graduação em Modelagem e Métodos Quantitativos Mestrado Acadêmico na Área Interdisciplinar

Universidade Federal do Ceará Pós-Graduação em Modelagem e Métodos Quantitativos Mestrado Acadêmico na Área Interdisciplinar Universidade Federal do Ceará Pós-Graduação em Modelagem e Métodos Quantitativos Mestrado Acadêmico na Área Interdisciplinar Prova Escrita Pós-Graduação em Modelagem e Métodos Quantitativos Nome: Inscrição

Leia mais

Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre de 2003/2004 ISCTE

Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre de 2003/2004 ISCTE Recibo da (IGE e ETI), 2004/2/10 1º semestre de 2003/2004, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre

Leia mais

Critérios de Correcção. Informática

Critérios de Correcção. Informática Prova de Avaliação da Capacidade de Maiores de 23 anos para Frequência dos Cursos Superiores do IPCA Critérios de Correcção 2009/2010 Informática Duração: 2 h 00 m Sem consulta Data: 3 / 06 / 2009 Cotações:

Leia mais

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre Correção do º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 3 de Junho de 26, 2º Semestre. (2.) Perguntas de resposta rápida de Fortran (.4 valores cada).. Todos os componentes

Leia mais

1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de º Semestre

1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de º Semestre º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica de Junho de 6 º Semestre Exame sem consulta : 6: h Nome: Número: Escreva o seu número e nome em todas as folhas de exame. O exame

Leia mais

Inteligência Artificial Taguspark

Inteligência Artificial Taguspark Inteligência Artificial Taguspark Repescagem do Primeiro Teste 22 de Julho de 2006 9H00-10H30 Nome: Número: Este teste tem 7 perguntas e 12 páginas. Escreva o número em todas as páginas. Deve ter na mesa

Leia mais

PROVA Duração da prova: 120 minutos. Grupo 1 - Três questões de resposta múltipla de matemática.

PROVA Duração da prova: 120 minutos. Grupo 1 - Três questões de resposta múltipla de matemática. Página 1 de 8 Provas especialmente adequadas destinadas a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 113/2014, de 16 de julho AVALIAÇÃO DA CAPACIDADE

Leia mais

Aula prática 5. Funções Recursivas

Aula prática 5. Funções Recursivas Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário

Leia mais

AVALIAÇÃO DA CAPACIDADE PARA A FREQUÊNCIA DO CURSO DE LICENCIATURA EM ENGENHARIA ELETRÓNICA E TELECOMUNICAÇÕES E DE COMPUTADORES

AVALIAÇÃO DA CAPACIDADE PARA A FREQUÊNCIA DO CURSO DE LICENCIATURA EM ENGENHARIA ELETRÓNICA E TELECOMUNICAÇÕES E DE COMPUTADORES Página 1 de 12 Prova especialmente adequada destinada a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 64/2006, de 21 de março Prova de ingresso escrita

Leia mais

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013 Linguagem Haskell Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação Tiago Carneiro 19 Agosto 2013 1 1 Linguagem Haskell Linguagem de programação funcional É um paradigma de programação

Leia mais

Engenharia de Software

Engenharia de Software UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 2 o Teste, 8 de Junho de 2016 Nome: Número: Este teste tem um conjunto de 10 perguntas de escolha

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO PROCURA E PLANEAMENTO Primeiro Exame 31 de Janeiro de 2006 17:00-19:00 Este exame é composto por 12 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.

Leia mais

Encriptação de Mensagens

Encriptação de Mensagens Instituto Superior Técnico Fundamentos da Programação 2016/2017 Enunciado do 1 o Projecto Data de entrega: 4 de Novembro de 2016 às 23h59 Encriptação de Mensagens Pretende-se com este trabalho a implementação

Leia mais

Inteligência Artificial

Inteligência Artificial Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Guia de Exercícios das Aulas Práticas Inteligência Artificial Prof Joaquim Filipe Eng. Adelaide

Leia mais

Exercícios para Fundamentos da Programação

Exercícios para Fundamentos da Programação Exercícios para Fundamentos da Programação Fausto Almeida, Cláudia Antunes, Ana Cardoso-Cachopo, Pedro Amaro de Matos, Francisco Saraiva de Melo Departamento de Engenharia Informática Instituto Superior

Leia mais

Dados compostos. Paradigma de Programação Funcional. Marco A L Barbosa

Dados compostos. Paradigma de Programação Funcional. Marco A L Barbosa Dados compostos Paradigma de Programação Funcional Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Estruturas

Leia mais

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem: Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,

Leia mais

PROVA ESPECÍFICA MODELO. Duração da prova: 120 minutos

PROVA ESPECÍFICA MODELO. Duração da prova: 120 minutos Página 1 de 10 Provas especialmente adequadas destinadas a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 64/2006, de 21 de Março AVALIAÇÃO DA CAPACIDADE

Leia mais

PROVA MODELO Duração da prova: 120 minutos

PROVA MODELO Duração da prova: 120 minutos Página 1 de 10 Provas especialmente adequadas destinadas a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 64/2006, de 21 de Março AVALIAÇÃO DA CAPACIDADE

Leia mais

Computação e Programação Exame Época de recurso

Computação e Programação Exame Época de recurso Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v

Leia mais

Programação e Computação para Arquitectura 2015/2016

Programação e Computação para Arquitectura 2015/2016 Instituto Superior Técnico Programação e Computação para Arquitectura 2015/2016 Segundo Teste 12/01/2016 Nome: Número: Escreva o seu número em todas as folhas da prova. O tamanho das respostas deve ser

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO PROCURA E PLANEAMENTO Primeiro Exame 12 de Janeiro de 2006 17:00-19:00 Este exame é composto por 13 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.

Leia mais

PROVA Duração da prova: 120 minutos

PROVA Duração da prova: 120 minutos Página 1 de 9 Provas especialmente adequadas destinadas a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 113/2014, de 16 de julho AVALIAÇÃO DA CAPACIDADE

Leia mais

Exame de Equivalência à Frequência 2011/2012 Escola Secundária da Ramada

Exame de Equivalência à Frequência 2011/2012 Escola Secundária da Ramada Exame de Equivalência à Frequência 2011/2012 Escola Secundária da Ramada Ensino Básico FÍSICO-QUÍMICA INFORMAÇÃO-EXAME Ciclo 3º Ciclo do Ensino Básico Legislação Dec. Lei n.º6/2001, de 18 de janeiro Data

Leia mais

a) Procurar um elemento em um vetor ordenado ou em um vetor não ordenado;

a) Procurar um elemento em um vetor ordenado ou em um vetor não ordenado; Universidade Federal do ABC Pós-Graduação em Ciência da Computação Prova de Seleção - Mestrado em Ciência da Computação Tabela 1: Notas 1 2 3 4 5 6 7 8 9 10 TOTAL NOME/RG :....................................................................................

Leia mais

Funcional IV: listas e funções de ordem superior

Funcional IV: listas e funções de ordem superior Funcional IV: listas e funções de ordem superior Profs. Diogo S. Mar ns e Emilio Francesquini {santana.mar ns,e.francesquini}@ufabc.edu.br MCTA016 - Paradigmas de Programação (Prá ca) 26 de junho de 2018

Leia mais

(a) Indique, em português, o que realiza a seguinte função. [4 pontos]

(a) Indique, em português, o que realiza a seguinte função. [4 pontos] Universidade Federal do ABC Avaliação: Prova 02 Disciplina: MCTA028 - Programação Estruturada Turma: Noturno - A1 Professor: Jesús P. Mena-Chalco Data: 01/12/2016 Nome completo: RA: Instruções para a prova

Leia mais

Inteligência Artificial

Inteligência Artificial Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Guia de Exercícios Complementares de Lisp Inteligência Artificial Prof Joaquim Filipe Eng.

Leia mais

So she went on, wondering more and more at every step, as everything turned into a tree the moment she came up to it.

So she went on, wondering more and more at every step, as everything turned into a tree the moment she came up to it. Capítulo 14 Árvores So she went on, wondering more and more at every step, as everything turned into a tree the moment she came up to it. Lewis Carroll, Through the Looking Glass A árvore é um tipo estruturado

Leia mais

Computação e Programação 201*/201* - 1º Semestre

Computação e Programação 201*/201* - 1º Semestre Computação e Programação 201*/201* - 1º Semestre Exame Tipo MEMec LEAN DURAÇÃO: 2h30min Leia com atenção os pontos que se seguem: Comece por IDENTIFICAR TODAS AS FOLHAS DO EXAME. Não desagrafe as folhas.

Leia mais

É neste ponto que entra o conceito de lógica de programação.

É neste ponto que entra o conceito de lógica de programação. AULA 01 OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO A lógica é a ciência do pensamento correto. Esta declaração não implica, contudo, em afirmar que ela seja a ciência da verdade.

Leia mais

Introdução à Programação Funcional. Conteúdo

Introdução à Programação Funcional. Conteúdo Introdução à Programação Funcional PPGIA - PUCPR Prof. Fabrício Enembreck 1 Conteúdo Introdução ao Cálculo Lambda e à Programação Funcional Introdução ao LISP e ao Common Lisp Funções Lambda e binding

Leia mais

Conceitos Básicos de Algoritmos

Conceitos Básicos de Algoritmos Conceitos Básicos de Algoritmos 35 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas

Leia mais

PROVA Duração da prova: 120 minutos

PROVA Duração da prova: 120 minutos Página 1 de 11 Prova escrita especialmente adequada destinada a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 64/2006, de 21 de março Prova de ingresso

Leia mais

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.

Leia mais

30 de setembro de 2015

30 de setembro de 2015 Página 1 / 6 Ficha de Avaliação Sumativa de Matemática A Colégio ACR de Fornelos - Ensino Secundário - 10.º Ano 6 Páginas Duração da Prova: 90 minutos 30 de setembro de 2015 Indique de forma legível a

Leia mais

AVALIAÇÃO DA CAPACIDADE PARA A FREQUÊNCIA DO CURSO DE LICENCIATURA EM

AVALIAÇÃO DA CAPACIDADE PARA A FREQUÊNCIA DO CURSO DE LICENCIATURA EM Página 1 de 11 Prova escrita especialmente adequada destinada a avaliar a capacidade para a frequência do ensino superior dos maiores de 23 anos, Decreto-Lei n.º 64/2006, de 21 de março Prova de ingresso

Leia mais

ÍNDICE. PREFÁCIO xv. 3 PROCESSOS GERADOS POR PROCEDIMENTOS Recursão Linear Cálculo de potências Cálculo de factoriais 91

ÍNDICE. PREFÁCIO xv. 3 PROCESSOS GERADOS POR PROCEDIMENTOS Recursão Linear Cálculo de potências Cálculo de factoriais 91 ÍNDICE PREFÁCIO xv 1 NOÇÕES BÁSICAS 1 1.1 Algoritmos 5 1.2 O Desenvolvimento de Programas 8 1.3 Programas em Scheme 11 1.3.1 Sintaxe e semântica 13 1.3.2 Construção de formas 15 1.4 Expressões 16 1.4.1

Leia mais

Conceitos de Linguagem de Programação - 2

Conceitos de Linguagem de Programação - 2 Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções

Pedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções Programação Funcional 3 a Aula Definição de funções Pedro Vasconcelos DCC/FCUP 2014 Definição de funções Podemos definir novas funções simples usando funções pré-definidas. minuscula :: Char -> Bool minuscula

Leia mais

Engenharia de Software

Engenharia de Software UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 4 de Abril de 2017 Duração: 90 minutos Nome: Número: Este teste tem um conjunto de 8

Leia mais

ANÁLISE MATEMÁTICA III A TESTE 1 10 DE OUTUBRO DE :10-16H. Duração: 50 minutos

ANÁLISE MATEMÁTICA III A TESTE 1 10 DE OUTUBRO DE :10-16H. Duração: 50 minutos Departamento de Matemática Secção de Álgebra e Análise Última actualização: 10/Out/2005 ANÁLISE MATEMÁTICA III A TESTE 1 10 DE OUTUBRO DE 2005 15:10-16H RESOLUÇÃO (As soluções aqui propostas não são únicas!)

Leia mais

Capítulo 4- Procedimentos como objectos de 1ª classe

Capítulo 4- Procedimentos como objectos de 1ª classe Capítulo 4- Procedimentos como objectos de 1ª classe Procedimentos com um número não fixo de argumentos Procedimentos como argumentos Procedimentos como valores de retorno Procedimentos como elementos

Leia mais

Universidade Federal de Juiz de Fora Departamento de Matemática

Universidade Federal de Juiz de Fora Departamento de Matemática Universidade Federal de Juiz de Fora Departamento de Matemática Cálculo I - Segunda Avaliação - Segundo Semestre Letivo de 2016-03/12/2016 - FILA A Aluno(a): Matrícula: Turma: Instruções Gerais: 1- A prova

Leia mais

Engenharia de Software

Engenharia de Software UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 4 de Abril de 2017 Duração: 90 minutos Nome: Número: Este teste tem um conjunto de 8

Leia mais

Expressões e Gramáticas Regulares e Autómatos Finitos

Expressões e Gramáticas Regulares e Autómatos Finitos Folha Prática Expressões e Gramáticas Regulares e Autómatos Finitos 1 Expressões e Gramáticas Regulares e Autómatos Finitos Expressões Regulares e Autómatos Finitos 1. Determine e implemente computacionalmente

Leia mais

Aula Prática 3. Paradigmas da Programação I / Programação Funcional. ESI/MCC 1 o ano (2005/2006)

Aula Prática 3. Paradigmas da Programação I / Programação Funcional. ESI/MCC 1 o ano (2005/2006) Aula Prática 3 Paradigmas da Programação I / Programação Funcional ESI/MCC 1 o ano (2005/2006) Nesta aula pretende-se que os alunos: consolidem os conceitos de expressão, tipo e redução; compreendam a

Leia mais