Programação imperativa

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

Download "Programação imperativa"

Transcrição

1 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 qual é a diferença entre o operador de atribuição e o operador de nomeação. 4. Diga quais são as vantagens e os inconvenientes da programação imperativa. 5. Diga o que é um efeito. Qual é o comportamento de um procedimento baseado em efeitos? 6. Quando é que se diz que um objecto tem estado? O que caracteriza o estado de um objecto? 7. Explique a diferença entre o método de passagem de parâmetros por valor e por referência. Explique estes dois métodos com exemplos em Scheme. 8.2 Exercícios de programação 1. (2) Diga o que é escrito pelo interpretador de Scheme ao avaliar cada uma das seguintes expressões. Suponha que as expressões são avaliadas pela ordem apresentada. Se a avaliação de uma expressão originar um erro, explique a razão do erro. (define x 5) (set! x "FP") (set! b 2) (vector x b 5 (* 3 2)) (define a 3) (set! a "ola") (+ a 1) a a 79

2 80 CAPÍTULO 8. PROGRAMAÇÃO IMPERATIVA Ciclos 1. (2) Utilizando programação imperativa e um ciclo apropriado, escreva um procedimento chamado potencia que recebe dois inteiros, x e n, e que devolve x n. 2. (2) 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. 3. (2) Utilizando programação imperativa e um ciclo apropriado, escreva um procedimento chamado raiz que calcula a raiz quadrada de um número positivo utilizando o algoritmo de Heron de Alexandria (ver a sua descrição nas páginas 66 a 70 do livro). 4. (2) Considere o procedimento somatorio apresentado na Página 204 do livro: (define (somatorio calc-termo lim-inf proximo lim-sup) (if (> lim-inf lim-sup) 0 (+ (calc-termo lim-inf) (somatorio calc-termo (proximo lim-inf) proximo lim-sup)))) Escreva este procedimento utilizando programação imperativa e um ciclo apropriado Listas 1. (2) Usando o ciclo mais adequado, escreva um procedimento cria-lista-inteiros que recebe um número inteiro positivo n e devolve uma lista com os números inteiros entre 0 e n. > (cria-lista-inteiros 5) ( ) 2. (2) Usando o ciclo mais adequado, escreva um procedimento soma-elementos-lista que recebe uma lista de números e devolve a soma dos elementos da lista. > (soma-elementos-lista ( )) 3 3. (2) Usando o ciclo mais adequado, escreva um procedimento algum-satisfaz-lista que recebe uma lista e um predicado e devolve verdadeiro de algum dos elementos da lista satisfizer o predicado e falso em caso contrário.

3 8.2. EXERCÍCIOS DE PROGRAMAÇÃO 81 > (algum-satisfaz-lista ( ) even?) > (algum-satisfaz-lista ( ) (lambda (x) (> x 10))) 4. (2) Usando o ciclo mais adequado, escreva um procedimento quantos-satisfazem-lista que recebe uma lista e um predicado e devolve o número de elementos da lista que satisfazem o predicado. > (quantos-satisfazem-lista ( ) even?) 3 > (quantos-satisfazem-lista ( ) (lambda (x) (> x 10))) 0 5. (2) Usando o ciclo mais adequado, escreva um procedimento aplica-proc-lista que recebe uma lista e um procedimento e devolve uma lista que resulta de aplicar o procedimento a cada um dos elementos da lista original. > (aplica-proc-lista ( ) sqr) ( ) > (aplica-proc-lista ( ) (lambda (x) (> x 10))) ( ) 6. (2) Usando o ciclo mais adequado, escreva um procedimento escolhe-pred-lista que recebe uma lista e um predicado e devolve uma lista que contém os elementos da lista original que satisfazem o predicado. > (escolhe-pred-lista ( ) odd?) (1 3 5) > (escolhe-pred-lista ( ) (lambda (x) (> x 10))) () vectores 1. (2) Escreva um procedimento produto-vector que recebe um vector e devolve o produto de todos os elementos do vector. > (produto-vector (vector 4 5 6)) 120 > (produto-vector (vector)) 1 2. (2) Escreva um procedimento de ordem superior chamado transforma-vector! que recebe como argumentos um vector e uma operação aplicável aos elementos do vector e que modifica destrutivamente o vector recebido, aplicando a operação a cada um dos elementos do vector original. Por exemplo,

