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

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

Download "Naturais. Paradigma de Programação Funcional. Marco A L Barbosa"

Transcrição

1 Naturais Paradigma de Programação Funcional Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.

2 Conteúdo Introdução Definição Exemplos Referências

3 O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os exercícios indicados. 3 / 18

4 Introdução

5 Introdução Um número natural é atômico ou composto? 5 / 18

6 Introdução Um número natural é atômico ou composto? Atômico quando usado em operações aritméticas Composto quando uma iteração precisa ser feita baseado no valor do número 5 / 18

7 Introdução Um número natural é atômico ou composto? Atômico quando usado em operações aritméticas Composto quando uma iteração precisa ser feita baseado no valor do número Se um número natural pode ser visto como dado composto Quais são as partes que compõe o número? Como (de)compor um número? 5 / 18

8 Definição

9 Definição Um número Natural é 0; ou (add1 n) onde n é um número Natural 7 / 18

10 Definição Um número Natural é 0; ou (add1 n) onde n é um número Natural Baseado nesta definição, criamos um template para funções com números naturais (define (fun-for-natural n) (cond [(zero? n)...] [else... n (fun-for-natural (sub1 n))])) 7 / 18

11 Definição ;; as funç~oes add1, sub1 e zero? s~ao pré-definidas ;; comp~oe um novo natural a partir de um existente ;; semelhante ao cons > (add1 8) 9 ;; decomp~oe um natural ;; semelhante ao rest > (sub1 8) 7 ;; verifica se um natural é 0 ;; semelhante ao empty? > (zero? 8) #f > (zero? 0) #t 8 / 18

12 Exemplos

13 Exemplo 4.1 Dado um número natural n, defina uma função que some os números naturais menores ou iguais a n. 10 / 18

14 Passo 1: Contrato, propósito e cabeçalho ;; Natural -> Natural ;; Soma todos os números naturais de 0 até n (define (soma n) 0) 11 / 18

15 Passo 1: Contrato, propósito e cabeçalho ;; Natural -> Natural ;; Soma todos os números naturais de 0 até n (define (soma n) 0) Passo 2: Exemplos (check-equal? (soma 0) 0) (check-equal? (soma 1) 1) ; (+ 1 0) (check-equal? (soma 3) 6) ; (+ 3 (+ 2 (+ 1 0))) 11 / 18

16 Passo 1: Contrato, propósito e cabeçalho ;; Natural -> Natural ;; Soma todos os números naturais de 0 até n (define (soma n) 0) Passo 2: Exemplos (check-equal? (soma 0) 0) (check-equal? (soma 1) 1) ; (+ 1 0) (check-equal? (soma 3) 6) ; (+ 3 (+ 2 (+ 1 0))) Passo 3: Template (define (soma n) (cond [(zero? n)...] [else... n (soma (sub1 n))])) 11 / 18

17 Passo 4: Corpo (baseado nos exemplos, completamos o template) ;; Natural -> Natural ;; Soma todos os números naturais de 0 até n (check-equal (soma 0) 0) (check-equal (soma 1) 1) ; (+ 1 0) (check-equal (soma 3) 6) ; (+ 3 (+ 2 (+ 1 0))) (define (soma n) (cond [(zero? n)...] [else... n (soma (sub1 n))])) 12 / 18

18 Passo 4: Corpo (baseado nos exemplos, completamos o template) ;; Natural -> Natural ;; Soma todos os números naturais de 0 até n (check-equal (soma 0) 0) (check-equal (soma 1) 1) ; (+ 1 0) (check-equal (soma 3) 6) ; (+ 3 (+ 2 (+ 1 0))) (define (soma n) (cond [(zero? n)...] [else... n (soma (sub1 n))])) (define (soma n) (cond [(zero? n) 0] [else... n (soma (sub1 n))])) 12 / 18

