Funções de ordem superior
|
|
- Sophia Van Der Vinne Espírito Santo
- 8 Há anos
- Visualizações:
Transcrição
1 Funções de ordem superior Pedro Kröger 5 de outubro de 26 1 Introdução Nós vimos que procedimentos são abstrações que descrevem operações compostas em números independentemente dos numeros particulares. Por exemplo, quando nós denimos cubo como: (defun cubo (x) (* x x x)) não estamos falando do cubo de algum número em particular mas sobre um método para obter o cubo de qualquer número. Naturalmente nós poderíamos nos virar sem denir esse procedimento, escrevendo expressões como (* 3 3 3) (* x x x) (* y y y) e nunca mencionar cubo explicitamente. Isso nos colocaria em uma desvantagem séria, nos forçando a sempre trabalhar no nível das operações primitivas da linguagem (multiplicação nesse caso) ao invés de trabalhar em termos de operações em um nível mais alto. Nossos programas poderia computar cubos, mas nossa linguagem não teria a habilidade de expressar o conceito de cubo. Uma das coisas que devemos demandar de uma linguagem de programação poderosa é a habilidade de construir abstrações através da designação de nomes a padrões comuns e então trabalhar em termos dessas abstrações diretamente. Ainda assim, mesmo em processamento numérico nós vamos estar severamente limitado na nossa habilidade de criar abstrações se nós nos restringirmos a procedimentos cujos parâmetros devem ser números. Frequentemente o mesmo padrão de programação será usado com um número diferente de procedimentos. Para expressar esses padrões como conceitos nós vamos precisar construir procedimentos que podem aceitar procedimentos como argumentos ou retornar procedimentos como valores. Procedimentos que manipulam procedimentos são chamados de procedimentos de ordem superior (high-order procedures). Essa seção mostra como procedimentos de ordem superior podem servir como mecanismos poderosos de abstração, aumentando o poder expressivo da nossa linguagem. 2 Procedimentos como argumentos b Considere as três funções a seguir. A primeira calcula a soma de inteiros de a a b, i (defun soma-inteiros (a b) (+ a (soma-integers (+ a 1) b)))) 1
2 b A segunda calcula a soma dos cubos dos inteiros em um ambito dado, i 3 : (+ (cubo a) (soma-cubos (+ a 1) b)))) A terceira calcula a soma da sequencia dos termos na série: b 1 Ou seja, i(i + 2) por4 (defun soma-pi (a b) (+ (/ 1. (* a (+ a 2))) (soma-pi (+ a 4) b)))) (defun <nome> (a b) (+ (<termo> a) (<nome> (<proximo> a) b)))) Isso se traduz no código abaixo: (+ (termo a) (soma termo (proximo a) proximo b)))) Observe que termo e proximo são chamadas a funções (sublinhados abaixo): (+ (termo a) (soma termo (proximo a) proximo b)))) termo é um procedimento que dado um índice, calcula o valor do termo para aquele índice. proximo é um procedimento que dado um índice vai produzir o próximo índice. Então eles devem ser precedidos por funcall: (+ (funcall termo a) (soma termo (funcall proximo a) proximo b)))) 2
3 Funcall é denido como (funcall <função> <argumentos>). Ele aplica a <função> aos <argumentos>. Com funcall dá para fazer coisas como: (funcall ' ) => 6 (funcall 'first '(1 2 3)) => 1 (funcall 'second '(1 2 3)) => 2 (funcall 'position 1 '( ) :start 1) => 4 Tendo denido soma e uma função inc que incrementa seu argumento por 1, podemos denir soma-cubos em termos de soma: (defun inc (n) (+ n 1)) (soma (function cubo) a (function inc) b)) Observe que dizemos explicitamente para soma que cubo e inc são funções. Common Lisp tem um açucar sintático para a notação <function foo> através do uso de #', como #'foo: (soma #'cubo a #'inc b)) Tendo denido soma-cubos, podemos usa-lo para computar a soma dos cubos dos inteiros de 1 a 1: (soma-cubos 1 1) => 325 Com a ajuda de uma função de indentidade para computar o termo, podemos denir soma-inteiros em termos de soma: (defun identidade (x) x) (defun soma-inteiros (a b) (soma #'identidade a #'inc b)) Então podemos somar os inteiros de 1 a 1: (soma-inteiros 1 1) => 55 Também podemos denir soma-pi da mesma maneira: (defun soma-pi (a b) (flet ((pi-termo (x) (/ 1. (* x (+ x 2)))) (pi-proximo (x) (+ x 4))) (soma #'pi-termo a #'pi-proximo b))) Observe o uso de flet para criar os procedimentos pi-termo e pi-proximo dentro de soma-pi. Usando esses procedimentos nós podemos calcular uma aproximação de π: 3
4 (* 8 (soma-pi 1 1)) => Uma vez que temos soma, nós podemos usa-lo como um bloco de básico para formular outros conceitos. Por exemplo, uma integral denida de uma função f entre os limites a e b pode ser aproximada numericamente usando a fórmula: ( ) ( ) ( ) ] a + dx 2 + f a + dx + dx 2 + f a + 2dx + dx 2 + dx para valores pequenos de dx. Nós podemos expressar isso diretamente como um procedimento: b a f = [ f (defun integral (f a b dx) (flet ((add-dx (x) (+ x dx))) (* (soma f (+ a (/ dx 2.)) #'add-dx b) dx))) (integral #'cubo 1.1) => Uma das vantagens de abstração é que pode mudar a implementação básica mas o uso é o mesmo. 4
5 3 Exemplos de funções de ordem superior (reduce #'+ '( )) (remove-if-not #'evenp '( )) (remove-if #'evenp '( )) (remove-if #'oddp '( )) (defun maior-que-5 (x) (if (<= x 5) x)) (remove-if #'maior-que-5 '( )) (remove-if #'(lambda (x) (if (<= x 5) x)) '( )) (defun dobro (x) (* x 2)) (mapcar #'dobro '( )) (mapcar #'(lambda (x) (* x 2)) '( )) 4 Licença Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial- Não a obras derivadas 2. Brasil. Você tem permissão para copiar e distribuir esse trabalho para ns não-comerciais contanto que dê crédito ao autor original e mantenha esse texto em distribuições ou cópias. 5
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisAbstraçã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 maisBase Nacional Comum Curricular 2016. Lemann Center at Stanford University
Base Nacional Comum Curricular 2016 Lemann Center at Stanford University Parte II: Base Nacional Comum: Análise e Recomendações da Seção de Matemática Phil Daro Dezembro, 2015 BASE NACIONAL COMUM: ANÁLISE
Leia maisInformática no Ensino de Matemática Prof. José Carlos de Souza Junior
Informática no Ensino de Matemática Prof. José Carlos de Souza Junior http://www.unifal-mg.edu.br/matematica/?q=disc jc Aula 02 ATIVIDADE 01 Para poupar esforço de digitação, você pode usar o tradicional
Leia maisClonando Discos. Manual. Clonagem de Discos. Regiane S. de Carvalho Engenheira da Computação MEC/SEED/DITEC/CETE
Manual Clonando Discos Clonagem de Discos Clonagem de HDs via rede utilizando o UDPCast. Regiane S. de Carvalho Engenheira da Computação MEC/SEED/DITEC/CETE Manual Clonando Discos Clonagem de Discos Clonagem
Leia maisProgramação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
Leia mais6. Geometria, Primitivas e Transformações 3D
6. Geometria, Primitivas e Transformações 3D Até agora estudamos e implementamos um conjunto de ferramentas básicas que nos permitem modelar, ou representar objetos bi-dimensionais em um sistema também
Leia maisAPOSTILA DE EXCEL 2007
APOSTILA DE EXCEL 2007 1. Introdução Quando você cria uma planilha nova, a tela do computador é dividida em linhas e colunas, formando uma grade. A interseção de uma linha e de uma coluna é chamada de
Leia maisInformática no Ensino da Matemática
Informática no Ensino da Matemática Humberto José Bortolossi http://www.professores.uff.br/hjbortol/ Lista de Exercícios 2 ATIVIDADE 1 Para poupar esforço de digitação, você pode usar o tradicional sistema
Leia maisGUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Slim... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento da
Leia maisMICROSOFT OFFICE EXCEL 2007
LEIAME Nenhuma informação da APOSTILA - MICROSOFT OFFICE EXCEL 2007 poderá ser copiada, movida ou modificada sem autorização prévia e escrita do autor. MICROSOFT OFFICE EXCEL 2007 Efetue cálculos, analise
Leia maisGUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM
GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Millennium... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento
Leia maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia mais2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisCOMPILADORES E INTERPRETADORES
Aula 16 Arquitetura de Computadores 12/11/2007 Universidade do Contestado UnC/Mafra Curso Sistemas de Informação Prof. Carlos Guerber COMPILADORES E INTERPRETADORES Um compilador transforma o código fonte
Leia maisPROGRAMANDO EM C# ORIENTADO A OBJETOS
PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios
Leia maisTutorial de Matlab Francesco Franco
Tutorial de Matlab Francesco Franco Matlab é um pacote de software que facilita a inserção de matrizes e vetores, além de facilitar a manipulação deles. A interface segue uma linguagem que é projetada
Leia maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem
Leia mais5 Equacionando os problemas
A UA UL LA Equacionando os problemas Introdução Nossa aula começará com um quebra- cabeça de mesa de bar - para você tentar resolver agora. Observe esta figura feita com palitos de fósforo. Mova de lugar
Leia maisCommon Core Standards
Common Core Standards O Common Core nos estados EDUCATION WEEK Estados que adotaram o Common Core (43 + DC) Estados que não adotaram o Common Core (4) Estados que adotaram o Common Core em apenas uma matéria
Leia maisA integral também é conhecida como antiderivada. Uma definição também conhecida para integral indefinida é:
Integral Origem: Wikipédia, a enciclopédia livre. No cálculo, a integral de uma função foi criada para originalmente determinar a área sob uma curva no plano cartesiano e também surge naturalmente em dezenas
Leia maisSAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO
1 AULA SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! ROTEIRO PRÉ-REQUISITOS 1 INTRODUÇÃO 2 DISTRIBUIÇÕES LINUX 3 AJUDA PARA ESCOLHER SUA DISTRIBUIÇÃO LINUX 4 DÚVIDAS FREQUENTES
Leia maisFAQ Base de conhecimento. Treinamento OTRS Help Desk
FAQ Base de conhecimento Treinamento OTRS Help Desk Sumário Licenciamento deste Manual/Documento... 3 FAQ Apresentação... 4 Instalação... 4 Configurações Nativas da FAQ... 5 Grupos... 5 FAQ Configuração
Leia maisCurso Técnico em Redes
Curso Técnico em Redes Prof. Airton Ribeiro - 2012 Histórico das Linguagens de Programação O que é? É um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas
Leia maisComo é o desenvolvimento de Software?
Como é o desenvolvimento de Software? Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação
Leia mais1.1. Organização de um Sistema Computacional
1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes
Leia maisA lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
Leia maisAlgoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br
(Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Leia maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor
Leia maisFigure 2 - Nós folhas de uma árvore binária representando caracteres ASCII
A ocorrência tamanho ASCII codificação de Huffman é um A Codificação método de compactação de Huffman caracteres (American e a variável codificação dos usado símbolos Standard para por cada muitas no Code
Leia maisPlanilha Eletrônica Excel
COLÉGIO LA SALLE CANOAS Técnico em Informática Planilha Eletrônica Excel Excel Prof. Valter N. Silva Colégio La Salle Canoas Página 2 1. NOÇÕES BÁSICAS O Microsoft Excel 7.0 é um programa de planilha eletrônica,
Leia maisOrientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Leia maisRequisitos de Software
Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais
Leia maisCálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante
Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos
Leia maisScrum. Gestão ágil de projetos
Scrum Gestão ágil de projetos Apresentação feita por : Igor Macaúbas e Marcos Pereira Modificada por: Francisco Alecrim (22/01/2012) Metas para o o Metas para treinamento seminário Explicar o que é Scrum
Leia maisProjeto de Máquinas de Estado
Projeto de Máquinas de Estado Organizado por Rodrigo Hausen. Original de Thomas L. Floyd. Versão 0: 15 de março de 2013 http://compscinet.org/circuitos Resumo Grande parte deste texto, exemplos e estrutura
Leia maisAula 1 Tipo Abstrato de Dados
Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para
Leia maisNOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann
Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisResolução de problemas e desenvolvimento de algoritmos
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de
Leia maisNOTAÇÃO MUSICAL: Como se escreve música?
NOTAÇÃO MUSICAL: Como se escreve música? A música é uma linguagem sonora como a fala. Assim como representamos a fala por meio de símbolos do alfabeto, podemos representar graficamente a música por meio
Leia maisManual. Configuração D-Link. Módulo - Configuração. Renato Lopes da Silva Técnico em Prospecção MEC/SEED/DITEC/CETE
Manual Configuração D-Link Módulo - Configuração Renato Lopes da Silva Técnico em Prospecção MEC/SEED/DITEC/CETE Manual Configuração D-Link Módulo - Configuração Produzido por: Renato Lopes da Silva Técnico
Leia maisContagem (2) Anjolina Grisi de Oliveira. 2007.1 / CIn-UFPE. Centro de Informática Universidade Federal de Pernambuco
1 / 24 Contagem (2) Anjolina Grisi de Oliveira Centro de Informática Universidade Federal de Pernambuco 2007.1 / CIn-UFPE 2 / 24 O princípio da multiplicação de outra forma O princípio da multiplicação
Leia maisAplicação em LISP e introdução ao CLOS
Aplicação em LISP e introdução ao CLOS Diego D. B. Carvalho, Vinicius A. Carlos Ciências da Computação 4ª fase, 2002 Departamento de Informática e Estatística. Universidade Federal de Santa Catarina (UFSC,
Leia mais20 Caracteres - Tipo char
0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,
Leia maisEstruturas (Registros)
Estruturas (Registros) Os vetores e as matrizes, como vimos anteriormente, são estruturas capazes de armazenar diversos valores do mesmo tipo. Mas, e se quiséssemos armazenar em uma estrutura diversos
Leia maisPython Funções. Introdução à Programação SI1
Python Funções Introdução à Programação SI1 Conteúdo Funções Conceitos Objetivos Modularização Exemplos Exercícios 2 Funções O que são? Qual a função de uma função? 3 Imagine o código 4 Imagine o código
Leia maisTarefa Orientada 15 Manipulação de dados
Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE
Leia maisConceitos Fundamentais
Capítulo 1 Conceitos Fundamentais Objetivos: No final do Capítulo o aluno deve saber: 1. distinguir o uso de vetores na Física e na Matemática; 2. resolver sistema lineares pelo método de Gauss-Jordan;
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisLição 1 - Criação de campos calculados em consultas
1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas
Leia maisSegunda Prova de Análise e otimização de Código - DCC888 -
Segunda Prova de Análise e otimização de Código - DCC888 - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem
Leia maisRenata de Freitas e Petrucio Viana. IME, UFF 12 de março de 2015
Definições por indução e por recursão Renata de Freitas e Petrucio Viana IME, UFF 12 de março de 2015 Sumário Lógica formal e principais sistemas lógicos Definições indutivas Definições recursivas Exercícios
Leia maisAlgoritmos em Javascript
Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays
Leia maisAvaliação de Expressões
valiação de Expressões valiação de Expressões - Como efetuar o cálculo de uma expressão em um computador? Exemplo: / B C D + E Regras usuais da matemática. Os parênteses alteram a ordem das expressões:
Leia maisProjeto de Arquitetura
Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os
Leia maisAlgumas vantagens da Teoria das Descrições Definidas (Russel 1905)
Textos / Seminário de Orientação - 12 de Março de 2005 - Fernando Janeiro Algumas vantagens da Teoria das Descrições Definidas (Russel 1905) Assume-se que o objecto de uma teoria semântica é constituído
Leia maisModelagem no Domínio do Tempo. Carlos Alexandre Mello. Carlos Alexandre Mello cabm@cin.ufpe.br 1
Carlos Alexandre Mello 1 Modelagem no Domínio da Frequência A equação diferencial de um sistema é convertida em função de transferência, gerando um modelo matemático de um sistema que algebricamente relaciona
Leia maisSistemas de Numerações.
Matemática Profº: Carlos Roberto da Silva; Lourival Pereira Martins. Sistema de numeração: Binário, Octal, Decimal, Hexadecimal; Sistema de numeração: Conversões; Sistemas de Numerações. Nosso sistema
Leia maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisAlgoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal
Leia maisAULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes
AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes FUNÇÕES E PROCEDIMENTOS Também chamados de subalgoritmos São trechos de algoritmos
Leia maisSomatórias e produtórias
Capítulo 8 Somatórias e produtórias 8. Introdução Muitas quantidades importantes em matemática são definidas como a soma de uma quantidade variável de parcelas também variáveis, por exemplo a soma + +
Leia maisTarefa Orientada 13 Agrupamento e sumário de dados
Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os
Leia maisModelagem de Processos. Prof.: Fernando Ascani
Modelagem de Processos Prof.: Fernando Ascani Modelagem da arquitetura de negócios Arquitetura Definições Aurélio: Informática: Estrutura e organização lógica de funcionamento de um sistema computacional.
Leia maisQUESTÃO 1 ALTERNATIVA B
1 QUESTÃO 1 Marcos tem 10 0,25 = 2,50 reais em moedas de 25 centavos. Logo ele tem 4,30 2,50 = 1,80 reais em moedas de 10 centavos, ou seja, ele tem 1,80 0,10 = 18 moedas de 10 centavos. Outra maneira
Leia maisPROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem
Leia maisPermissões de compartilhamento e NTFS - Parte 1
Permissões de compartilhamento e NTFS - Parte 1 Autor: Júlio Battisti - Site: www.juliobattisti.com.br Segurança, sem dúvidas, é um dos temas mais debatidos hoje, no mundo da informática. Nesse tutorial
Leia maisUNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE
UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Back-End Compilação 1. Compilação etapa Back-end
Leia maisEstrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 7: Recursividade O objetivo desta aula é apresentar o conceito de recursão para solução de problemas. A recursão é uma técnica de programação
Leia maisIntrodução à Lógica de Programação
Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha
Leia maisModelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.
Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever
Leia maisIntrodução às Linguagens de Programação
Introdução às Linguagens de Programação Histórico de Linguagens de Programação O computador não faz nada sozinho Precisamos informar, de forma clara, como ele deve executar as tarefas Ou seja, o computador
Leia maisAlgoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 1 Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Linguagem a ser Utilizada? Nossa disciplina é de Algoritmos e Estrutura de Dados, e não de linguagem
Leia maisCriação da Lista de Saída de Dados
Criação da Lista de Saída de Dados As Listas de Saída de Dados (LSD) são um potente recurso que permite não só disponibilizar listagens personalizadas de dados, mas agrupar esses dados por métricas específicas,
Leia maisO modelo do computador
O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década
Leia maisConfiguração de Impressora
Manual Configuração de Impressora Módulo - Configuração Configuração de impressora em rede. Milton Cesar de Souza Leite Analista de Sistemas MEC/SEED/DITEC/CETE Manual Configuração de Impressora Módulo
Leia maisVetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos
Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.
Leia maisIntrodução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis
Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções
Leia maisProgramação Funcional. Capítulo 13. Mônadas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2013.
Programação Funcional Capítulo 13 Mônadas José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2013.1 1/42 1 Mônadas 2 Entrada e saída 3 Expressão do 4 Computações que podem
Leia maisINSTRUMENTAÇÃO E CONTROLE DE PROCESSOS TRANSFORMADAS DE LAPLACE
INSTRUMENTAÇÃO E CONTROLE DE PROCESSOS TRANSFORMADAS DE LAPLACE Preliminares No estudo de sistemas de controle, e comum usar-se diagramas de blocos, como o da figura 1. Diagramas de blocos podem ser utilizados
Leia maisProgramação WEB I Estruturas de controle e repetição
Programação WEB I Estruturas de controle e repetição Operadores de Incremento Operadores de incremento servem como expressões de atalho para realizar incrementos em variáveis Operadores de Incremento Vamos
Leia maisTeleprocessamento e Redes
Teleprocessamento e Redes Aula 19: 29 de junho de 2010 1 camada de transporte camada de rede 2 Questão 1 (Kurose/Ross) camada de transporte camada de rede Um processo em um host C tem um socket UDP com
Leia maisRoteiro do Programa e Entrada/Saída
Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de
Leia maisConectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org
Conectando Bancos de Dados Microsoft Access no BrOffice.org Base fornecido pelo Projeto de Documentação do BrOffice.org Índice 1 Introdução...2 1.1 Versão... 2 1.2 Licenciamento...2 1.3 Mensagem do Projeto
Leia maisLINUX EDUCACIONAL 3.0
Manual Instalação de Impressora no LINUX EDUCACIONAL 3.0 Instalação da impressora Via CUPS e KDE Produzido por: Sergio Graças Giany Abreu Desenvolvedores do Projeto GNU/Linux VRlivre Manual Instalação
Leia maisFACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2
FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade
Leia maisGeração de código intermediário. Novembro 2006
Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas
Leia maisA Matemática e o dinheiro
A Matemática e o dinheiro A UUL AL A Muita gente pensa que a Matemática, em relação ao dinheiro, só serve para fazer troco e para calcular o total a pagar no caixa. Não é bem assim. Sem a Matemática, não
Leia maisMáscaras de sub-rede. Fórmula
Máscaras de sub-rede As identificações de rede e de host em um endereço IP são diferenciadas pelo uso de uma máscara de sub-rede. Cada máscara de sub-rede é um número de 32 bits que usa grupos de bits
Leia maisLição 03 Aplicativos do Windows Bloco de Notas, Calculadora
Índice: Lição 01 Noções Básicas Abrir um programa - Fechar um programa - Minimizar uma janela de programa - Maximizar um programa - Restaurar um programa... 05 Lição 02 Aplicativos do Windows - Paint Usar
Leia maisProgramação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.
Programação Funcional Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2015.1 1/13 1 Paradigmas de programação 2 Programação funcional 3 A Crise
Leia mais1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é notação em ponto flutuante Compreender a
Leia maisArquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo
Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante
Leia mais