4 82 CAPÍTULO 8. PROGRAMAÇÃO IMPERATIVA > (define v1 (vector )) > (escreve-vector v1) [ ] > (transforma-vector! v1 (lambda (x)(/ x 2.0))) > (escreve-vector v1) [ ] (a) Utilize o ciclo do. (b) Utilize o ciclo dotimes. 3. (2) Utilizando o procedimento transforma-vector!, escreva uma combinação que dado um vector altera destrutivamente o vector original de modo a que cada posição passe a ter o quadrado do elemento que estava nessa posição do vector original. 4. (2) Escreva um procedimento conta-pares-vector que recebe um vector e devolve o número de elementos pares no vector. > (conta-pares-vector (vector 4 5 6)) 2 > (conta-pares-vector (vector 3 5 7)) 0 5. (2) Escreva um procedimento numero-ocorrencias-vector que recebe um vector e um número, e devolve o número de vezes que o número ocorre no vector. > (numero-ocorrencias-vector (vector 4 5 6) 5) 1 > (numero-ocorrencias-vector (vector 3 5 7) 2) 0 6. (2) Escreva um procedimento conta-vector que recebe um vector e um predicado unário, e devolve o número de elementos do vector que satisfazem o predicado. > (conta-vector (vector 4 5 6) (lambda(x) (> x 5))) 1 7. (2) Escreva os procedimentos dos exercícios 4 e 5 utilizando o procedimento conta-vector. 8. (2) Escreva um procedimento maximo-vector que recebe um vector não vazio de números e devolve o maior elemento do vector. > (maximo-vector (vector 4 5 6)) 6 > (maximo-vector (vector 7 3 6)) 7 9. (2) Escreva um procedimento todos-pares-vector? que recebe um vector e devolve verdadeiro se o vector for constituído exclusivamente por números pares e falso em caso contrário.

5 8.2. EXERCÍCIOS DE PROGRAMAÇÃO 83 > (todos-pares-vector? (vector 4 5 6)) > (todos-pares-vector? (vector 4 4 6)) 10. (2) Escreva um procedimento todos-vector? que recebe um vector e um predicado unário, e devolve verdadeiro caso todos os elementos do vector satisfaçam o predicado e falso em caso contrário. > (todos-vector? (vector 4 5 6) (lambda(x) (> x 5))) > (todos-vector? (vector 4 5 6) (lambda(x) (>= x 4))) 11. (2) Escreva o procedimento do exercício 9 utilizando o procedimento todos-vector?. 12. (2) Escreva um procedimento ocorre-vector? que recebe um vector e um número, e devolve verdadeiro se o número ocorrer no vector e falso em caso contrário. > (ocorre-vector? (vector 3 2 4) 3) > (ocorre-vector? (vector 3 2 4) 1) 13. (2) Escreva um procedimento existe-vector? que recebe um vector e um predicado unário, e devolve verdadeiro caso exista um elemento do vector que satisfaça o predicado e falso em caso contrário. > (existe-vector? (vector 4 5 6) (lambda(x) (> x 5))) > (existe-vector? (vector 4 5 6) (lambda(x) (>= x 4))) 14. (2) Escreva o procedimento do exercício 12 utilizando o procedimento existe-vector?. 15. (2) Escreva um procedimento quadrados-vector! que recebe um vector, e altera destrutivamente o vector original de modo a que cada posição passe a ter o quadrado do elemento que estava nessa posição do vector original. > (quadrados-vector! (vector 3 2 4)) #(9 4 16) 16. (2) Escreva um procedimento substitui-vector! que recebe um vector, um número v e um número n, e altera destrutivamente o vector substituindo todas as ocorrências de v por n. > (substitui-vector! (vector ) 4 5) #( )

