Estruturação de Procedimentos

Documentos relacionados
OPERAÇÕES COM FRAÇÕES

tipo e tamanho e com os "mesmos" elementos do vetor A, ou seja, B[i] = A[i].

Simulado de Linguagem de Programação Java

Conteúdo programático

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Comecemos por relembrar as propriedades das potências: = a x c) a x a y = a x+y

SICI MANUAL PARA ARQUIVO XML (UPLOAD)

Fluxo de caixa, valor presente líquido e taxa interna de retorno 1

Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

Conteúdo programático por disciplina Matemática 6 o ano

CONFIGURAçÃO E GERAÇÃO DO LALUR. Parâmetros

Recorrendo à nossa imaginação podemos tentar escrever números racionais de modo semelhante: 1 2 =

Custo de Oportunidade do Capital

a) 2 b) 3 c) 4 d) 5 e) 6

Módulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

Universidade Federal de Goiás Campus Catalão Departamento de Matemática

[RESOLUÇÃO] Economia I; 2012/2013 (2º semestre) Prova da Época Recurso 3 de Julho de 2013

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Fundamentos de Teste de Software

Lista de Exercícios 5: Soluções Teoria dos Conjuntos

Inteligência Artificial

Prof. Daniela Barreiro Claro

Usando potências de 10

Projeto Jovem Nota 10 Conjuntos Numéricos Lista 3 Professor Marco Costa 1. Represente geometricamente os números racionais:

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing

Apontamentos de matemática 5.º ano - Múltiplos e divisores

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

Olimpíada Brasileira de Raciocínio Lógico Nível III Fase II 2014

ALGORITMOS E PROGRAMAÇÃO. Andreza Leite Andreza.leite@univasf.edu.br

Programação de Computadores I. Linguagem C Função

Orientação a Objetos

OBSERVAÇÕES: EXERCÍCIOS

TUTORIAL MATLAB Victor Breder 2016

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

MC Teste de Mesa e Comandos Repetitivos

POTENCIAÇÃO, RADICIAÇÃO E LOGARITMAÇÂO NOS NÚMEROS REAIS. Potenciação 1

BC-0505 Processamento da Informação

COMO ELABORAR UM CURRÍCULO

Estruturas de Repetição

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE III): GERENCIAMENTO DE CENÁRIOS

Banco de Dados I. Prof. Edson Thizon

Arquivos Indexados por Chaves Secundárias. Vanessa Braganholo

Introdução ao cálculo-λ

DIRECTRIZ CONTABILÍSTICA Nº 24 EMPREENDIMENTOS CONJUNTOS 1. OBJECTIVO 1 2. DEFINIÇÕES 2 3. TIPOS DE EMPREENDIMENTOS CONJUNTOS 2

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

RELATÓRIO PARA A. SOCIEDADE informações sobre recomendações de incorporação de medicamentos e outras tecnologias no SUS

ENGENHARIA DE SOFTWARE

MANUAL DO USUÁRIO SIMPLEX. Prof. Erico Fagundes Anicet Lisboa, M. Sc.

Circuitos eléctricos Profª Helena Lança Ciências Físico-Química 9ºano

Comandos de Desvio 1

Sistemas de Numerações.

Gabarito de Matemática do 6º ano do E.F.

2.1 - Triângulo Equilátero: é todo triângulo que apresenta os três lados com a mesma medida. Nesse caso dizemos que os três lados são congruentes.

Sistemas Numéricos. Tiago Alves de Oliveira

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Dureza Rockwell. No início do século XX houve muitos progressos. Nossa aula. Em que consiste o ensaio Rockwell. no campo da determinação da dureza.

Fundamentos de Programação. Diagrama de blocos

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

DIMENSÕES DE PESQUISA EM ENGENHARIA DE SOFTWARE

Exercícios e questões de Álgebra Linear

Métodos Estatísticos Avançados em Epidemiologia

Trabalho 4 - Traçado de linhas equipotenciais e linhas de força.

ISS Eletrônico. Formato de Arquivos para Transmissão de Documentos Declarados através do aplicativo OFFLINE. Extensão do Arquivo JUNHO2006.

com Utilização do Código de Barras VERSÃO 04

Métodos Estatísticos Avançados em Epidemiologia

Optimização e Algoritmos (2004/2005)

AULA 19 Análise de Variância

BPI αlpha O FEI que investe em Produtos Estruturados.

Programação Orientada a Objetos SANTOS, Rafael