19 Passo 4: Corpo (baseado nos exemplos, completamos o template) ;; Natural -> Natural ;; Soma todos os números naturais de 0 até n (check-equal (soma 0) 0) (check-equal (soma 1) 1) ; (+ 1 0) (check-equal (soma 3) 6) ; (+ 3 (+ 2 (+ 1 0))) (define (soma n) (cond [(zero? n)...] [else... n (soma (sub1 n))])) (define (soma n) (cond [(zero? n) 0] [else... n (soma (sub1 n))])) (define (soma n) (cond [(zero? n) 0] [else (+ n (soma (sub1 n)))])) 12 / 18

20 Exemplo 4.2 Dado um número natural n, defina uma função que devolva a lista (list n n-1 n ). 13 / 18

21 Definição As vezes queremos utilizar um caso base diferente de 0 Podemos generalizar a definição de número natural para incluir um limite inferior diferente de 0 14 / 18

22 Definição Um número Inteiro>=a é a; ou (add1 n) onde n é um número Inteiro>=a 15 / 18

23 Definição Um número Inteiro>=a é a; ou (add1 n) onde n é um número Inteiro>=a Template (define (fun-for-inteiro>=a n) (cond [(<= n a)...] [else... n (fun-for-inteiro>=a (sub1 n))])) 15 / 18

24 Exemplo 4.3 [htdp ] Escreva uma função tem-divisor-entre-2-e-i?, que receba como parâmetros dois números naturais, n e i. Se n não é divisível por nenhum número entre 2 (inclusive) e i (inclusive), a função deve devolver verdadeiro, caso contrário falso. Utilizando a função tem-divisor-entre-2-e-i?, defina uma função primo?, que verifica se um número natural é primo. Um número natural é primo se ele tem exatamente dois divisores distintos: 1 e ele mesmo. 16 / 18

25 Referências

26 Referências Vídeos Naturals 18 / 18

Combinação de modelos

Combinação de modelos Combinação de modelos 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 mais

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

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

Leia mais

Sequências e streams

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

Leia mais

Variáveis e instruções de repetição

Variáveis e instruções de repetição Variáveis e instruções de repetiçã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 mais

Sistemas de numeração

Sistemas de numeração Sistemas de numeraçã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 mais

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

Acumuladores. Paradigma de Programação Funcional. Marco A L Barbosa Acumuladores Paradigma de Programação Funcional Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-func

Leia mais

Listas. CIC/UFRGS INF Fundamentos de Algoritmos 2006/1

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

Projeto de funções e instruções condicionais

Projeto de funções e instruções condicionais Projeto de funções e instruções condicionais 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

Leia mais

Retrocesso e corte. Paradigma de Programação Lógico. Marco A L Barbosa

Retrocesso e corte. Paradigma de Programação Lógico. Marco A L Barbosa Retrocesso e corte Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Retrocesso

Leia mais

Busca em largura. Algoritmos em Grafos. Marco A L Barbosa

Busca em largura. Algoritmos em Grafos. Marco A L Barbosa Busca em largura Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Exemplo de

Leia mais

Expressões e sentença de atribuição

Expressões e sentença de atribuição Expressões e sentença de atribuiçã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 mais

Linguagens de Programação. Marco A L Barbosa

Linguagens de Programação. Marco A L Barbosa Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

Fundamentos de Algoritmos

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

Leia mais

Apontamentos de Matemática 6.º ano

Apontamentos de Matemática 6.º ano Revisão (divisores de um número) Os divisores de um número são os números naturais pelos quais podemos dividir esse número de forma exata (resto zero). Exemplos: Os divisores de 4 são 1, e 4, pois se dividirmos

Leia mais

Introdução à Programação. Ciclos 1ª parte

Introdução à Programação. Ciclos 1ª parte Introdução à Programação Ciclos 1ª parte Sumário Ciclos while Exercícios com instruções condicionais e ciclos Ciclos (while) while ( ) ; Enquanto for diferente de zero

Leia mais

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá Entrada e saída 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 mais

Ciclos hamiltonianos e o problema do caixeiro viajante