6 84 CAPÍTULO 8. PROGRAMAÇÃO IMPERATIVA 17. (2) Escreva um procedimento aplica-f-vector! que recebe um vector v e um procedimento unário f, e altera destrutivamente o vector original aplicando o procedimento a cada um dos elementos do vector. > (aplica-f-vector! (vector ) (lambda(x) (- x 1))) #( ) > (aplica-f-vector! (vector ) (lambda(x) (>= x 4))) #( ) 18. (2) Escreva os procedimentos dos exercícios 15 e 16 utilizando o procedimento aplica-f-vector!. 19. (2) Escreva um procedimento inverte-vector que recebe um vector, e devolve um novo vector que resulta de inverter o vector original. > (inverte (vector 3 2 4)) #(4 2 3) 20. (2) Escreva um procedimento vector-simetrico! que recebe como argumento um vector e que altera esse vector trocando os elementos nas posições simétricas em relação ao elemento que se encontra no centro do vector. > (vector-simetrico (vector 3 2 4)) #(4 2 3) 21. (2) Escreva um procedimento junta-vectores que recebe dois vectores, e devolve o vector que resulta de juntar o segundo vector ao final do primeiro. > (junta-vectores (vector 3 2 4) (vector 1 2 3)) #( ) > (junta-vectores (vector) (vector 4 5 3)) #(4 5 3) 22. (2) Escreva um procedimento selecciona-pares-vector que recebe um vector, e devolve o vector com todos os números pares do vector original. > (selecciona-pares-vector (vector )) #(4 2 4) > (selecciona-pares-vector (vector 7 3 5)) #() 23. (2) Escreva um procedimento selecciona-menores-vector que recebe um vector e um número n, e devolve o vector com todos os números do vector original menores que n. > (selecciona-menores-vector (vector ) 4) #(3 2) > (selecciona-menores-vector (vector 7 3 5) 1) #()

7 8.2. EXERCÍCIOS DE PROGRAMAÇÃO (2) Escreva um procedimento selecciona-primos-vector que recebe um vector, e devolve o vector com todos os números primos do vector original. > (selecciona-primos-vector (vector )) #(3 2) > (selecciona-primos-vector (vector )) #() 25. (2) Escreva um procedimento remove-elemento-vector que recebe um vector e um número n, e devolve o vector que resulta de remover todas as ocorrências do número n do vector original. Sugestão: utilize o procedimento numero-ocorrencias-vector do exercício 5. > (remove-elemento-vector (vector ) 4) #(3 2) > (remove-elemento-vector (vector 7 3 5) 1) #(7 3 5) 26. (2) Escreva um procedimento filtra-vector que recebe um vector v e um predicado p, e devolve o vector que resulta de ficar com todos os elementos do vector v que satisfazem o predicado p. Sugestão: utilize o procedimento conta-vector definido no exercício 6. > (filtra-vector (vector ) (lambda(x) (< 1 x 4))) #(3 2) 27. (2) Escreva os procedimentos dos exercícios 22, 23, 24 e 25 utilizando o procedimento filtra-vector. 28. (2) Escreva um procedimento posicao-vector que recebe um vector e um número, e devolve a posição da primeira ocorrência desse número no vector. Caso o número não ocorra no vector deverá devolver falso. > (posicao-vector (vector ) 4) 0 > (posicao-vector (vector ) 1) 4 > (posicao-vector (vector ) 6) 29. (2) Escreva um procedimento posicoes-vector que recebe um vector e um número, e devolve a lista de todas as posições em que o número ocorre no vector. > (posicoes-vector (vector ) 4) (0 5) > (posicoes-vector (vector ) 6) ()