PROGRAMAÇÃO DE COMPUTADORES

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

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Análise de Processos. Por José Luís Carneiro

Inteligência de negócios do laboratório DESCUBRA INFORMAÇÕES ÚTEIS DE DADOS OPERACIONAIS DO LABORATÓRIO

COLÉGIO SHALOM 9 ANO Professora: Bethânia Rodrigues 65 Geometria. Aluno(a):. Nº.

INICIADOS - 2ª Sessão ClubeMath

ENG1000 Introdução à Engenharia

Modelo Comportamental

AULA 07 Distribuições Discretas de Probabilidade

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

EM8032 EM8033 Adaptador Powerline de 500Mbps com tomada elétrica

Microsoft Excel Ficha prática n. 8

Módulo de Aprendizagem I

Professores do Ensino Básico - Variante de Educação Física. Disciplina: Matemática Data: Ficha de trabalho: 3

RELATÓRIO SOBRE A GESTÃO DE RISCOS BANCO ABN AMRO S.A. Setembro de 2013

PHP Estruturas de repetição

Seu pé direito nas melhores Faculdades

2 Workshop processamento de artigos em serviços de saúde Recolhimento de artigos esterilizados: é possível evitar?

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

SITUAÇÃO DE APRENDIZAGEM 4 PROBABILIDADE E GEOMETRIA

PLANO DE ENSINO DE MATEMÁTICA 1ª SÉRIE DO ENSINO MÉDIO 1º BIMESTRE DIRETORIA DE ENSINO REGIÃO CAIEIRAS

CENTRO UNIVERSITÁRIO ANHANGUERA DE SANTO ANDRÉ. Ana Paula S. Valera TRAJETÓRIAS DO ENVELHECIMENTO

Modelagem de Sistemas Web. Metodologias para o desenvolvimento de sistemas web

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Aula 8 21/09/ Microeconomia. Demanda Individual e Demanda de Mercado. Bibliografia: PINDYCK (2007) Capítulo 4

Transcrição:

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. O que entende pelo domínio de um nome? 4.2 Exercícios de programação 4.2. Estrutura de Blocos. () Considere as seguintes alternativas para definir um procedimento que calcula a função factorial. Alternativa : (define (factorial n) (if (>= n 0) (fact-aux n) (error "factorial: argumento negativo"))) (define (fact-aux n) (if (= n 0) (* n (fact-aux (- n ))))) Alternativa 2: (define (factorial n) (define (fact-aux n) (if (= n 0) (* n (fact-aux (- n ))))) (if (>= n 0) (fact-aux n) (error "factorial: argumento negativo")))

40 CAPÍTULO 4. ESTRUTURAÇÃO DE PROCEDIMENTOS (a) Compare estas duas alternativas quanto à garantia de que o factorial não é calculado com valores indevidos. Sugestão: Será que se pode avaliar directamente (fact-aux -)? (b) Como se chama a estrutura definida pela alternativa 2? Qual a sua vantagem? 2. () A estrutura de blocos leva à existência de novos ambientes. Com base no procedimento que se segue, que calcula m! n! (m >n), justifique a afirmação. Sugestão: Identifique as variáveis locais e não locais para cada um dos procedimentos. (define (quociente-de-factoriais m n) (define (iter m res) (if (= m n) res (iter (- m ) (* m res)))) (iter m )) 3. () (Secção 2.2.3, Ex 2) Recorrendo à estrutura de blocos, escreva um procedimento em Scheme somatorio que recebe um número inteiro positivo n, e devolve a soma de todos os números até n. O seu procedimento deve gerar um processo iterativo. > (somatorio 3) 6 > (somatorio 6) 2 4. () (Secção 2.2.3, Ex 4) Recorrendo à estrutura de blocos, escreva um procedimento em Scheme factorial que recebe um número inteiro positivo n, e devolve o factorial desse número. O seu procedimento deve gerar um processo iterativo. > (factorial 0) > (factorial 5) 20 5. (2) (Secção 2.2.3, Ex 7) Recorrendo à estrutura de blocos, escreva um procedimento em Scheme numero-primos-menores que recebe um número inteiro positivo n, e retorna o número de primos menores ou iguais a n. O seu procedimento deve gerar um processo iterativo. Sugestão: Utilize o procedimento primo? definido na alínea 7 da Secção 3.2. > (numero-primos-menores 9) 4 > (numero-primos-menores 23) 9

4.2. EXERCÍCIOS DE PROGRAMAÇÃO 4 6. (2) (Secção 2.2.3, Ex 8) Recorrendo à estrutura de blocos, escreva um procedimento em Scheme numero-divisores-primos que recebe um número inteiro positivo n, e retorna o número de divisores primos de n. No caso de n ser 0 deverá retornar 0. O seu procedimento deve gerar um processo iterativo. Sugestão: Utilize o procedimento primo? definido na alínea 7 da Secção 3.2. > (numero-divisores-primos ) 0 > (numero-divisores-primos 20) 2 > (numero-divisores-primos 30) 3 7. (3) (Secção 2.2.3, Ex 0) O logaritmo inteiro de um número n na base b é o maior número inteiro e tal que b e n. Recorrendo à estrutura de blocos, escreva um procedimento em Scheme logaritmo que recebe dois números inteiros positivos n e b, e devolve o logaritmo inteiro de n na base b. No caso de n ou b serem 0 deverá retornar 0. O seu procedimento deve gerar um processo iterativo. > (logaritmo 8 2) 3 > (logaritmo 7 2) 2 8. (3) (Secção 2.2.3, Ex 5) Recorrendo à estrutura de blocos, escreva um procedimento em Scheme soma-digitos-pares que recebe um número inteiro positivo n, e retorna a soma de todos os dígitos pares de n. O seu procedimento deve gerar um processo iterativo. > (soma-digitos-pares 9) 0 > (soma-digitos-pares 42) 6 9. (4) (Secção 2.2.3, Ex 9) Um número binário b n b n...b b 0 pode ser transformado num número decimal usando a seguinte formula n i=0 b i2 i. Recorrendo à estrutura de blocos, escreva um procedimento em Scheme binario-decimal que recebe um número b escrito em binário e retorna a sua representação decimal. O seu procedimento deve gerar um processo iterativo. > (binario-decimal 00) 9 > (binario-decimal 0000) 6

42 CAPÍTULO 4. ESTRUTURAÇÃO DE PROCEDIMENTOS 4.2.2 Utilização de Nomes Locais. Em relação às seguintes expressões utilizando o let, avalie o valor da expressão e transforme-a numa expressão equivalente utilizando o lambda. (a) () (b) () (let ((x 5) (y 3)) (* x y)) (let ((x 4) (y 3)) (let ((z (* x y))) (+ z x))) (c) (2) (d) (2) (let ((x 5)) (let ((x 3) (y (* x 2))) (let ((x 5) (y 2)) (+ x (let ((x (+ x 3)))) 2. (2) Suponha que a tem o valor 5 no ambiente global. Diga qual o resultado de avaliar a seguinte expressão: (let ((a 3) (b (* a 4))) (+ a b)) 3. (2) Considere as seguintes expressões. São equivalentes? Justifique. (let ((x 8)) (let ((x 5) (y (+ x 4))) (let* ((x 8) (x 5) (y (+ x 4))) (+ x y)) 4. Para cada uma das seguintes combinações envolvendo uma expressão lambda, calcule o seu valor e transforme-a numa expressão equivalente utilizando o let. (a) ()

4.2. EXERCÍCIOS DE PROGRAMAÇÃO 43 (b) () ((lambda (x y) (+ (* 3 x) y)) 2 3) ((lambda (x) ((lambda (y) ((lambda (z) (* y z)) 2)) 5) (c) () (d) (2) ((lambda (x) ((lambda (y) (+ (* 2 y) x)) (+ x 3))) 5) ((lambda (x y) ((lambda (x) (+ (* 2 x) y)) 6 2) (e) (2) ((lambda (x y) (+ x y ((lambda (z) (* 2 z)) (+ y )))) 5 2) 5. Para cada uma das seguintes séries, escreva um programa em Scheme que calcula o valor aproximado da série. O seu programa deve apresentar uma estrutura de blocos e deve evitar cálculos repetidos. Pode utilizar os procedimentos potencia e factorial sem os definir. (a) (2) (b) (2) + 2 + 4 + 8 + 6 +...= n=0 2 n 2 + 3 4 + 5 +...= ( ) n+ n = ln(2) n=0

44 CAPÍTULO 4. ESTRUTURAÇÃO DE PROCEDIMENTOS (c) (2) (d) (2) n=0 n= x n n! = ex x2 2! + x4 4!...= ( ) n+ x 2n 2 (2n 2)! = cos(x)