Ciclos hamiltonianos e o problema do caixeiro viajante Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.

Leia mais

Fundamentos. Paradigma de Programação Lógico. Marco A L Barbosa

Fundamentos. Paradigma de Programação Lógico. Marco A L Barbosa Fundamentos Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Visão mais detalhada

Leia mais

Apontamentos de matemática 6.º ano Decomposição de um número em fatores primos

Apontamentos de matemática 6.º ano Decomposição de um número em fatores primos Divisores de um número (revisão do 5.º ano) Os divisores de um número são os números naturais pelos quais podemos dividir esse número de forma exata (resto zero). Exemplos: Os divisores de 4 são 1, 2 e

Leia mais

Caminhos mínimos de todos os pares

Caminhos mínimos de todos os pares Caminhos mínimos de todos os pares Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução

Leia mais

BANCO. por: a) 2; b) 5; c) por 2? a) 78. b) 110. c) 65. d) 51 R.: R.: c) divisível por Responda: Por quê? R.: R.

BANCO. por: a) 2; b) 5; c) por 2? a) 78. b) 110. c) 65. d) 51 R.: R.: c) divisível por Responda: Por quê? R.: R. PROFESSOR: EQUIPE DE MATEMÁTICA BANCO DE QUESTÕES MATEMÁTICA 6º ANO ENSINO FUNDAMENTAL = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Leia mais

MATEMÁTICA MÓDULO 8 DIVISIBILIDADE E CONGRUÊNCIA. Professor Matheus Secco

MATEMÁTICA MÓDULO 8 DIVISIBILIDADE E CONGRUÊNCIA. Professor Matheus Secco MATEMÁTICA Professor Matheus Secco MÓDULO 8 DIVISIBILIDADE E CONGRUÊNCIA 1. DIVISIBILIDADE Definição: Sejam a, b inteiros com a 0. Diz-se que a divide b (denota-se por a b) se existe c inteiro tal que

Leia mais

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos 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 mais

Noções de sistemas de computação

Noções de sistemas de computação Noções de sistemas de computação Software 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

Leia mais

Aula 2: Algoritmos: Intuição

Aula 2: Algoritmos: Intuição Aula 2: Algoritmos: Intuição Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 1 / 27 Agenda 1 Revisão

Leia mais

Grafos planares. Algoritmos em Grafos. Marco A L Barbosa

Grafos planares. Algoritmos em Grafos. Marco A L Barbosa Grafos planares Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Propriedades

Leia mais

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos 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 mais

Abstração de dados. Pedro Kröger. 5 de outubro de Um índice bibliográco poderia ser armazenado dessa maneira:

Abstração de dados. Pedro Kröger. 5 de outubro de Um índice bibliográco poderia ser armazenado dessa maneira: Abstração de dados Pedro Kröger 5 de outubro de 2006 1 Introdução Um índice bibliográco poderia ser armazenado dessa maneira: (setf livro-1 '((Paradigms of Artificial Inteligence) ; titulo (Peter Norvig)

Leia mais

Resoluções das atividades

Resoluções das atividades Resoluções das atividades Capítulo Divisibilidade Testando seus conhecimentos (página ) a) I. divisível b) I. II. II. múltiplo III. III. divisor IV. fator IV. (0) Se forem bolas por caixa, precisará de

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

Paradigma de Programação Lógico. Marco A L Barbosa

Paradigma de Programação Lógico. Marco A L Barbosa Introdução Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Imperativo

Leia mais

Listas, conjuntos e dicionários

Listas, conjuntos e dicionários Listas, conjuntos e dicionários 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 mais

AGRUPAMENTO DE ESCOLAS D. JOSÉ I 2015/16 MATEMÁTICA 5.º ANO

