Fundamentos da Programação
|
|
- Valdomiro Medina Leão
- 6 Há anos
- Visualizações:
Transcrição
1 Fundamentos da Programação Solução do Exame 1 de Fevereiro de :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 serão classificadas com zero valores. (a) (0.5) Abstração. Consiste em ignorar certos aspectos de uma entidade, considerando apenas os aspectos relevantes. (b) (0.5) Abstracção procedimental. Consiste em considerar o que um programa faz e ignorar o modo como o faz. (c) (0.5) Abstracção de dados. Consiste em considerar as propriedades de um tipo de dados, ignorando o modo como este é representado. 2. (1.0) Escreva uma função com o nome cinco que tem o valor True se o seu argumento for 5 e False no caso contrário. Não pode utilizar uma instrução if. def cinco(x): return x == 5 3. (1.0) Um número inteiro, n, diz-se triangular se existir um inteiro m tal que n = (m 1)+m. Escreva uma função chamada triangular que recebe um número inteiro positivo n, e cujo valor é True apenas se o número for triangular. No caso de n ser 0 deverá devolver False. Por exemplo, >>> triangular(6) True >>> triangular(8) False
2 Número: Pág. 2 de 9 def triangular (n): soma = 0 for i in range(1,n): soma = soma + i if soma == n: return True return False 4. Considere a seguinte gramática em notação BNF, cujo símbolo inicial é S : hsi ::= hai hbi hai ::= hxi hxi hai hbi ::= hyi hyi hbi hxi ::= A B C D hyi ::= (a) (0.5) Diga quais são os símbolos terminais e quais são os símbolos não terminais da gramática. Símbolos terminais: A, B, C, D, 1, 2, 3, 4 Símbolos não terminais: hsi, hai, hbi, hxi, hyi (b) (0.5) Descreva informalmente as frases que pertencem à linguagem. As frases da linguagem começam com um número arbitrários das letras A, B, C, D, por qualquer ordem, mas pelo menos uma delas, seguidas por um número arbritário dos números 1, 2, 3, 4, por qualquer ordem, mas pelo menos um deles. (c) (1.5) Escreva a função reconhece que recebe uma cadeia de caracteres e devolve True se o seu argumento corresponde a uma frase gerada pela gramática e False em caso contrário. A sua função deve verificar a correcção do argumento. def reconhece(frase): if not isinstance(frase, str): return False i = 0 comp = len(frase) while i < len(frase) and frase[i] in [ A, B, C, D ]: i = i + 1 if i == 0 or i == comp: return False for i in range(i, comp): if frase[i] not in [ 1, 2, 3, 4 ]: return False return True
3 Número: Pág. 3 de 9 5. (1.5) A congruência de Zeller é um algoritmo inventado pelo matemático alemão Julius Christian Zeller ( ) para calcular o dia da semana para qualquer dia do calendário. Para o nosso calendário, o calendário Gregoriano, a congruência de Zeller é dada por: h = q + 13(m + 1) + K + K + J J mod 7 em que h é o dia da semana (0 = Sábado, 1 = Domingo,...), q é o dia do mês, m é o mês (3 = março, 4 = abril,..., 14 = fevereiro) os meses de janeiro e fevereiro são contados comos os meses 13 e 14 do ano anterior, K é o ano do século (ano mod 100), J é o século (bano/100c). Esta expressão utiliza a função matemática, chão, denotada por bxc, a qual converte um número real x no maior número inteiro menor ou igual a x. A definição formal desta função é bxc = max {m 2 Z m apple x}. A expressão utiliza também a função módulo, em que a mod b representa o resto da divisão de a por b. Escreva uma função em Python, chamada dia_da_semana, que recebe três inteiros correspondentes a um dia, um mês e um ano e que devolve o dia da semana em que calha essa data. A sua função deve utilizar outras funções auxiliares a definir por si. Por exemplo, >>> dia_da_semana(1, 2, 2017) quarta def dia_da_semana(dia, mes, ano): if mes == 1 or mes == 2: mes = mes + 12 ano = ano - 1 K = ano % 100 J = ano//100 return converte((dia + 13*(mes+1)//5 + K + \ K//4 + J//4-2*J) % 7) def converte(d): dias = [ sabado, domingo, segunda, terca, quarta, quinta, sexta ] return dias[d] 6. (1.0) Escreva a função maior_elemento que recebe um tuplo contendo números inteiros, e devolve o maior elemento do tuplo. Por exemplo, >>> maior_elemento((2, 4, 23, 76, 3, -12)) 76 def maior_elemento(t): maior = t[0] for e in t: if e > maior: maior = e return maior
4 Número: Pág. 4 de 9 7. (1.0) Escreva a função e remove_repetidos que recebe uma lista e devolve a lista obtida da lista original em que todos os elementos repetidos foram removidos. Por exemplo, >>> remove_repetidos([2, 4, 3, 2, 2, 2, 3]) [2, 4, 3] >>> remove_repetidos([2, 5, 7]) [2, 5, 7] def remove_repetidos(lst): for i in range(len(lst)-1, 1, -1): if lst[i] in lst[0:i-1]: del(lst[i]) return lst 8. (1.0) Escreva a função recursiva com operações adiadas, soma_els_atomicos, que recebe como argumento um tuplo, cujos elementos podem ser outros tuplos, e que devolve a soma dos elementos correspondentes a tipos elementares de dados que existem no tuplo original. Não é necessário verificar os dados de entrada. Por exemplo, >>> soma_els_atomicos((3, ((((((6, (7, ))), ), ), ), ), 2, 1)) 19 >>> soma_els_atomicos(((((),),),)) 0 def soma_els_atomicos(t): if t == (): return 0 elif isinstance(t[0], tuple): return soma_els_atomicos(t[0]) + soma_els_atomicos(t[1:]) return t[0] + soma_els_atomicos(t[1:]) 9. (1.0) Escreva a função recursiva de cauda inverte que recebe uma lista contendo inteiros e devolve a lista com os mesmos elementos mas por ordem inversa. def inverte(lst): def inverte_aux(lst, res): if lst == []: return res return inverte_aux (lst[1:], [lst[0]] + res) return inverte_aux(lst, []) 10. Considere a seguinte função:
5 Número: Pág. 5 de 9 def misterio(x, n): if n == 0: return 0 return x * n + misterio(x, n - 1) (a) (0.5) Explique o que é calculado pela função misterio, de preferência, usando uma expressão matemática. nx x i i=1 (b) (0.5) Mostre a evolução do processo gerado pela avaliação de misterio(2, 3). misterio(2, 3) 6 + misterio(2, 2) 4 + misterio(2, 1) 2 + misterio(2, 0) (c) (0.5) De que tipo é o processo gerado pela função apresentada? Justifique. Processo recursivo linear pois existe uma fase de expansão e uma fase contracção e o número de chamadas à função varia linearmente com o segundo argumento da função. 11. (1.0) Escreva a função maior_inteiro que recebe um inteiro positivo e devolve o maior inteiro tal que n apple limite sendo o valor de limite o argumento da sua função. Por exemplo: >>> maior_inteiro(6) 3 >>> maior_inteiro(12) 4 def maior_inteiro(limite): soma = 0 i = 0 while soma <= limite: i = i + 1 soma = soma + i return i - 1
6 Número: Pág. 6 de (1.0) Utilizando os funcionais sobre listas (filtra, transforma, acumula) que considere necessários, escreva a função conta_pares, que recebe uma lista de inteiros, e devolve o número de elementos pares da lista. A sua função deve conter apenas uma instrução, a instrução return. Por exemplo: >>> conta_pares([1, 2, 3, 4, 5, 6]) 3 def conta_pares(lst): return len(filtra(lambda x: x % 2== 0, lst)) 13. (1.0) Escreva uma função em Python que recebe um dicionário cujos valores associados às chaves correspondem a listas de inteiros e que devolve o dicionário que se obtém invertendo o dicionário recebido, no qual as chaves são os inteiros que correspondem aos valores do dicionário original e os valores são as chaves do dicionário original às quais os valores estão associados. Por exemplo, >>> inverte_dic({ a : [1, 2], b : [1, 5], c : [9], d : [4]}) {1: [ a, b ], 2: [ a ], 4: [ d ], 5: [ b ], 9: [ c ]} def inverte_dic(d): res = {} for e in d: for v in d[e]: if v in res: res[v] = res[v] + [e] res[v] = [e] return res 14. (1.0) Os automóveis mais recentes mostram a distância que é possível percorrer até ser necessário um reabastecimento. Pretende-se criar esta funcionalidade em Python através da classe automovel. Esta classe é construída indicando a capacidade do depósito, a quantidade de combustível no depósito e o consumo do automóvel em litros aos 100 km. A classe automovel apresenta os seguintes métodos: combustivel devolve a quantidade de combustível no depósito; autonomia devolve o numero de Km que é possível percorrer com o combustível no depósito; abastece(n_litros) aumenta em n_litros o combustível no depósito. Se este abastecimento exceder a capacidade do depósito, gera um erro e não aumenta a quantidade de combustível no depósito; percorre(n_km) percorre n_km Km, desde que a quantidade de combustível no depósito o permita, em caso contrário gera um erro e o trajecto não é efectuado.
7 Número: Pág. 7 de 9 Por exemplo: >>> a1 = automovel(60, 10, 15) >>> a1.autonomia() 66 >>> a1.abastece(45) 366 Km até abastecimento >>> a1.percorre(150) 216 Km até abastecimento >>> a1.percorre(250) ValueError: Não tem autonomia para esta viagem class automovel: def init (self, cap_dep, quant_comb, consumo): self.cap_dep = cap_dep self.quant_comb = quant_comb self.consumo = consumo def combustivel(self): return self.quant_comb def autonomia(self): return round(100*self.quant_comb//self.consumo) def abastece(self, litros): if self.quant_comb + litros > self.cap_dep: raise ValueError ( Capacidade do depósito excedida ) self.quant_comb = self.quant_comb + litros return str(round(100*self.quant_comb//self.consumo)) + \ Km até abastecimento def percorre(self, km): comb_gasto = km * self.consumo / 100 if self.quant_comb - comb_gasto < 0: raise ValueError ( Não tem autonomia para esta viagem ) self.quant_comb = self.quant_comb - comb_gasto return str(round(100*self.quant_comb//self.consumo)) + \ Km até abstecimento 15. Considere o tipo abstrato carta, correspondente a uma carta de jogar, o qual é caraterizado por um naipe (espadas, copas, ouros e paus) e por um valor (A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K). A representação externa de uma carta corresponde a uma cadeia de caracteres contendo o naipe e o valor. Por exemplo, E10 éa representação externa do 10 de espadas. O tipo carta tem as seguintes operações básicas: Construtor: cria_carta : {E,C,O,P} {A, 2, 3, 4, 5, 6, 7, 8, 9, 10,J,Q,K} 7! carta cria_carta(n, v) tem como valor uma carta com naipe n e valor v.
8 Número: Pág. 8 de 9 Seletores: naipe : carta 7! {E,C,O,P} naipe(c) tem como valor naipe da carta c. valor : carta 7! {A, 2, 3, 4, 5, 6, 7, 8, 9, 10,J,Q,K} valor(c) tem como valor o valor da carta c. Reconhecedor: e_carta : universal 7! booleano e_carta(x) tem o valor verdadeiro, se x é uma carta e tem o valor falso, em caso contrário. (a) (1.0) Escolha uma representação para o tipo carta e, com base nessa representação, escreva as operações básica para este tipo, incluindo o transformador de saída. Uma carta será representada por um tuplo em que o primeiro elemento corresponde ao naipe (um elemento da lista [ E, C, O, P ]) e o segundo elemento corresponde ao valor (um elemento da lista [ A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K ]). def cria_carta(n, v): if n in ( E, C, O, P ) and \ v in ( A, 2, 3, 4, 5, 6, 7, 8, \ 9, 10, J, Q, K ): return (n, v) raise ValueError ( cria_carta: argumentos errados ) def naipe(c): return c[0] def valor(c): return c[1] def e_carta(x): return isinstance(x, tuple) and (len(x) == 2) and \ x[0] in ( E, C, O, P ) \ and x[1] in ( A, 2, 3, 4, 5, 6, 7, 8, 9, \ 10, J, Q, K ) def rep_carta(c): return c[0] + c[1] (b) (1.0) Usando o tipo carta, defina uma função que devolve uma lista em que cada elemento corresponde a uma carta de um baralho. def baralho(): b = [] for n in ( E, C, O, P ): for v in ( A, 2, 3, 4, 5, 6, 7, 8, \ 9, 10, J, Q, K ): b = b + [cria_carta(n, v)] return b
9 Número: Pág. 9 de 9 (c) (1.0) Usando o tipo carta e recorrendo à função random(), a qual produz um número aleatório no intervalo [0, 1[, escreva uma função, baralha, que recebe uma lista correspondente a um baralho de cartas e baralha aleatoriamente essas cartas, devolvendo a lista que corresponde às cartas baralhadas. SUGESTÃO: percorra sucessivamente as cartas do baralho trocando cada uma delas por uma outra carta selecionada aleatoriamente. Mostre as cartas utilizando a representação externa. Por exemplo >>> baralha(baralho()) [ O8, E3, CA, PA, E8, PQ, CJ, O2, O9, EJ, E2, C8, OJ, PJ, C2, O10,... ] def baralha(b): from random import random for i in range(len(b)): ni = int(random() * len(b)) b[i], b[ni] = b[ni], b[i] return transforma(rep_carta, b) def transforma(fn, lst): if lst == []: return lst return [fn(lst[0])] + transforma(fn, lst[1:])
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 maisFundamentos 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 maisFundamentos 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 maisFundamentos 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 maisFundamentos 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 maisFundamentos 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 maisFundamentos 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 maisif 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 maisFUNDAMENTOS 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 maisif 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 maisFundamentos 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 maisFundamentos 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 maisFundamentos 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 maisFundamentos 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 mais1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios:
Capítulo 8 Dicionários 1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios: l_nomes = [{ nome :{ nomep : Jose, apelido : Silva }, morada :{ rua : R. dos douradores,
Leia maisFUNDAMENTOS 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 maisFundamentos 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 maisFundamentos 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 maisFundamentos de Programação
Fundamentos de Programação Primeiro Teste 16 de Abril de 2011 09: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
Leia maisFundamentos 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 maisAbstração de dados. Capítulo 10
Capítulo 10 Abstração de dados 1. Suponha que desejava criar o tipo tempo em Python, caracterizado por um certo número de horas (um inteiro não negativo), minutos (um inteiro entre 0 e 59) e segundos (um
Leia maisFundamentos 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 mais1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios:
Capítulo 8 Dicionários 1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios: l_nomes = [{ nome :{ nomep : Jose, apelido : Silva }, morada :{ rua : R. dos douradores,
Leia maisFundamentos 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 mais2. 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 mais1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios:
Capítulo 8 Dicionários 1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios: l_nomes = [{ nome :{ nomep : Jose, apelido : Silva }, morada :{ rua : R. dos douradores,
Leia maisSo 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 maisarv_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 maisComputação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23
Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23 Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada
Leia maisTuplos e Ciclos Contados
Capítulo 4 Tuplos e Ciclos Contados 1. Diga o que é escrito por cada uma das seguintes instruções. Execute primeiro os ciclos manualmente e só depois use o computador para verificar os resultados. (a)
Leia maisProgramaçã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 maisProgramação com objectos
Capítulo 11 Programação com objectos Nos exercícios deste capítulo, deve validar os argumentos dos construtores, mas não deve validar os argumentos dos outros métodos, a não ser que isso seja pedido explicitamente.
Leia maisComputação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18
Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - 1/ 18 Considere que você precisa fazer uma função que guarde o nome e o telefone de seus amigos. Sua função também deve permitir a consulta
Leia maisEstruturaçã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 maisIntrodução à Programação Aula 18 Método de eliminação de Gauss
Introdução à Programação Aula 18 Método de eliminação de Gauss Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 18 Método de eliminação de Gauss 2015 1 / 23 Nesta
Leia maisProgramação I Aula 3 Primeiros programas
Programação I Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 1 / 23 Nesta aula... 1 Tipos básicos 2 Variáveis e atribuições
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 3: Primeiros Programas Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Tipos básicos 2. Variáveis e atribuições 3. Programas
Leia maisFunções. Capítulo (2) Considere a seguinte interacção em Python: >>> def f1(x):... return x * x... >>> f1(5) 25 >>> f2 = f1 >>>
Capítulo 3 Funções 1. (2) Considere a seguinte interacção em Python: def f1(x): return x * x f1(5) 25 f2 = f1 (a) Qual o valor retornado pela chamada f2(5)? Justifique a sua resposta. (b) Suponha que agora
Leia maisIntrodução à Programação Aula 3 Primeiros programas
Introdução à Programação Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 3 Primeiros programas 2015 1 / 23 Nesta aula... 1 Tipos básicos
Leia maisComputação 2. Aula 8 Teórica professor: Leonardo Carvalho
Computação 2 Aula 8 Teórica professor: Leonardo Carvalho Exercício Escreva uma função que recebe uma lista L de valores inteiros e retorna uma lista contendo o triplo de cada valor em L. def triplos(l):
Leia maisComputação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10
Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10 Estrutura de Repetição while Estrutura que permite a repetição de um conjunto de comandos. Até o momento vimos o while: while
Leia maisMCG114 Programação de Computadores I. Comandos de condição 3/26/18. Comando if. Comando if. Até agora... Comandos de Condição! Comandos de Condição
3/26/18 MCG114 Programação de Computadores I Profa. Comandos de condição 20:32:09 1 2 Até agora... Todos os programas têm fluxo de execução único As instruções que serão executadas são sempre as mesmas,
Leia maisEstrutura de Dados. Diego Silveira Costa Nascimento
Estrutura de Dados Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 31 de agosto de 2017 Ementa do Curso 1 Introdução
Leia maisFundamentos 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 maisMAC2166 Introdução à Computação
Departamento de Ciência da Computação IME USP MAC2166 Introdução à Computação Escola Politécnica Primeiro Semestre de 2015 Prova Substitutiva QUESTÃO 1 Esta questão consiste na implementação de duas funções
Leia maisTipos de Dados e Variáveis
Tipos de Dados e Variáveis Universidade dos Açores Departamento de Matemática www.uac.pt/~hguerra!! Existem dois conceitos fundamentais na computação:!! Algoritmo "! sequencia de instruções para resolução
Leia maisComputação 1. Aula 10 Teórica professor: Leonardo Carvalho
Computação 1 Aula 10 Teórica professor: Leonardo Carvalho Problema Como escrever a função exibe_ate, para obter o resultado abaixo: frase1 = 'Percebe ivair a petulancia do cavalo' frase2 = 'Elementar meu
Leia maisLinguagens de Programação Aula 14
Linguagens de Programação Aula 14 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Linguagem Haskell Funções Tipos básicos Expressões 2 Na aula de hoje Linguagem Haskell Listas 3 Listas e Tuplas
Leia maisComputação 1 - Python Aula 7 - Teórica Estrutura de Repetição com Teste de Parada: while. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18
Computação 1 - Python Aula 7 - Teórica Estrutura de Repetição com Teste de Parada: while 1/ 18 Permite que o programador especifique que a função deve repetir um conjunto de comandos enquanto uma dada
Leia maisOs elementos da programação
Os elementos da programação Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisExercí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 maisDURAÇÃO DA PROVA: 2 horas
MAC2166 Introdução à Computação Grande Áreas Civil, Mecânica, Petróleo e Química Escola Politécnica Terceira Prova 21 de junho de 2016 Nome: Assinatura: N o USP: Turma: Professor: Instruções: 1. Não destaque
Leia maisProgramação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP
Programação I Aula 19 Aritmética com racionais DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Aritmética com racionais 2 Simplificação 3 Operações 4 Comparações DCC/FCUP 2019 2/ 30 Aritmética com racionais
Leia maisLinguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings
Processamento Estatístico da Linguagem Natural Aula 7 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Linguagem Python Introdução Características de Python Rodando
Leia maisInteligê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 maisProcessamento da Informação Teoria. Laços aninhados
Processamento da Informação Teoria Laços aninhados Semana 03 Prof. Jesús P. Mena-Chalco 10/05/2013 Uma possível solução da lista 02... Questão 1: Crie uma função que permita somar apenas os números impares
Leia maisVetores. Introdução à Programação para Biologia Molecular
Vetores Introdução à Programação para Biologia Molecular Rosane Minghim Apoio na confecção: Danilo Medeiros Eler Rogério Eduardo Garcia Renato Rodrigues Carlos E. A. Zampieri Baseado na Apostila: Curso
Leia maisFundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim
Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Primeira Parte 1 Nim Nim é um jogo de estratégia matemática, que pode ser jogado casualmente usando um conjunto de objectos dispostos
Leia maisExercí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 maisTrabalho Prático Data de Entrega : 30 de Maio
Escola Superior de Tecnologia / Instituto Politécnico de Setúbal Algoritmos e Tipos Abstractos de Informação 2005/2006 Trabalho Prático Data de Entrega : 30 de Maio O problema Pretende-se realizar um jogo
Leia maisNotas sobre Definições Recursivas
Notas sobre Definições Recursivas Anjolina Grisi de Oliveira Centro de Informática Universidade Federal de Pernambuco CIn-UFPE Introdução A torre de Hanói Jogo antigo inventado pelo matemético francês
Leia maisIntrodução à Computação - aulas 01 e 02 -
MAC2166 Introdução à Computação - aulas 01 e 02 - Mauro Cesar Bernardes 25/Fevereiro/2014 Agenda Instalação do Python Python Shell Variáveis Operadores relacionais Operadores numéricos Comando de saída
Leia maisLewis Carroll, Through the Looking Glass
Capítulo 9 Funções revisitadas When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. The question is, said Alice, whether you can
Leia maisExercícios da cadeira de Inteligência Artificial. Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos
Exercícios da cadeira de Inteligência Artificial Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos Ano Lectivo 2001/2002 1 Prefácio Este documento reúne os exercícios
Leia maisProcessamento da Informação
Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Tipos Padrões 2. Variáveis Auxiliares 3. Condicionais 1 Tipos Padrões Tipos Padrões A linguagem Python fornece
Leia maisAula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias
SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes
Leia maisComputação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28
Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28 Tipos de Dados Dados Numéricos Números Inteiros: Int/Long Ponto Flutuante: Float Números Complexos: Complex
Leia maisPython para quem sabe Python
Python para quem sabe Python Turma 1: 3ª/5ª 21h-23h (29/11; 1,6,8,13,15/12) Primeiras turmas Agradeço a confiança, mesmo! Satisfação garantida Estou sempre à disposição E-mail: luciano@ramalho.org Cel:
Leia maisProf. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Operações básicas + - / * ** ou pow(a,b) % = ==,!=, , = or, and, not Valor dos operadores 10/3 10.0/3 10/3.0 10%3
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo
Leia maisMódulo: PYTHON. Felipe Oliveira
Módulo: PYTHON Felipe Oliveira Tudo Blzinha? https://pip.pypa.io/en/stable/installing/ Ctrl + S Variáveis Palavras reservadas! Operadores Aritméticos Operadores básicos Operação Operador adição +
Leia maisAula 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 maisTCC 00308: Programação de Computadores I Introdução
TCC 00308: Programação de Computadores I 2017.1 Introdução Processo de resolução de problemas Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos especiais Saídas Desenvolvimento
Leia maisProva Final de Linguagens de Programação - DCC024B - Sistemas de Informação
Prova Final de Linguagens de Programação - DCC024B - Sistemas de Informação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem consulta.
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2014/2015
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2014/2015 Programação em C 15/01/2015 Resolução 1. Descreva, em Português, cada uma das seguintes declarações em C: 1.1. char str[512]; Array
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA DISCUSSÃO DOS EXERCÍCIOS E EXERCÍCIOS EXTRAS
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA DISCUSSÃO DOS EXERCÍCIOS E EXERCÍCIOS EXTRAS Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 Discussão dos Exercícios 2 Exercícios Extras Material de Estudo Material
Leia maisUniversidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número
Leia mais01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.
Engenharia de Controle e Automação Programação I Prof. Ricardo Sobjak ricardo.sobjak@ifsc.edu.br Tipos de dados Numéricos Alfanuméricos Lógicos Tipos de dados Os tipos de dados primitivos ou básicos são
Leia maisEstruturas de Dados em Python
Estruturas de Dados em Python Carlos Camarão de Março de 7 Introdução Na segunda parte do curso vamos aprender a programar com estruturas (ou coleções) de dados, em Python. Python é uma linguagem orientada
Leia maisFundamentos da Programação. Ano lectivo Segundo Projeto. Picross
Fundamentos da Programação Ano lectivo 205-6 Segundo Projeto Picross O jogo Picross é um quebra-cabeças sobre uma imagem binária, em que as células de uma grelha devem ser coloridas ou deixadas em branco
Leia maisAbaixo iremos pormenorizar cada um de seus atributos:
1 PYTHON Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. A linguagem foi projetada com a filosofia
Leia maisACH5531 Introdução à Computação Estruturas de repetição
ACH5531 Introdução à Computação Estruturas de repetição Prof. Dr. Grzegorz Kowal grzegorz.kowal@usp.br https://sites.google.com/usp.br/ach5531 1 o sem 2019 sexta-feira, 14h00-15h45 CB, Bloco 3, 2 o andar,
Leia maisProva Final de Linguagens de Programação - DCC024 - Sistemas de Informação
Prova Final de Linguagens de Programação - DCC024 - Sistemas de Informação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem consulta.
Leia maisMATEMÁTICA I. Profa. Dra. Amanda L. P. M. Perticarrari
MATEMÁTICA I Profa. Dra. Amanda L. P. M. Perticarrari amanda.perticarrari@unesp.br www.fcav.unesp.br/amanda MATEMÁTICA I AULA 1: PRÉ-CÁLCULO Profa. Dra. Amanda L. P. M. Perticarrari CONJUNTOS NUMÉRICOS
Leia maisComputação 1 - Python Aula 9 - Teórica: Interferindo no fluxo de repetição: Break e Continue Laços Aninhados
Computação 1 - Python Aula 9 - Teórica: Interferindo no fluxo de repetição: Break e Continue Laços Aninhados 1/ 14 break e continue : Comandos que permitem alterar o fluxo da estrutura de repetição. #
Leia maisPython - Variáveis e expressões
Python - e expressões Prof. Paulo H R Gabriel (com base no material do Prof. André Backes) Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador
Leia maisTópicos de Matemática Elementar
Tópicos de Matemática Elementar 2 a série de exercícios 2004/05. A seguinte prova por indução parece correcta, mas para n = 6 o lado esquerdo é igual a 2 + 6 + 2 + 20 + 30 = 5 6, enquanto o direito é igual
Leia mais1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores
Nesta aula... Conteúdo 1 Expressões, valores e tipos 1 2 Variáveis e atribuições 5 1 Expressões, valores e tipos Expressões e valores Tipos programas calculam expressões para produzir valores cálculo de
Leia maisNúmeros Inteiros Algoritmo da Divisão e suas Aplicações
Números Inteiros Algoritmo da Divisão e suas Aplicações Diferentemente dos números reais (R), o conjunto dos inteiros (Z) não é fechado para a divisão. Esse não-fechamento faz com que a divisão entre inteiros
Leia maisSub-algoritmos (ou Funções)
Sub-algoritmos (ou Funções) Quando se deseja fazer um algoritmo cujo processo é composta por diversas etapas, costuma-se dividir o algoritmo em partes, cada uma realizando uma determinada função Cada uma
Leia maisEstruturas de Dados Pilhas, Filas, Listas
Estruturas de Dados Pilhas, Filas, Listas Fabio Gagliardi Cozman Thiago Martins PMR3201 Escola Politécnica da Universidade de São Paulo Estruturas de Dados Pilhas, Filas, Listas Introdução Estruturas de
Leia maisESCOLA SECUNDÁRIA COM 3º CICLO D. DINIS COIMBRA 12º ANO DE ESCOLARIDADE MATEMÁTICA A FICHA DE AVALIAÇÃO 12º A1 Grupo I
ESCOLA SECUNDÁRIA COM 3º CICLO D. DINIS COIMBRA 1º ANO DE ESCOLARIDADE MATEMÁTICA A FICHA DE AVALIAÇÃO 1º A1 Grupo I As cinco questões deste grupo são de escolha múltipla. Para cada uma delas são indicadas
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisLinguagem C++ Estruturas de controle Parte II Estruturas de repetição
Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um
Leia mais2 Fluxogramas e Pseudocódigo. 18 Programação em C/C++ estrutura básica e conceitos fundamentais
2 Fluxogramas e Pseudocódigo 18 Programação em C/C++ estrutura básica e conceitos fundamentais 1 Algoritmos em linguagem informal e em linguagens formais Voltemos a considerar alguns algoritmos que traduzem
Leia maisCiclo 3 Encontro 2 PROBABILIDADE. Nível 3 PO: Márcio Reis 11º Programa de Iniciação Científica Jr.
1 Ciclo 3 Encontro 2 PROBABILIDADE Nível 3 PO: Márcio Reis 11º Programa de Iniciação Científica Jr. Probabilidade 2 Texto: Módulo Introdução à Probabilidade O que é probabilidade? parte 1 de Fabrício Siqueira
Leia maisdouble x; x = enigmab1(100);
8h Universidade Federal do ABC Avaliação: Prova 02 Disciplina: Processamento da Informação Turmas: A4, A5 (8hs) Professor: Jesús P. Mena-Chalco Data: 05/05/2016 Nome: RA: Instruções para a prova (leia
Leia maisLÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior
LÓGICA DE PROGRAMAÇÃO Algoritmos Computacionais Sérgio Carlos Portari Júnior portari.uemgfrutal@gmail.com Tópicos abordados Algoritmos Computacionais Estrutura de Dados Tipos Primitivos Constantes Variáveis
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 14: Deteção e correção de erros Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Erros sintáticos 2. Erros de execução 3. Erros
Leia mais