8 86 CAPÍTULO 8. PROGRAMAÇÃO IMPERATIVA 30. (2) Escreva um procedimento posicoes-dos-pares-vector que recebe um vector, e devolve a lista de todas as posições do vector em que ocorrem números pares. > (posicoes-dos-pares-vector (vector )) ( ) > (posicoes-dos-pares-vector (vector )) () 31. (2) Escreva um procedimento posicoes-p-vector que recebe um vector e um predicado, e devolve a lista de todas as posições em que o elemento do vector satisfaz o predicado. > (posicoes-p-vector (vector ) (lambda(x) (< x 3))) (2 3 4) > (posicoes-p-vector (vector ) (lambda(x) (> x 4))) () 32. (2) Escreva os procedimentos dos exercícios 29 e 30 utilizando o procedimento posicoes-p-vector. 33. (2) Escreva um procedimento ordenado-vector? que recebe um vector de números, e devolve verdadeiro se o vector estiver ordenado de forma crescente e falso em caso contrário. > (ordenado-vector? (vector )) > (ordenado-vector? (vector )) 34. (2) Escreva um procedimento capicua-vector? que recebe um vector, e devolve verdadeiro se o vector for uma capicua e falso em caso contrário. > (capicua-vector? (vector )) > (capicua-vector? (vector )) > (capicua-vector? (vector )) 35. (2) Escreva um procedimento remove-duplicados-vector que recebe um vector v, e devolve a lista que resulta de ficar apenas com a primeira cópia de cada elemento de v. > (remove-duplicados-vector (vector )) ( ) > (remove-duplicados-vector (vector )) ( ) 36. (2) Escreva um procedimento elementos-repetidos-vector que recebe um vector, e devolve a lista com uma cópia de cada elemento que aparece repetido no vector.

9 8.2. EXERCÍCIOS DE PROGRAMAÇÃO 87 > (elementos-repetidos-vector (vector )) (3 4) > (elementos-repetidos-vector (vector )) () 37. (2) Defina um procedimento aplica que recebe como argumentos um vector e uma função, e devolve o resultado de aplicar essa função à soma dos elementos do vector. 38. (2) Defina um procedimento aplica-talvez! que recebe como argumentos um vector, um elemento, e um procedimento de um argumento, e que altera destrutivamente cada elemento do vector que não seja igual ao elemento recebido para o resultado produzido pelo procedimento recebido aplicado ao elemento do vector. > (define v (vector )) > v #( ) > (aplica-talvez! v 3 sqr) > v #( ) 39. (2) Defina um procedimento ocorre-par que recebe um vector e um objecto e devolve verdadeiro se o vector contiver esse objecto um número par de vezes e falso em caso contrário. Considere que 0 é um número par. > (ocorre-par (vector ) 2) > (ocorre-par (vector ) 2) 40. (2) Defina um procedimento vector->lista que recebe um vector e devolve uma lista com todos os elementos do vector. Pode utilizar as operações primitivas de listas e vectores que achar necessárias. > (vector->lista (vector )) ( ) 41. (3) Um acumulador é um funcional que recebe como argumentos uma lista e uma operação aplicável aos elementos da lista, e aplica sucessivamente essa operação aos elementos da lista original, devolvendo o resultado da aplicação da operação a todos os elementos da lista, no caso de ela não ser vazia. Defina acumuladores não destrutivos para vectores e listas, nas versões recursivas e usando ciclos. 42. (3) O procedimento ocorre-vector? do exercício 12 tem que percorrer todos os elementos do vector no caso de estar a procurar um elemento que não existe no vector. (a) No caso de o elemento a procurar existir no vector, quantos elementos do vector, em média, serão percorridos?

10 88 CAPÍTULO 8. PROGRAMAÇÃO IMPERATIVA (b) Supondo que o vector está ordenado por ordem crescente, defina um nova versão do procedimento ocorre-vector? que efectua uma procura sequencial mas que não tenha que percorrer todos os elementos do vector quando o elemento a procurar não existe no vector. (c) Em média, quantos elementos do vector são percorridos quando o número não existe no vector? E quando existe? 43. (3) Sabendo que o vector está ordenado por ordem crescente, é possível realizar uma procura binária, que é mais eficiente que a procura sequencial do exercício anterior. Esta procura baseia-se no facto de que se compararmos o elemento a procurar com o elemento do meio do vector podemos obter um de três resultados diferentes: 1) os dois elementos são iguais, o que significa que encontrámos o elemento que procurávamos; 2) o elemento do meio é menor, o que significa que o elemento que procuramos, se existir, estará na metade do vector com índices maiores; 3) o elemento do meio é maior, o que significa que o elemento que procuramos, se existir, estará na metade do vector com índices menores. Defina o procedimento procura-binaria-vector que realiza uma procura binária num vector. Qual a ordem de crescimento deste procedimento?

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

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

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

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

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

Textos de apoio às aulas práticas. Jaime Ramos, Francisco Miguel Dionísio

Textos 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

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 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

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

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

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

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

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

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

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 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 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

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

Algoritmos 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 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 mais

Fundamentos de Programação

Fundamentos 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 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 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

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 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 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

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

a) Defina uma função para obter o máximo entre dois números

a) 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 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

Elementos Básicos de Programação

Elementos Básicos de Programação Capítulo 2 Elementos Básicos de Programação 1. Escreva um programa em Python que pede ao utilizador que lhe forneça dois números (x e y) equeescreveovalorde(x + 3 * y) * (x - y). Oseuprogramadevegerarumainteraçãocomoaseguinte:

Leia mais

Lista de Exercícios Estrutura de Repetição

Lista de Exercícios Estrutura de Repetição Universidade Federal Fluminense Instituto de Computação Programação de Computadores III Luciana Brugiolo Gonçalves Lista de Exercícios Estrutura de Repetição E15. Desenvolva um algoritmo para exibir todos

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2

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

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Programação MIEA 1º Semestre Frequência Resolução 13/12/2016 1. Escreva uma expressão lógica em linguagem C para cada uma das seguintes condições: (a) o valor da variável

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

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

SCC Capítulo 2 Recursão

SCC Capítulo 2 Recursão SCC-501 - Capítulo 2 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis

Leia mais

Interpretador Hall - Calculando o MDC

Interpretador Hall - Calculando o MDC Interpretador Hall - Calculando o MDC Veja no exemplo abaixo um algoritmo para se calcular o MDC (Maior Divisor Comum) entre dois números inteiros e positivos. O algoritmo implementa o método de Euclides

Leia mais

>>> concatena_strings_lista([ ola,, bom,, dia! ]) ola bom dia!

>>> 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 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

Elementos Básicos de Programação

Elementos Básicos de Programação Capítulo 2 Elementos Básicos de Programação 1. Escreva um programa em Python que pede ao utilizador que lhe forneça dois números (x e y) equeescreveovalorde(x + 3 * y) * (x - y). Oseuprogramadevegerarumainteraçãocomoaseguinte:

Leia mais

6. Pesquisa e Ordenação

6. Pesquisa e Ordenação 6. Pesquisa e Ordenação Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 1 / 30 Pesquisa de Informação A pesquisa eficiente de informação

Leia mais

Lista de Exercício de Linguagens de Programação Prog. Funcional

Lista de Exercício de Linguagens de Programação Prog. Funcional UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE CIÊNCIA E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO Lista de Exercício de Linguagens de Programação Prog. Funcional 1) Construa uma função del_posicao_n ::

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

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

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 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 mais

Algoritmia e Programação

Algoritmia e Programação Algoritmia e Programação Conteúdo Pesquisa em Vectores Apresentação e discussão de vários algoritmos de pesquisa. Pesquisa linear ou sequencial Pesquisa binária Ordenação de Vectores Exemplos de aplicação

Leia mais

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.

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

Números Primos, Fatores Primos, MDC e MMC

Números Primos, Fatores Primos, MDC e MMC Números primos são os números naturais que têm apenas dois divisores diferentes: o 1 e ele mesmo. 1) 2 tem apenas os divisores 1 e 2, portanto 2 é um número primo. 2) 17 tem apenas os divisores 1 e 17,

Leia mais

Exercícios: Recursão

Exercícios: Recursão Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Recursão 1. Faça uma função recursiva que calcule e retorne o fatorial

Leia mais

Algoritmo de Euclides Estendido, Relação de Bézout e Equações Diofantinas. Tópicos Adicionais

Algoritmo de Euclides Estendido, Relação de Bézout e Equações Diofantinas. Tópicos Adicionais Algoritmo de Euclides Estendido, Relação de Bézout e Equações Diofantinas Relação de Bézout e Aplicações Tópicos Adicionais Algoritmo de Euclides Estendido, Relação de Bézout e Equações Diofantinas Relação

Leia mais

Cap Escrever uma função que aceite como parâmetro um número inteiro e retorne o número que corresponde a trocar os dígitos do parâmetro (por exe

Cap Escrever uma função que aceite como parâmetro um número inteiro e retorne o número que corresponde a trocar os dígitos do parâmetro (por exe Cap 1 - Escreva um programa que leia um número real e escreva, separadamente, a sua parte inteira e a sua parte fraccionária. - Escreva um programa que leia um número real e positivo e o converta para

Leia mais

Técnicas de projeto de algoritmos: Indução

Técnicas de projeto de algoritmos: Indução Técnicas de projeto de algoritmos: Indução 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 08/2008

Leia mais

Exercícios de Teoria da Computação Computabilidade

Exercícios de Teoria da Computação Computabilidade Licenciatura em Engenharia Informática e de Computadores - LEIC Licenciatura em Engenharia de Redes de Computadores -LERC Exercícios de Teoria da Computação Computabilidade Secção de Lógica e Computação

Leia mais

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Revisão Tipos escalares primitivos Tipos constituídos de uma linguagem Ponteiros Alocação estática versus

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

MATEMÁTICA 1 MÓDULO 2. Divisibilidade. Professor Matheus Secco

MATEMÁTICA 1 MÓDULO 2. Divisibilidade. Professor Matheus Secco MATEMÁTICA 1 Professor Matheus Secco MÓDULO 2 Divisibilidade 1. DIVISIBILIDADE 1.1 DEFINIÇÃO: Dizemos que o inteiro a é divisível pelo inteiro b (ou ainda que a é múltiplo de b) se existe um inteiro c

Leia mais

puras um ou mais apenas mesmos

puras um ou mais apenas mesmos Funções Relembrando um dos objetivos do paradigma de programação funcional: Escrever funções puras Na prática, uma função pura apresenta as seguintes características: Possui um ou mais parâmetros; Realiza

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

Matemá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. 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 mais

Portal da OBMEP. Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano

Portal da OBMEP. Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano Material Teórico - Módulo de Divisibilidade MDC e MMC - Parte 1 Sexto Ano Autor: Prof. Angelo Papa Neto Revisor: Prof. Antonio Caminha M. Neto 1 Máximo divisor comum Nesta aula, estudaremos métodos para

Leia mais

Divisibilidade e Números primos. George Darmiton da Cunha Cavalcanti CIn - UFPE

Divisibilidade e Números primos. George Darmiton da Cunha Cavalcanti CIn - UFPE Divisibilidade e Números primos George Darmiton da Cunha Cavalcanti CIn - UFPE Divisibilidade de inteiros Sejam a e b dois inteiros. Dizemos que a divide b, a é um divisor de b ou b é um múltiplo de a

Leia mais

Matemática para Ciência dos Computadores 30 de Dezembro, Docente: Luís Antunes & Sandra Alves

Matemática para Ciência dos Computadores 30 de Dezembro, Docente: Luís Antunes & Sandra Alves Matemática para Ciência dos Computadores 30 de Dezembro, 2003 Docente: Luís Antunes & Sandra Alves Mais exercícios de MCC 1. Sejam p, q, r e p 1, p 2, p 3 as seguintes afirmações primitivas e premissas

Leia mais

Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs

Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs Layout Ao contrário de quase todas as linguagens de programação, o Haskell não necessita de marcas para delimitar as diversas declarações que constituem um programa. Em Haskell a identação do texto (isto

Leia mais

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013 Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void

Leia mais

Aula 7 - Mais problemas com inteiros

Aula 7 - Mais problemas com inteiros Aula 7 - Mais problemas com inteiros Já vimos nas aulas anteriores alguns detalhes de operações com inteiros. a) A divisão é inteira e o resultado é truncado b) Existe o operador % (resto da divisão) c)

Leia mais

Lista de Exercícios sobre Recursividade

Lista de Exercícios sobre Recursividade Lista de Exercícios sobre Recursividade 1) Dado os algoritmos recursivos abaixo, apresente suas funções de complexidade de tempo. a) void Pesquisa(int n) if (n > 1) Inspecione n*n*n elementos; // custo

Leia mais

Ficha 1 Noções de sequência e decisão em algoritmia

Ficha 1 Noções de sequência e decisão em algoritmia Ficha 1 Noções de sequência e decisão em algoritmia 1. Ler uma temperatura em Celsius e converter para Fahrenheit. Elabore o algoritmo e especifique as estruturas de dados necessárias para a resolução

Leia mais

Lista de Exercícios 06 Modularização (Procedimentos e Funções)

Lista de Exercícios 06 Modularização (Procedimentos e Funções) Lista de Exercícios 06 Modularização (Procedimentos e Funções) Procedimentos: Passagem de parâmetros. 1) Escreva um procedimento que receba um número inteiro e imprima o mês correspondente ao número. Por

Leia mais

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

Pesquisa sequencial e pesquisa binária

Pesquisa sequencial e pesquisa binária Pesquisa sequencial e pesquisa binária Armando Matos Departamento de Ciência de Computadores Universidade de Porto 2008 2 problemas importantes... Pesquisa: Procurar um valor numa lista ou, por exemplo,

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca 0. Um breve comentário sobre os algoritmos de busca em tabelas De uma maneira geral, realizam-se operações de busca, inserção e remoção de elementos numa tabela. A busca sequencial tradicional é O(N).

Leia mais

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018.

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018. 1 INSTRUÇÃO DE SAÍDA Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018 Exercícios 1 Instrução de Saída 1. Implementar um programa

Leia mais

Exercícios da cadeira de Introdução à Programação. Ana Cardoso Cachopo João Cachopo António Leitão

Exercícios da cadeira de Introdução à Programação. Ana Cardoso Cachopo João Cachopo António Leitão Exercícios da cadeira de Introdução à Programação Ana Cardoso Cachopo João Cachopo António Leitão Ano Lectivo 2000/2001 1 Prefácio Este documento reúne os exercícios propostos nas aulas práticas da cadeira

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

Pesquisa: operação elementar

Pesquisa: operação elementar Pesquisa: operação elementar uma das operações mais usadas em programação pesquisas em: vectores, matrizes, tabelas de registos, ficheiros, tipos de dados estruturados (hierarquicos),... necessidade de

Leia mais

Funções. Capítulo (2) Considere a seguinte interacção em Python: >>> def f1(x):... return x * x... >>> f1(5) 25 >>> f2 = f1 >>>

Funçõ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 mais

Exame de Programação Imperativa

Exame de Programação Imperativa Exame de Programação Imperativa Exercício 1. Rodar uma letra Escreva uma definição da função char rodar_letra(char ch); para efetuar uma rotação por uma posição de um carater representado uma letra: A

Leia mais

4.1 Cálculo do mdc: algoritmo de Euclides parte 1

4.1 Cálculo do mdc: algoritmo de Euclides parte 1 page 92 92 ENCONTRO 4 4.1 Cálculo do mdc: algoritmo de Euclides parte 1 OAlgoritmodeEuclidesparaocálculodomdcbaseia-senaseguintepropriedade dos números naturais. Observamos que essa propriedade está muito

Leia mais

Definição. Diremos que um número inteiro d é um divisor de outro inteiro a, se a é múltiplo de d; ou seja, se a = d c, para algum inteiro c.

Definição. Diremos que um número inteiro d é um divisor de outro inteiro a, se a é múltiplo de d; ou seja, se a = d c, para algum inteiro c. Divisores Definição. Diremos que um número inteiro d é um divisor de outro inteiro a, se a é múltiplo de d; ou seja, se a = d c, para algum inteiro c. Quando a é múltiplo de d dizemos também que a é divisível

Leia mais

Resolva os exercícios utilizando a linguagem de programação C

Resolva os exercícios utilizando a linguagem de programação C MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO CAMPUS DE PRESIDENTE EPITÁCIO Resolva os exercícios utilizando a linguagem de programação C 1 Manipulação de dados

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor. Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade.

Leia mais

Filas de Prioridade. Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações:

Filas de Prioridade. Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações: Filas de Prioridade e Heaps 9.1 Filas de Prioridade Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações: inserir um elemento na fila; remover o elemento

Leia mais

Lista Encadeada (Linked List)

Lista Encadeada (Linked List) Lista Encadeada (Linked List) As listas ou listas encadeadas são a estrutura de dados mais simples concebível excetuando-se naturalmente os arrays. Listas encadeadas nada mais são que uma seqüência de

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

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

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

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof. Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de

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

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 3 Tipos, Expressões,Operadores Tipos de dados Variáveis Constantes Constantes Simbólicas Expressões Operadores aritméticos, relacionais

Leia mais

Ficheiros. Capítulo 8

Ficheiros. Capítulo 8 Capítulo 8 Ficheiros 1. (2) Escreva a função concatena que recebe uma lista de cadeias de caracteres, cada uma correspondendo ao nome de um ficheiro, e uma cadeia de caracteres, correspondendo ao nome

Leia mais

- Dizemos que um número é divisor de outro quando o resto da divisão é igual a zero. Ex.: 5 é divisor de 30, pois 30: 5 = 6 e o resto é 0.

- Dizemos que um número é divisor de outro quando o resto da divisão é igual a zero. Ex.: 5 é divisor de 30, pois 30: 5 = 6 e o resto é 0. Noções conceituais MDC - Dizemos que um número é divisor de outro quando o resto da divisão é igual a zero. Ex.: 5 é divisor de 30, pois 30: 5 = 6 e o resto é 0. - Todo número natural é produto de dois

Leia mais

BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 05 Modularização

BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 05 Modularização BCC Introdução à Programação (4-) Prof. Reinaldo Silva Fortes Funções: Passagem de parâmetros. Prática 5 Modularização ) Escreva uma função que receba um número inteiro e imprima o mês correspondente ao

Leia mais

Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares)

Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares) Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares) 1. Refaça todos os itens do exercício 1 da Lista de Exercícios anterior (Listas

Leia mais

Lista de Exercícios 03a Algoritmos Repetição. 1) Escreva um algoritmo em PORTUGOL que imprima todos os números inteiros de 0 a 50.

Lista de Exercícios 03a Algoritmos Repetição. 1) Escreva um algoritmo em PORTUGOL que imprima todos os números inteiros de 0 a 50. Universidade Federal de Minas Gerais - UFMG Instituto de Ciências Eatas - ICE Disciplina: Programação de Computadores Professor: David Menoti (menoti@dcc.ufmg.br) Monitor: João Felipe Kudo (joao.felipe.kudo@terra.com.br)

Leia mais

5. De um bloco formado por cubos retiraram-se alguns cubos como mostra a figura. Quantos cubos foram retirados?

5. De um bloco formado por cubos retiraram-se alguns cubos como mostra a figura. Quantos cubos foram retirados? AGRUPAMENTO DE ESCOLAS D. JOSÉ I - VRSA MATEMÁTICA 6.º ANO 014/1 NOME N.º Turma Nas questões 1 a, assinale com x a opção correta. 1. O valor de 4 : 4 10. A soma de dois números negativos é um número: Positivo

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

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014 Teoria da Computação 2013/2014 Exercícios 1 Máquinas de Registos Ilimitados 1. Construa programas URM sem módulos que calculem as seguintes funções (a) quatro(x) = 4 (b) sg(x) retorna 0 se x > 0, 1 no

Leia mais

Análise e Desenvolvimento de Algoritmos (2006/2007)

Análise e Desenvolvimento de Algoritmos (2006/2007) Análise e Desenvolvimento de Algoritmos (2006/2007) Alguns desenvolvimentos em série de Taylor: e x = 1 + x + x2 2! + x3 3! + + xn n! +, x IR sin(x) = x x3 3! + x5 5! x7 7! +, x IR cos(x) = 1 x2 2! + x4

Leia mais