AGRUPAMENTO DE ESCOLAS D. JOSÉ I 2015/16 MATEMÁTICA 5.º ANO AGRUPAMENTO DE ESCOLAS D. JOSÉ I 2015/16 MATEMÁTICA 5.º ANO Nome N º Turma 1. Observe os números seguintes: 12, 14 e 15. a) Determine os divisores de 14 e de 15 Divisores de 14: Divisores de 15: b) Escreva

Leia mais

Estruturas de controle no nível de sentença

Estruturas de controle no nível de sentença Estruturas de controle no nível de sentença 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

Leia mais

SCC0124 Introdução à Programação para Engenharias

SCC0124 Introdução à Programação para Engenharias SCC0124 Introdução à Programação para Engenharias 1. Escreva uma função ehpar(n) que recebe um número inteiro n e retorna se ele é par ou ímpar. Observação: a função não deve imprimir nada na tela, apenas

Leia mais

semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/ e 25/05/2014

semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/ e 25/05/2014 semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/2014 24 e 25/05/2014 PROGRAMAÇÃO DE 03/05/2014 a 09/05/2014 PROGRAMAÇÃO DE 03/05/2014 a 09/05/2014 PROGRAMAÇÃO DE

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

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

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

Leia mais

Programação imperativa

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

Leia mais

Os elementos da programação

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

Vejamos agora mais alguns exemplos de problemas envolvendo seqüência de números.

Vejamos agora mais alguns exemplos de problemas envolvendo seqüência de números. Aula 6 - Mais exemplos de repetição Vejamos agora mais alguns exemplos de problemas envolvendo seqüência de números. P16) Dado N>0 e uma seqüência de N números, determinar o maior elemento da seqüência.

Leia mais

Teste de Matemática A 2015 / 2016

Teste de Matemática A 2015 / 2016 Teste de Matemática A 2015 / 2016 Teste N.º 2 Matemática A Duração do Teste: 90 minutos 10.º Ano de Escolaridade Nome do aluno: Turma: Grupo I Os cinco itens deste grupo são de escolha múltipla. Em cada

Leia mais

Aula 11 - Repetições Encaixadas

