Fundamentos de Programação
|
|
- Júlia Neiva Casqueira
- 5 Há anos
- Visualizações:
Transcrição
1 Fundamentos de Programação Solução do Segundo Teste 23 de Janeiro de :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 da informação e anonimato da representação. A abstracção de dados consiste em separar a o modo como os dados são utilizados do modo como os dados são representados. Para isso definem-se camadas conceptuais lidando com cada um destes aspectos estando estas camadas separadas por "barreiras de abstracção" que definem o modo como os programas acima da barreira podem comunicar com os programas que se encontram abaixo da barreira. Idealmente, os programas que se encontram a um dado nível de abstracção contêm toda a informação necessária para lidar com um certo tipo de dados, a informação está encapsulada" dentro desta camada conceptual, e escondem das restantes partes do programa o modo como a informação está representada, o que é conhecido por anonimato da representação". 2. (1.0) Diga quais são as vantagens e os inconvenientes da programação imperativa. A vantagem da programação imperativa corresponde ao facto de esta permitir lidar com entidades que mudam ao longo do tempo. Por outro lado, a programação imperativa funciona através de efeitos o que pode esconder certas acções realizadas pelo programa e podendo afectar outras partes do programa. 3. (1.0) Diga quais são as fases por que passa o desenvolvimento de um programa e o que se faz em cada uma delas. (a) Análise do Problema. Determina exactamente o que tem de ser feito. (b) Desenvolvimento da Solução. Determina-se como deve ser feito, através do desenvolvimento de um algoritmo. (c) Programação da Solução. Corresponde à escrita do algoritmo desenvolvido recorrendo a uma linguagem de programação. (d) Testes. Corresponde a verificar se todos os programas em conjunto correspondem à solução desejada
2 Número: Pág. 2 de 7 (e) Manutenção. Consiste na verificação da possibilidade de alterações nas especificações do problema, e, no caso de alteração de especificações, na alteração correspondente do programa e na correcção dos eventuais erros descobertos durante o funcionamento do programa. 4. (1.0) O que é um enquadramento? Qual a restrição que lhe é imposta? Um enquadramento é constituído por um conjunto (possivelmente vazio) de ligações. Uma ligação associa um nome a um valor. Num enquadramento não podem existir duas ligações distintas para o mesmo nome. 5. (1.0) Diga o que é um ponteiro. Qual a característica que distingue um ponteiro dos outros tipos de informação? Um ponteiro é qualquer coisa que aponta. Ao passo que com a utilização de outros tipos de informação, estamos fundamentalmente interessados no valor da entidade, com ponteiros, não estamos interessados no valor do ponteiro, mas sim no valor para onde ele aponta. 6. (1.5) Usando a abstracção adequada, escreva o procedimento intercala que recebe duas listas, e devolve a lista que resulta de intercalar os elementos das duas listas. Se as listas não forem do mesmo tamanho, o que restar da lista maior deverá ser adicionado no fim. > (intercala (3 2 4) ( 3)) ( ) > (intercala (2 3) ( )) ( ) (define (intercala lst1 lst2) (cond ((lista-vazia? lst1) lst2) ((lista-vazia? lst2) lst1) (else (insere (primeiro lst1) (insere (primeiro lst2) (intercala (resto lst1) (resto lst2))))))) 7. Escreva um procedimento chamado conta-pares que recebe uma lista de números inteiros, e devolve o número de elementos da lista que correspondem a números pares. Por exemplo, > (conta-pares (4 5 6)) 2 > (conta-pares (3 5 7)) 0 (a) (1.5) Utilizando programação funcional e não recorrendo a procedimentos de ordem superior. Utilize a abstracção adequada.
3 Número: Pág. 3 de 7 (define (conta-pares lst) (cond ((lista-vazia? lst) 0) ((even? (primeiro lst)) (+ 1 (conta-pares (resto lst)))) (else (conta-pares (resto lst))))) (b) (1.0) Utilizando programação funcional e recorrendo aos procedimentos de ordem superior (funcionais sobre listas) filtra, transforma e acumula. (define (conta-pares lst) (acumula + (transforma (lambda (x) 1) (filtra even? lst)))) 8. (1.5) Considere o algoritmo de Euclides para calcular o máximo divisor comum entre dois inteiros: (1) o máximo divisor comum entre um número e zero é o próprio número; (2) quando dividimos um número por um menor, o máximo divisor comum entre o resto da divisão e o divisor é o mesmo que o máximo divisor comum entre o dividendo e o divisor. Usando programação imperativa e o ciclo apropriado, escreva um procedimento chamado mdc para calcular o máximo divisor comum entre dois números utilizando o algoritmo de Euclides. (define (mdc m n) (let ((aux 0)) (while (not (= n 0)) (set! aux n) (set! n (remainder m n)) (set! m aux)) m)) 9. (1.5) Usando o ciclo adequado, escreva um procedimento chamado algum-satisfaz-lista? que recebe uma lista e um predicado e devolve verdadeiro se algum dos elementos da lista satisfizer o predicado e falso em caso contrário. > (algum-satisfaz-lista? ( ) even?) #t > (algum-satisfaz-lista? ( ) (lambda (x) (> x 10))) #f (define (algum-satisfaz-lista? lst pred) (while (and (not (lista-vazia? lst)) (not (pred (primeiro lst)))) (set! lst (resto lst))) (not (lista-vazia? lst))) 10. (1.5) Escreva um procedimento chamado junta-vectores que recebe dois vectores, e devolve um novo vector que resulta de juntar o segundo vector ao final do primeiro.
4 Número: Pág. 4 de 7 > (junta-vectores (vector 3 2 4) (vector 3)) #( ) > (junta-vectores (vector) (vector 4 5 3)) #(4 5 3) (define (junta-vectores v1 v2) (let* ((comp1 (vector-length v1)) (comp2 (vector-length v2)) (novo (make-vector (+ comp1 comp2)))) (dotimes (i comp1) (vector-set! novo i (vector-ref v1 i))) (dotimes (i comp2) (vector-set! novo (+ i comp1) (vector-ref v2 i))) novo)) 11. Um acumulador é um procedimento que é chamado repetidamente com apenas um argumento numérico e acumula os seus argumentos numa soma. De cada vez que é chamado, retorna a soma acumulada até ao momento. O procedimento faz-acumulador gera acumuladores, cada um dos quais mantendo uma soma independente. O valor de entrada para o procedimento faz-acumulador deve especificar o valor inicial da soma. Por exemplo, > (define a (faz-acumulador 5)) > (a 10) 15 > (a 10) 25 (a) (1.5) Escreva o procedimento faz-acumulador. (define (faz-acumulador valor) (lambda (inc) (set! valor (+ valor inc)) valor)) (b) (1.5) Desenhe o diagrama de ambientes criado pela interacção acima.
5 Número: Pág. 5 de 7 Ambiente Global faz-acumulador: a: valor: E1 parâmetros: valor corpo: (lambda (inc) (set! valor (+ valor inc)) valor) parâmetros: inc corpo: (set! valor (+ valor inc)) valor inc: 10 E2 inc: 10 E3 12. Considere a seguinte interacção em Scheme: > (define (mcons 1 (mcons 2 null))) > (define (mcons 1 (mcons 2 null))) > (define (mcons 5 (mcdr ))) > (set-mcar! 5) (a) (1.0) Represente as estruturas resultantes. > (define (mcons 1 (mcons 2 null))) > (define (mcons 1 (mcons 2 null)))
6 Número: Pág. 6 de 7 > (define (mcons 5 (mcdr ))) 5 > (set-mcar! 5) (b) (1.0) Durante a avaliação das suas formas houve a criação de lixo? Justifique a sua resposta. Foi criado lixo correspondente aos pares a cinzento, visto estes não poderem ser acedidos de nenhuma das estruturas (1.5) Escreva um procedimento chamado rasto que recebe uma cadeia de caracteres correspondendo ao nome de um procedimento, e um procedimento de um argumento. O procedimento rasto devolve um procedimento de um argumento que escreve no écran (usando o procedimento primitivo display) a indicação de que o procedimento foi avaliado e o valor do seu argumento, escreve também o resultado do procedimento, e devolve o valor de aplicar o procedimento original ao argumento recebido. Por exemplo, partindo do princípio que o procedimento quadrado foi definido, podemos gerar a seguinte interacção:
7 Número: Pág. 7 de 7 > (define rasto-quadrado (rasto "quadrado" quadrado)) > (rasto-quadrado 4) Avaliação de quadrado, com o argumento 4 Resultado > (define (rasto nome proc) (lambda (x) (display "Avaliação de ") (display nome) (display ", com o argumento ") (display x) (newline) (let ((valor (proc x))) (display "Resultado ") (display valor) (newline) valor)))
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 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 maisFundamentos 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 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 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 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 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 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 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 maisExercí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 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 maisTipo 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 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 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 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 maisFundamentosde 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 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 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 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 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 maisPROGRAMAÇÃ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 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 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 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 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 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 maisConceitos 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 maisAnexo A. Resumo dos principais procedimentos do Scheme
Para processamento de booleanos Anexo A Resumo dos principais procedimentos do Scheme #f falso #t verdadeiro (boolean? x) se x for booleano, devolve #t se não, devolve #f (and x1 x2 x3...) calcula x1,
Leia maisFundamentos 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 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 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 maisLógica de Hoare. Abordagem que usaremos: aplicar o método de Hoare sobre uma linguagem de programação imperativa simplificada.
Lógica de Hoare Método axiomático para provar que determinados programas são corretos. Introduzido em 1969 por Charles Antony Richard Hoare. Também utilizado para especificar a semântica de linguagens
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 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 maisTextos de apoio às aulas práticas. Jaime Ramos, Francisco Miguel Dionísio
Computação e Programação Textos de apoio às aulas práticas Jaime Ramos, Francisco Miguel Dionísio DMIST, Dezembro de 2010 Parte I MATLAB 1 Capítulo 1 Exercícios preliminares 1. Defina a função conta divisores
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 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 maisPROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Leia maisTÉCNICO DE INFORMÁTICA - SISTEMAS
782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar
Leia maisCorreçã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 maisTrabalho de Programação Funcional Linguagem Scheme
Trabalho de Programação Funcional Linguagem Scheme Fábio Davanzo F. de Oliveira, Daniel C. Santos Bacharelado em Ciências da Computação quarta fase, 2002 Departamento de Informatica e Estatística (INE)
Leia maisComputaçã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 maisIntroduçã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 maisEXPRESSÕES ARITMÉTICAS PARTE 1
AULA 5 EXPRESSÕES ARITMÉTICAS PARTE 1 5.1 Operadores aritméticos Os operadores aritméticos definem as operações aritméticas que podem ser realizadas sobre os números inteiros e reais. Para os inteiros,
Leia maisProgramação Orientada a Objetos. Programação Funcional
Programação Orientada a Objetos Programação Funcional Cristiano Lehrer, M.Sc. Introdução (1/3) É uma categoria de linguagens não-imperativas. Imperativas: Uso eficiente das arquiteturas de computadores
Leia maisCapí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 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 maisEquações Diofantinas + = polinómios conhecidos polinómios desconhecidos
23 Considere-se a equação Equações Diofantinas polinómios conhecidos polinómios desconhecidos Há soluções? Quantas soluções há para uma dada equação? Em geral, a equação pode ser definida num anel (exs.
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 maisIntroduçã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 maisUSANDO 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 maisAlgoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação
1 Algoritmo Prof. Anderson Almeida Ferreira Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação Desenvolvimento de programas 2 Análise do problema Desenvolvimento
Leia maisINFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo LAÇOS Laços são comandos da linguagem
Leia maisINF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1
INF1005: Programação 1 Repetições 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Construção de Laços com while Algoritmos com Repetição Construção de Laços com for Repetição com Teste no Final 08/03/10
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 maisALGORITMOS E ESTRUTURA DE DADOS
ALGORITMOS E ESTRUTURA DE DADOS Algoritmos Tipos de Dados Prof. André Peixoto - Todo o trabalho realizado por um computador é baseado na manipulação dos dados/informações contidas em sua memória. Podemos
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 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 Complementares de Lisp Inteligência Artificial Prof Joaquim Filipe Eng.
Leia maisMatemática Discreta. Fundamentos e Conceitos da Teoria dos Números. Universidade do Estado de Mato Grosso. 4 de setembro de 2017
Matemática Discreta Fundamentos e Conceitos da Teoria dos Números Professora Dr. a Donizete Ritter Universidade do Estado de Mato Grosso 4 de setembro de 2017 Ritter, D. (UNEMAT) Matemática Discreta 4
Leia maisAnálise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema
Desenvolvimento de programas 1 Análise do problema 2 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Conhecer exatamente o que o problema
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 mais>>> concatena_strings_lista([ ola,, bom,, dia! ]) ola bom dia!
Capítulo 5 Listas 1. (2) Escreva uma função concatena_strings_lista que recebe uma lista de cadeias de caracteres, e devolve uma cadeia de caracteres que resulta de concatenar todos os elementos da lista.
Leia maisAlgoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição
Algoritmos e Lógica de Programação 6ª Lista de Exercícios Comandos de Repetição 1. Qual a saída do programa abaixo? int i; for (i = 0; i < 10; i += 2) printf("%d\n", i / 2); 2. Qual a saída do programa
Leia maisA resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?
23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas
Leia maisProgramação Funcional. Programação Funcional LISP. Paradigma de programação baseado em Funções Matemáticas
Programação Funcional Programação Funcional Paradigma de programação baseado em Funções Matemáticas Essência de Programação: combinar funções para obter outras mais poderosas PLP 2009/1 Profa. Heloisa
Leia maisDesenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa
Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema
Leia maisIntroduçã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 maisESTRUTURAS DE REPETIÇÃO - PARTE 1
AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a
Leia maisLinguagens de Programação. Programação Funcional. Carlos Bazilio
Linguagens de Programação Programação Funcional Carlos Bazilio carlosbazilio@puro.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Funções como Valores de 1a. Classe Atribuição a Variáveis a = f() g = f
Leia maisDesenvolvimento de programas
1 Desenvolvimento de programas Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração 2 Análise do problema Conhecer exatamente o que o problema
Leia maisSegunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA
Programação com Objectos 1/7 201302041830 120 minutos 2013/02/04 18:30 120 minutos Nome: Número: Primeira Parte (7 valores) PERGUNTA NOTA 1.1 1.2 1.3 1.4 Segunda Parte (3 valores) PERGUNTA RESPOSTA 2.1
Leia maisA resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?
23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas
Leia maisRacket Básico: Tipos e QuickCheck
Racket Básico: Tipos e QuickCheck Profs. Diogo S. Mar ns e Emilio Francesquini {santana.mar ns,e.francesquini}@ufabc.edu.br MCTA016 - Paradigmas de Programação (Prá ca) 12 de junho de 2018 Crédito de parte
Leia maisEquações Diofantinas + = polinómios conhecidos polinómios desconhecidos
24 Considere-se a equação Equações Diofantinas + = polinómios conhecidos polinómios desconhecidos Há soluções? Quantas soluções há para uma dada equação? Em geral, a equação pode ser definida num anel
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 maisOficina: Programação para Android com o App Inventor. Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim
Oficina: Programação para Android com o App Inventor Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim Desenvolver o quinto Item da lista (Programação) Testa uma
Leia maisComputaçã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 maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos
Leia maisPedro 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 maisProgramação Imperativa
03.prog.imp.nb 1 Programação Imperativa Nos exercícios que se seguem, as únicas funções primitivas sobre listas que deve utilizar são: First, Last, Rest, Append, Prepend, Length, [[.]] e{}. Cada exercício
Leia maisa) Defina uma função para obter o máximo entre dois números
IP, Resoluções comentadas, Semana 2 jrg, vs 002, Out-2012 a) Defina uma função para obter o máximo entre dois números A versão mais imediata talvez seja esta: public static int maior ( int a, int b ) {
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 07 Estruturas de Repetição Edirlei Soares de Lima Estruturas de Repetição Diversos problemas somente podem ser resolvidos numericamente por um computador
Leia maisCapítulo 3: Repetições. Pontifícia Universidade Católica Departamento de Informática
Capítulo 3: Repetições Pontifícia Universidade Católica Departamento de Informática Construção de Laços Repetição: Diversos problemas de difícil solução podem ser resolvidos numericamente por um computador
Leia maisListas em Haskell. Listas. Linguagem Haskell. Maria Adriana Vidigal de Lima. Faculdade de Computação - UFU. Setembro
em Haskell Linguagem Haskell Faculdade de Computação - UFU Setembro - 2009 em Haskell 1 em Haskell Noções sobre Construção de por Compreensão Funções Sobre Processamento de Fundamentos em Haskell Noções
Leia maisALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com PRÉ AULA algoritmo Cálculo detempo numero: inteiro escreva( Digite um número:
Leia maisTabelas Hash. Prof. Túlio Toffolo BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I
Tabelas Hash Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa
Leia maisLINGUAGEM DE PROGRAMAÇÃO
Técnico em Informática LINGUAGEM DE PROGRAMAÇÃO Profª Ana Paula anapaula_mandelli@hotmail.com Estruturas de Repetição Em muitos casos, o algoritmo solução para uma determinada classe de problemas, apresenta
Leia maisEndereçamento Aberto
Endereçamento Aberto ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 11/2008 Material baseado em slides
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 maisFolha 3.1. Grafos (não dirigidos)
Matemática para Ciência dos Computadores Outubro, 2005 Docente: n : n Folha 3.1 Grafos (não dirigidos) 1. (*) Seja V = {a, b, c, d, e, f, g} um conjunto de localidades e seja E = { a, b, a, f, b, e, b,
Leia maisMatemática Computacional - 2 o ano LEMat e MEQ
Instituto Superior Técnico Departamento de Matemática Secção de Matemática Aplicada e Análise Numérica Matemática Computacional - o ano LEMat e MEQ Exame/Teste - 5 de Fevereiro de - Parte I (h3m). Considere
Leia maisListas. CIC/UFRGS INF Fundamentos de Algoritmos 2006/1
Listas 1 Estruturas são apenas uma forma de representar informação composta. Elas são úteis quando sabemos exatamente como e por quantas partes um determinado dado é composto. Quando não sabemos ao certo
Leia maisCompiladores. Simão Melo de Sousa. Computer Science Department University of Beira Interior, Portugal. S. Melo de Sousa Compiladores
Compiladores Verificação e inferência dos Tipos Simão Melo de Sousa Computer Science Department University of Beira Interior, Portugal Problema Permitir evitar declarar o tipo das variáveis, das assinaturas
Leia maisProgramação Funcional
Programação Funcional Lucília Camarão de Figueiredo Universidade Federal de Ouro Preto lucilia@dcc.ufmg.br Aula 07: Funções de Ordem Superior 1 INTRODUÇÃO Uma função é chamada função de ordem superior
Leia maisPragmá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 maisParadigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I
Paradigmas Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I OO Simula-67, Smalltalk, C++, Eiffel, Object Pascal,
Leia maisINFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II
INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II Prof. Dr. Daniel Caetano 2018-2 Objetivos Apresentar, diferentes níveis de detalhamento de algoritmo Treinar a elaboração de algoritmos
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 maisProgramaçã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 maisInteligê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