Aula 11 - Repetições Encaixadas Aula 11 - Repetições Encaixadas Já vimos os seguintes comandos de repetição: while for do while O formato geral destes comando é: while (comparação) {c1; c2;...; cn; for (inicialização; comparação; incremento)

Leia mais

Implementando subprogramas

Implementando subprogramas Implementando subprogramas Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

1. Múltiplos e divisores

1. Múltiplos e divisores Escola Básica de Santa Marinha Matemática 2009/2010 7º Ano Síntese dos conteúdos Números e operações 1 Múltiplos e divisores Múltiplo de um número é todo o número que se obtém multiplicando o número dado

Leia mais

CCM0118 Computação I

CCM0118 Computação I CCM0118 Computação I Departamento de Ciência da Computação IME-USP Curso de Ciências Moleculares Turma 22 Segundo Semestre de 2012 Segundo Exercício-Programa Prazo de entrega: até 16 de outubro de 2012.

Leia mais

MÚLTIPLOS DE UM NÚMERO NATURAL

MÚLTIPLOS DE UM NÚMERO NATURAL PROFESSOR: EQUIPE DE MATEMÁTICA BANCO DE QUESTÕES - MATEMÁTICA - 5º ANO - ENSINO FUNDAMENTAL ======================================================================== MÚLTIPLOS DE UM NÚMERO NATURAL Para

Leia mais

Programação II. Victor Amorim dos Santos

Programação II. Victor Amorim dos Santos Programação II Victor Amorim dos Santos Estrutura de repetição - Loops Definição Loop é uma palavra inglesa, que originalmente significa aro, anel ou sequência. Início X verdadeiro X!= 0 Exemplo: Ler um

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

Instituto Superior de Engenharia do Porto Programação (SEE)

Instituto Superior de Engenharia do Porto Programação (SEE) Instituto Superior de Engenharia do Porto Programação (SEE) Ficha nº 2 - Ciclos 1. Elabore um programa que leia um número e determine a soma e a média dos algarismos que o compõem. Private Sub cmdcalc_click()

Leia mais

MÚLTIPLOS E DIVISORES

MÚLTIPLOS E DIVISORES MÚLTIPLOS E DIVISORES 6º ANO - Prof. Patricia Caldana Múltiplos e divisores são números que resultam da multiplicação por um número natural e que dividem um número deixando resto zero, respectivamente.

Leia mais

Caminhos mínimos de única origem

Caminhos mínimos de única origem Caminhos mínimos de única origem Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução

Leia mais

INF1005 Programação I. Pontifícia Universidade Católica Departamento de Informática

INF1005 Programação I. Pontifícia Universidade Católica Departamento de Informática INF1005 Programação I Pontifícia Universidade Católica Departamento de Informática 1 INF1005 Exemplo 1 Pontifícia Universidade Católica Departamento de Informática 2 Computação Científica 3 Processador

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

Elementos básicos das linguagens de programação

Elementos básicos das linguagens de programação Elementos básicos das linguagens de programação Objetivos: Apresentar os últimos elementos básicos das linguagens de programação Elementos básicos já estudados Entrada (read, readln) Saída (write, writeln)

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

Implementação de subprogramas

Implementação de subprogramas Implementação de subprogramas 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 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 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

Programação I Estruturas de Decisão

Programação I Estruturas de Decisão Programação I Estruturas de Decisão Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões Lógicas Em C, não existe um tipo específico para a representação de valores lógicos.

Leia mais

Fundamentos de Programação

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

Leia mais

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM Exercício 1 Análise Estatística PROGRAMAÇÃO DE COMPUTADORES I - BCC701 2014-1 Aula Teórica 10 É comum, em ciência e engenharia, trabalharmos com grandes conjuntos de números, os quais são medidas de alguma

Leia mais

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Recursividade Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno O que é recursividade? Técnica baseada em divisão e conquista Buscar solucionar o problema dividindo

Leia mais

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Iteração O Comando While / do while Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Comandos de repetição Garante a repetição de um trecho de código Evita

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

LISTA DE EXERCÍCIOS 05 (GABARITO)

LISTA DE EXERCÍCIOS 05 (GABARITO) LISTA DE EXERCÍCIOS 0 (GABARITO) CURSO: Bacharelado em Engenharia Elétrica MÓDULO/SEMESTRE/SÉRIE: 1º TURMA: 0. DISCIPLINA: Introdução à Programação DOCENTE: Alexandro dos Santos Silva MODALIDADE: Ensino

Leia mais

Algoritmos - Informação Simólica

Algoritmos - Informação Simólica Algoritmos - Informação Simólica CIC/UFRGS (Cap. 5) Nome para um Valor 1 quando um nome ocorre muitas vezes em um programa é importante nomá-lo exemplo: o valor de π é nomeado da seguinte forma (define

Leia mais

Para cada programa, por mais simples que seja, comece sempre por esboçar a solução desenhando um fluxograma.

Para cada programa, por mais simples que seja, comece sempre por esboçar a solução desenhando um fluxograma. Funções Objetivo Este trabalho tem como objetivo levá-lo a compreender melhor para que servem e como são utilizadas as funções numa linguagem de programação. Depois da realização do trabalho deverá, em

Leia mais

Decomposição de um número composto. Todo número composto pode ser decomposto em fatores primos Ex: = 2 2 X 3 X 5 X 7

Decomposição de um número composto. Todo número composto pode ser decomposto em fatores primos Ex: = 2 2 X 3 X 5 X 7 Decomposição de um número composto Todo número composto pode ser decomposto em fatores primos Ex: 420 2 210 2 105 3 35 5 7 7 1 420= 2 2 X 3 X 5 X 7 Determinação do número de divisores de um número natural

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

Introdução à Programação. Estruturas de Repetição

Introdução à Programação. Estruturas de Repetição Introdução à Programação Estruturas de Repetição Repetição de Comandos i 0 int somatorio(int n) { int soma = 0; int i = 0; soma = soma + i; i++; soma = soma + i; i++; soma = soma + i;... n i Faz esta seqüência

Leia mais

Apontamentos de Matemática 6.º ano

Apontamentos de Matemática 6.º ano Revisão (divisores de um número) Os divisores de um número são os números naturais pelos quais podemos dividir esse número de forma exata (resto zero). Exemplos: Os divisores de 4 são 1, e 4, pois se dividirmos

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

MATLAB. Programação básica

MATLAB. Programação básica MATLAB Programação básica Tipo de dados logical Podem ter valores true ou false. Dados do tipo lógico podem ser utilizados com valores numéricos. São convertidos nos valores 0 e 1. Operadores relacionais

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

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Prof. Alceu Britto Slides cedidos pelo Prof. Dr. Edson J. R. Justino Aula 15 até 18 UEPG Rotinas rotinas, também chamadas de subprogramas, são blocos de instruções que realizam

Leia mais

Fundamentos de Algoritmos

Fundamentos de Algoritmos Fundamentos de Algoritmos CIC/UFRGS 2006/1 Mais em definições auto-referenciáveis foi visto como definir árvores de ascendência, definindo dois campos do tipo nó que indicam os dois pais árvores de descendência

Leia mais

Divisibilidade Múltiplos de um número Critérios de divisibilidade 5367

Divisibilidade Múltiplos de um número Critérios de divisibilidade 5367 Divisibilidade Um número é divisível por outro quando sua divisão por esse número for exata. Por exemplo: 20 : 5 = 4 logo 20 é divisível por 5. Múltiplos de um número Um número tem um conjunto infinito

Leia mais

Algoritmos e estrutura de dados

Algoritmos e estrutura de dados Algoritmos e estrutura de dados Introdução Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo A linguagem Python

Leia mais

2016 / Nome do aluno: N.º: Turma:

2016 / Nome do aluno: N.º: Turma: Teste de Matemática A 2016 / 2017 Teste N.º 1 Matemática A Duração do Teste: 90 minutos 10.º Ano de Escolaridade Nome do aluno: N.º: Turma: Grupo I Os cinco itens deste grupo são de escolha múltipla. Em

Leia mais

Algoritmos e estrutura de dados

Algoritmos e estrutura de dados Algoritmos e estrutura de dados Listas Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Listas Listas encadeadas

Leia mais

Funções: Sintaxe: Procedimentos:

Funções: Sintaxe: Procedimentos: Sintaxe: Procedimentos: procedimento < nome do Procedimento> () ; C1; C2;.. Cn; fim; { nome do procedimento} Funções

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

GAN Matemática Discreta Professores Renata de Freitas e Petrucio Viana. Lista A

GAN Matemática Discreta Professores Renata de Freitas e Petrucio Viana. Lista A GAN 00167 Matemática Discreta Professores Renata de Freitas e Petrucio Viana Lista A 1. Verdadeiro ou falso? Justifique. (a) {3} {3, 4, 5} (b) {3} {{3}, 4, 5} (c) {3} {3, 4, 5} (d) {3} {{3}, 4, 5} 2. Verdadeiro

Leia mais

Escola Secundária Dr. Augusto César da Silva Ferreira Rio Maior

Escola Secundária Dr. Augusto César da Silva Ferreira Rio Maior Escola Secundária Dr. Augusto César da Silva Ferreira Rio Maior Ano Lectivo 008/009 Ficha de Exercícios/Problemas N.º 1 Critérios de Divisibilidade. Números Primos. Decomposição em Factores Primos. Raízes

Leia mais

ESCOLA SECUNDÁRIA COM 3º CICLO D. DINIS 10º ANO DE MATEMÁTICA A Tema II Funções e Gráficos. Funções polinomiais. Função módulo.

ESCOLA SECUNDÁRIA COM 3º CICLO D. DINIS 10º ANO DE MATEMÁTICA A Tema II Funções e Gráficos. Funções polinomiais. Função módulo. ESCOLA SECUNDÁRIA COM º CICLO D. DINIS 0º ANO DE MATEMÁTICA A Ponto três do plano de trabalho nº 5 Tarefa nº 4. Considere a família de funções polinomiais: f(x) = a(x + )(x )(x + 5), a \ {0}.. Represente

Leia mais

algoritmo "exercício 22 resposta incorreta" var A, i: inteiro eh_primo: logico inicio repita escreva ("Entre com um valor inteiro positivo: ") leia

algoritmo exercício 22 resposta incorreta var A, i: inteiro eh_primo: logico inicio repita escreva (Entre com um valor inteiro positivo: ) leia 180 algoritmo "exercício 22 resposta incorreta" var A, i: inteiro eh_primo: logico escreva ("Entre com um valor inteiro positivo: ") leia (A) ate (A>0) eh_primo

Leia mais

Os números inteiros. Álgebra (Curso de CC) Ano lectivo 2005/ / 51

Os números inteiros. Álgebra (Curso de CC) Ano lectivo 2005/ / 51 Os números inteiros Abordaremos algumas propriedades dos números inteiros, sendo de destacar o Algoritmo da Divisão e o Teorema Fundamental da Aritmética. Falaremos de algumas aplicações como sejam a detecção

Leia mais

GABARITO. 01) a) c) VERDADEIRA P (x) nunca terá grau zero, pelo fato de possuir um termo independente de valor ( 2).

GABARITO. 01) a) c) VERDADEIRA P (x) nunca terá grau zero, pelo fato de possuir um termo independente de valor ( 2). 01) a) P (1) = 1 + 7 1 17 1 P (1) = 1 + 7 17 P (1) = 11 P (1) é sempre igual a soma dos coeficientes de P (x) b) P (0) = 0 + 7 0 17 0 P (0) = 0 + 0 0 P (0) = P (0) é sempre igual ao termo independente

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

MAC 0316/5754 Conceitos de Linguagens de Programação Primeiro Semestre de 2011 Terceira Prova 21 de junho de 2011

MAC 0316/5754 Conceitos de Linguagens de Programação Primeiro Semestre de 2011 Terceira Prova 21 de junho de 2011 MAC 0316/5754 Conceitos de Linguagens de Programação Primeiro Semestre de 2011 Terceira Prova 21 de junho de 2011 Nome do aluno: Assinatura: N ō USP: Instruções: 1. Preencha o cabeçalho acima. 2. Não destaque

Leia mais

ESTRUTURAS DE CONTROLE

ESTRUTURAS DE CONTROLE ESTRUTURAS DE CONTROLE ESTRUTURA SEQUENCIAL E ESTRUTURAS CONDICIONAIS Introdução à Ciência da Computação Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples

Leia mais

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

Introdução à Programação Aula 5 Ciclos e condicionais

Introdução à Programação Aula 5 Ciclos e condicionais Introdução à Programação Aula 5 Ciclos e condicionais Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 5 Ciclos e condicionais 2017 1 / 28 Nesta aula Na aula passada:

Leia mais

Resposta: b) Quais são os números divisíveis por 3? Justifique sua resposta. Resposta:

Resposta: b) Quais são os números divisíveis por 3? Justifique sua resposta. Resposta: NOME: TURMA: UNIDADE: NOTA: DATA DE ENTREGA: 14 / 06 / 2017 1. (1,2) Observe os números abaixo e responda. 11820 1000 14649 72048 1980 6930 42345 14214 16664 3924 1500 a) Quais são os números divisíveis

Leia mais

Linguagem C Estruturas de Repetição

Linguagem C Estruturas de Repetição Linguagem C Estruturas de Repetição José Gustavo de Souza Paiva Introdução Como fazer um programa que mostre na tela os 4 primeiros números ímpares? Primeira solução printf( 1 ); printf( 3 ); printf( 5

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais