Atribuição em PROLOG. Em PROLOG temos 2 operadores de atribuição. A atribuição simbólica é bidireccional, para X=Y temos:

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

Download "Atribuição em PROLOG. Em PROLOG temos 2 operadores de atribuição. A atribuição simbólica é bidireccional, para X=Y temos:"

Transcrição

1 Atribuição em PROLOG Em PROLOG temos 2 operadores de atribuição = para a atribuição simbólia X=a is para a atribuição numéria X is 5 A atribuição simbólia é bidireional, para X=Y temos: Se X não está instaniado e Y está então temos X Y Se X está instaniado e Y não está então temos X Y Se nenhum está instaniado então passam a ser a mesma variável Se ambos estão instaniados om o mesmo valor então há suesso Se ambos estão instaniados om valores diferentes então oorre uma falha 32?- X=Y,X=a. X = Y = a Atribuição em PROLOG?- Y=a,X=Y. Y = X = a?- X=a,X=Y. X = Y = a?- X=Y. X = Y = _?- X=a,Y=a,X=Y. X = Y = a?- X=a,Y=b,X=Y. no 33 1

2 Atribuição em PROLOG A atribuição numéria é unidireional Do lado direito do is, se estiverem envolvidas variáveis, elas devem estar instaniadas Do lado esquerdo a variável não deve estar instaniada, senão oorre uma falha Do lado direito as variável que apareçam devem estar instaniadas Em PROLOG N is N+1 nuna tem suesso 34 Esrita em PROLOG A esrita no output stream (normalmente o monitor) é feita om o write write(hello) esreve hello write( Hello World ) esreve Hello World write(hello) esreve onteúdo da variável Hello Outra possibilidade é esrever usando o put put(65) esreve o arater A (ódigo ASCII 65) A mudança de linha é feita om o nl 35 2

3 Leitura em PROLOG A leitura do input stream (normalmente o telado) é feita om o read read(x) lê o valor de X Deve-se terminar om o. seguido de RETURN Outra possibilidade é ler usando o get ou o get0 get(a) lê o próximo aráter (não brano, ou seja, ignora CR, TAB, espaço) get0(a) - lê o próximo aráter?- get(x),get(y),get(z). ab X = 97, Y = 98, Z = 99?- get0(x),get0(y),get0(z). ab X = 97, Y = 98, Z = Reursividade O uso da reursividade é muito omum na linguagem PROLOG Na implementação de um prediado reursivo devemos ter em atenção que deverá haver sempre uma alternativa para finalizar as hamadas reursivas Por uma regra, ou fato, que não efetua essa hamada Por uma das alternativas de uma disjunção 37 3

4 Reursividade fatorial(0,1):-!. /* a função do! será expliada posteriormente */ fatorial(n,f):-n1 is N-1,fatorial(N1,F1),F is N*F1. Vejamos o que aontee quando se efetua a hamada?-fatorial(3,f). F=6 fatorial(0,1) falha fatorial(3,f):-n1 3-1,fatorial(2,F1), F is 3*2. suesso (/ F 6) fatorial(0,1) falha fatorial(2,f):-n1 2-1,fatorial(1,F1), F is 2*1. suesso (/ F 2) fatorial(0,1) falha fatorial(1,f):-n1 1-1,fatorial(0,F1), F is 1*1. suesso (/ F 1) fatorial(0,1):-!. suesso 38 Reursividade Considerando o seguinte programa que resolve o problema das Torres de Hanói: hanoi(n):-move(n,e,,d). move(0,_,_,_):-!. move(n,a,b,c):-m is N-1, move(m,a,c,b), informa(a,b), move(m,c,b,a). informa(a,b):- write('mover DISCO DE '), write(a),write(' PARA '),write(b),nl. Efetue a traçagem do que aontee quando se faz a hamada?-hanoi(3). 39 4

5 Reursividade?- hanoi(3). Su. hanoi(3):-move(3,e,,d). Su. 4 (2) move(3,e,,d):-m is 3-1, move(2,e,d,), informa(e,), move(2,d,,e). Su. 2 (2) move(2,e,d,):-m is 2-1, move(1,e,,d), informa(e,d), move(1,,d,e). Su. 1 (2) move(1,e,,d):-m is 1-1, move(0,e,d,), informa(e,), move(0,d,,e). Su. 3 (2) move(1,,d,e):-m is 1-1, move(0,,e,d), informa(,d), move(0,e,d,). Su. Output: 1 e 2 e 3 4 e 5 d 6 d 7 e d d e 6 (2) move(2,d,,e):-m is 2-1, move(1,d,e,), informa(d,), move(1,e,,d). Su. 5 (2) move(1,d,e,):-m is 1-1, move(0,d,,e), informa(d,e), move(0,,e,d). Su. 7 (2) move(1,e,,d):-m is 1-1, move(0,e,,d), informa(e,), move(0,,d,e). Su. hanoi(n):-move(n,e,,d). (1) move(0,_,_,_):-!. (2) move(n,a,b,c):-m is N-1, move(m,a,c,b), informa(a,b), move(m,c,b,a). informa(a,b):- write('mover DISCO DE '), write(a),write(' PARA '),write(b),nl. 40 Estruturas de Controlo do PROLOG Em PROLOG temos 4 estruturas de ontrolo prinipais: true tem sempre suesso fail Falha sempre repeat tem sempre suesso, quando se volta para trás por baktraking e se passa pelo repeat, este tem sempre suesso e obriga a ir para a frente! lê-se ut, uma vez atingida uma solução para o que está antes do! Já não será possível voltar para trás (antes do ut) pelo proesso de baktraking 41 5

6 O true Se não existisse em PROLOG o true poderia ser implementado pelo seguinte fato: true. Vejamos um exemplo onde o true faz sentido idade1(c):- fia(c,p), ((P==portugal,write(C),write( é portuguesa ), nl);true). Se não tivéssemos o true oorreria uma falha se C não fosse uma idade portuguesa, mas o que queremos é que tenha suesso se C for uma idade e para o aso partiular de ser portuguesa deve apareer uma mensagem esrita indiando isso 42 O fail O fail obriga à oorrênia de uma falha, é útil no raioínio pela negativa Vejamos um exemplo usando o fail sem_preedentes(x):-preede(_,x),!,fail. sem_preedentes(_). preede(a,b). preede(a,). preede(,d). preede(b,e). preede(f,h). preede(d,h). preede(g,i). preede(e,i). 43 6

Estruturas de Controlo do PROLOG. Em PROLOG temos 4 estruturas de controlo principais:

Estruturas de Controlo do PROLOG. Em PROLOG temos 4 estruturas de controlo principais: Estruturas de Controlo do PROLOG Em PROLOG temos 4 estruturas de controlo principais: true tem sempre fail Falha sempre repeat tem sempre, quando se volta para trás por backtracking e se passa pelo repeat,

Leia mais

! A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha

! A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha Origem do PROLOG A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha O nome da linguagem vem de PROgramming in LOGic, ou seja, segue o paradigma da Programação em

Leia mais

A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha

A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha Origem do PROLOG A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha O nome da linguagem vem de PROgramming in LOGic, ou seja, segue o paradigma da Programação em

Leia mais

A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha

A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha Origem do PROLOG A Linguagem PROLOG foi criada nos anos 70 por Alain Colmareur, na Universidade de Marselha O nome da linguagem vem de PROgramming in LOGic, ou seja, segue o paradigma da Programação em

Leia mais

Introdução à Programação em C Input / Output

Introdução à Programação em C Input / Output Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then

Leia mais

Entrada e Saída. Prof. Elaine Faria e Hiran Nonato Programação Lógica UFU 2012

Entrada e Saída. Prof. Elaine Faria e Hiran Nonato Programação Lógica UFU 2012 Entrada e Saída Prof. Elaine Faria e Hiran Nonato Programação Lógica UFU 2012 Créditos O material a seguir consiste de adaptações e extensões dos originais gentilmente cedidos pelo Prof. Alexsandro Santos

Leia mais

Exemplos de Programas para Tratamento de Ficheiros DXF

Exemplos de Programas para Tratamento de Ficheiros DXF Exemplos de Programas para João Manuel R. S. Tavares Joaquim Oliveira Fonsea 1º Exemplo (BASI) O seguinte programa em BASI lê um fiheiro DXF de um desenho e extrai todas as entidades LINE (ignorando as

Leia mais

CFAC: Exemplos de Programas em FORTRAN

CFAC: Exemplos de Programas em FORTRAN FA: Exemplos de Programas em FORTRAN Exemplos de Programas em FORTRAN João Manuel R. S. Tavares Joaquim O. Fonseca Exemplo I Programa simples de utilização do ciclo DO, com escrita não formatada: PROGRAM

Leia mais

Métodos de Programação I Ana Maria de Almeida

Métodos de Programação I Ana Maria de Almeida Métodos de Programação I 2. 13 type naipe = ( ouros, copas, paus, espadas ); var trunfo : naipe; Claro que são apenas identificadores e não existirá a mesma escolha de operadores e funções sobre eles que

Leia mais

CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG. Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira

CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG. Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira Roteiro Linguagens de Programação em Lógica: histórico THIS IS PROLOG!!!! SWI-Prolog

Leia mais

Vamos agora abordar um conjunto de aspectos complementares, incluindo:

Vamos agora abordar um conjunto de aspectos complementares, incluindo: Alguns aspectos complementares da linguagem PROLOG Vamos agora abordar um conjunto de aspectos complementares, incluindo: A conversão de strings em listas de códigos A carga de programas e Bases de Conhecimento

Leia mais

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I Aula 13 Arquivos Responsável Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com

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

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2015 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Exemplos de Programas em FORTRAN. João Manuel R. S. Tavares Joaquim O. Fonseca

Exemplos de Programas em FORTRAN. João Manuel R. S. Tavares Joaquim O. Fonseca Exemplos de Programas em FORTRAN João Manuel R. S. Tavares Joaquim O. Fonseca Exemplo I Programa simples de utilização do ciclo DO, com escrita não formatada: PROGRAM exercicio1 DIMENSION A(10) Vai gerar

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C ompiladores Análise Léxica Bruno Lopes Bruno Lopes ompiladores 1 / 31 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2011 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Operações com Arquivos

Operações com Arquivos Operações com Arquivos Programação de Computadores I Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto dezembro 2009 Arquivos Os arquivos são utilizados para armazenamento

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Disciplina de Introdução à Computação para Engenharia Ambiental 1 Prof. Dr. Fernando Santos Osório / Prof. Artur Lovato Cunha LRM - Laboratório de Robótica Móvel

Leia mais

Planejamento em Inteligência Artificial Capítulo 4 Planejamento como busca no Espaço de Estados

Planejamento em Inteligência Artificial Capítulo 4 Planejamento como busca no Espaço de Estados Planejamento em Inteligênia Artifiial Capítulo 4 Planejamento omo busa no Espaço de Estados Leliane Nunes de Barros Motivação Planejamento é um problema de busa Busa em espaço de estados» Cada nó representa

Leia mais

Acrescentando regras à Base de Conhecimento

Acrescentando regras à Base de Conhecimento Acrescentando regras à Base de Conhecimento fica(porto,portugal). fica(lisboa,portugal). passa(douro,porto). passa(douro,zamora). passa(tejo,lisboa). rio_português(r):-passa(r,c),fica(c,portugal). 16 Questões

Leia mais

1ª Lista de Exercícios. 1. São dados 2n números distintos distribuídos em dois vetores com n elementos A e B ordenados de maneira tal que

1ª Lista de Exercícios. 1. São dados 2n números distintos distribuídos em dois vetores com n elementos A e B ordenados de maneira tal que Uiversidade Federal de Mias Gerais Departameto de Ciêia da Computação Algoritmos e Estruturas de Dados II (Turmas M, N, W, F) 1º Semestre de 01 Profs. Camilo Oliveira, Gisele Pappa, Ítalo Cuha, Loï Cerf,

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C ompiladores Análise Sintática Bruno Lopes Bruno Lopes ompiladores 1 / 30 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação de Linguagens de Programação Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 11 Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade:

Leia mais

Introdução à Programação em C (II)

Introdução à Programação em C (II) Introdução à Programação em C (II) Resumo Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Cópia de Ficheiros Contagem de Caracteres Contagem de Linhas Contagem

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 32. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 32. Instituto de C ompiladores Introdução Bruno Lopes Bruno Lopes ompiladores 1 / 32 Apresentação Em que período estão? O quanto sabem de programação? Quais linguagens? O quanto sabem de unix? O quanto sabem de Linguagens

Leia mais

A equação de onda com fonte

A equação de onda com fonte A equação de onda om fonte Na postagem, Invariânia de alibre ou gauge, vimos que podemos esolher o alibre de Lorentz e resolver a mesma equação de onda om fonte para as três omponentes do potenial vetorial

Leia mais

Aula 9: Máquinas de Turing

Aula 9: Máquinas de Turing Teoria da Computação Aula 9: Máquinas de Turing DAINF-UTFPR Prof. Ricardo Dutra da Silva Uma máquina de Turing é uma máquina de estados finitos que pode mover o cabeçote em qualquer direção, ler e manipular

Leia mais

2.2.5 EXPRESSÕES - Regras para o cálculo de valores

2.2.5 EXPRESSÕES - Regras para o cálculo de valores Métodos de Programação I Departamento de Matemática, FCTUC 30 2.2.5 EXPRESSÕES - Regras para o cálculo de valores As expressões fornecidas ao computador, quer tenham variáveis, constantes ou apenas literais,

Leia mais

Variantes de Máquinas de Turing

Variantes de Máquinas de Turing Variantes de Máquinas de Turing 1 Máquinas de Turing Input-Output TM s Input/output (ou IO ou transdutoras) diferem de TM s reconhecedoras por terem um estado de parada neutro q halt, ao invés de estados

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ] USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /

Leia mais

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ] USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /

Leia mais

da carruagem cujo comprimento, do seu ponto de vista, é L

da carruagem cujo comprimento, do seu ponto de vista, é L ula Prátia Problema O, no interior de um vagão de omboio, emite um sinal dmita que um observador eletromagnétio a partir do ponto médio do ompartimento ssim, este observador nota que o sinal emitido hega

Leia mais

Linguagem de Programação C. Arquivos

Linguagem de Programação C. Arquivos Arquivos Cristiano Lehrer Introdução Em C um arquivo é apenas um conjunto de bytes colocados uns após os outros de forma sequencial: Utilização de arquivos: Fonte de dados para o programa: Trata-se de

Leia mais

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores Introdução à programação em PASCAL Aula de 22/10/2001 Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores Conteúdo Conceito de linguagem de programação O processo

Leia mais

Listas. Em PROLOG os elementos das listas não têm de ser do mesmo tipo (por exemplo, [a,2,abc,[x,1,zzz]])

Listas. Em PROLOG os elementos das listas não têm de ser do mesmo tipo (por exemplo, [a,2,abc,[x,1,zzz]]) Listas Em PROLOG as listas podem ser: Não vazias, tendo uma cabeça (1º elemento da lista) e uma cauda (lista com os restantes elementos) Vazias, quando não têm nenhum elemento (equivalente ao NULL ou NIL

Leia mais

Uma introdução ao GAP

Uma introdução ao GAP Uma introdução ao GAP O nome GAP, advém de Groups, Algorithms and Programming. Trata-se de um sistema computacional inicialmente concebido para trabalhar na área da álgebra. Álgebra (Curso de CC) Ano lectivo

Leia mais

Programação lógica: operadores, repe ções e listas

Programação lógica: operadores, repe ções e listas Programação lógica: operadores, repe ções e listas Profs. Diogo S. Mar ns e Emilio Francesquini {santana.mar ns,e.francesquini}@ufabc.edu.br MCTA016 - Paradigmas de Programação (Prá ca) 14 de agosto de

Leia mais

Recursividade. Objetivos do módulo. O que é recursividade

Recursividade. Objetivos do módulo. O que é recursividade Recursividade Objetivos do módulo Discutir o conceito de recursividade Mostrar exemplos de situações onde recursividade é importante Discutir a diferença entre recursividade e iteração O que é recursividade

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais

Informações sobre filas de BATCH via PBS nos servidores Linux 64 bits do CCIFUSP.

Informações sobre filas de BATCH via PBS nos servidores Linux 64 bits do CCIFUSP. Informações sobre filas de BATCH via PBS nos servidores Linux 64 bits do CCIFUSP. Introdução Philippe Gouffon, 29 de maio 1996 Adaptado por João Leonel, 14 de abril 2009 Revisado por João Leonel, 19 de

Leia mais

Introdução a programação Controle de Fluxo

Introdução a programação Controle de Fluxo Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Controle de Fluxo Professor: Saulo Henrique Cabral Silva Cond. Verdadeira Cond. Falsa 2 DESVIO DE CONTROLE 3 Desvio de Controle

Leia mais

Instituto Superior Técnico PROPAGAÇÃO & ANTENAS. Projecto 2014 / 2015

Instituto Superior Técnico PROPAGAÇÃO & ANTENAS. Projecto 2014 / 2015 Instituto Superior Ténio PROPAGAÇÃO & ANTENAS Projeto 4 / 5 Prof Carlos R Paiva Ano Letivo 4/5 Introdução Este trabalho entra-se sobre a propagação de impulsos em fibras óptias onvenionais, de perfil em

Leia mais

3.1 - Funções para manipular dados de entrada e saída padrão

3.1 - Funções para manipular dados de entrada e saída padrão 1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado

Leia mais

1ª LISTA DE EXERCÍCIOS

1ª LISTA DE EXERCÍCIOS Departamento de Informática 205/2 ª LISTA DE EXERCÍCIOS Essa lista de exercícios deve ser resolvida integralmente usando o ambiente BOCA. Instruções gerais para o uso do BOCA: O BOCA é um programa que

Leia mais

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006 Capítulo 13: Sistemas de E/S Capítulo 13: Sistemas de E/S Hardware de E/S Interface de E/S da aplicação Subsistema de E/S do kernel Transformando requisições de E/S em operações de hardware Fluxos Desempenho

Leia mais

Universidade de Aveiro

Universidade de Aveiro Universidade de Aveiro 1998/99 Disciplina Introdução à Programação em Lógica (IPL) Curso MAC 1 ō Semestre 2 ō Semestre Anual Docente Delfim Fernando Marado Torres 1107 03.03.99 Apresentação: Enquadramento

Leia mais

Voo Nivelado - Avião a Jacto

Voo Nivelado - Avião a Jacto - Avião a Jato 763 º Ano da ieniatura em Engenharia Aeronáutia. oo de ruzeiro () O voo de uma aeronave é normalmente omposto por várias fases diferentes. As fases de voo que formam um programa de voo simples,

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Professor: Diego Oliveira Conteúdo 05: Linguagem Java Conteúdo da Aula Linguagem Java Tipos Primitivos Operadores Aritiméticos Operadores Lógicos Precedência de Operadores

Leia mais

Linguagens de Programação. Programação Funcional e Haskell Programação Interativa Thiago Alves

Linguagens de Programação. Programação Funcional e Haskell Programação Interativa Thiago Alves Linguagens de Programação Programação Funcional e Haskell Programação Interativa Thiago Alves 1 Introdução Vimos como Haskell pode ser usado para escrever programas batch que recebem todas suas entradas

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

Inteligência Artificial Apontamentos para as aulas. Luís Miguel Botelho

Inteligência Artificial Apontamentos para as aulas. Luís Miguel Botelho Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho Departamento de Ciências e Tecnologias da Informação ISCTE-IUL - Instituto Universitário de Lisboa Dezembro de 2016 1 Notas sobre

Leia mais

Capítulo III : A Linguagem Pascal Estruturas de Controlo

Capítulo III : A Linguagem Pascal Estruturas de Controlo Capítulo III : A Linguagem Pascal Estruturas de Controlo 1 Capítulo III : A Linguagem Pascal Estruturas de Controlo Sequência Estruturas de Base Selecção Repetição Sub-Programas Alternativa Múltipla Enquanto

Leia mais

CONSTRUÇÃO DE CARTEIRAS DE RENDA VARIÁVEL USANDO RENDA FIXA E CONTRATOS FUTUROS DE BOLSA DE VALORES

CONSTRUÇÃO DE CARTEIRAS DE RENDA VARIÁVEL USANDO RENDA FIXA E CONTRATOS FUTUROS DE BOLSA DE VALORES SEEAD CONSTRUÇÃO DE CARTERAS DE RENDA VARÁVEL USANDO RENDA XA E CONTRATOS UTUROS DE BOLSA DE VALORES José Roberto Seurato (* José Roberto Seurato Junior (** RESUO O artigo trata da onstrução de uma arteira

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

Aulas Anteriores. Detalhes da linguagem de programação

Aulas Anteriores. Detalhes da linguagem de programação Aulas Anteriores Detalhes da linguagem de programação Elementos básicos (identificadores, constantes, símbolos gráficos) Estrutura básica de um programa (cabeçalho, parte declarativa, parte de execução)

Leia mais

Linguagem de Programação I. Aula 10 Funções

Linguagem de Programação I. Aula 10 Funções Linguagem de Programação I Aula 10 Funções Da Aula Anterior Tipos de dados básicos e operadores em C Declaração de variáveis e modificadores de tipo Estruturas de Controle Arrays unidimensionais Geração

Leia mais

Programação estruturada em C++: extensões ao C. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005)

Programação estruturada em C++: extensões ao C. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Programação estruturada em C++: extensões ao C João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) FEUP - LEEC - AED - 2004/2005 1972 1978 1983 1988 1995 Breve historial Primeira versão

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Caracteres e Cadeia de Caracteres Cadeia de Caracteres e listas Operações

Leia mais

SEBENTA INTRODUÇÃO Á ALGORITMIA

SEBENTA INTRODUÇÃO Á ALGORITMIA SEBENTA INTRODUÇÃO Á ALGORITMIA O desenvolvimento de programas para computador está sempre baseado na tarefa de programar um computador para seja resolvido um problema ou executada uma função e assim dar

Leia mais

Geração de Código para LALG

Geração de Código para LALG Geração de Código para LALG Ambiente de execução para LALG Máquina hipotética Repertório de instruções Prof. Thiago A. S. Pardo 1 Geração de código para LALG Código-alvo será um código de montagem Portanto,

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS Engenharia de Controle e Automação 9ª Série Controle e Servomeanismos I A atividade prátia supervisionada (ATPS) é um proedimento metodológio de ensino-aprendizagem

Leia mais

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido

Leia mais

Geração de Código para LALG

Geração de Código para LALG Geração de Código para LALG Ambiente de execução para LALG Máquina hipotética Repertório de instruções Prof. Thiago A. S. Pardo 1 Geração de código para LALG Código-alvo será um código de montagem Portanto,

Leia mais

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Aula 01 Algoritmos e lógica de programação e introdução ao C++ Aula 01 Algoritmos e lógica de programação e introdução ao C++ Autor: José Martins de Castro Neto Carga Horária: 2h 21 de julho de 2015 1 Algoritmo e lógica de programação Ementa do curso 1. Definições

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

Computação Eletrônica

Computação Eletrônica Computação Eletrônica Variáveis Inteiras A memória A memória pode ser vista como um imenso gaveteiro Em cada gaveta, guardamos uma informação. Por eemplo, um pedaço de papel contendo um número. Ou um pedaço

Leia mais

Mecanismos de Controle

Mecanismos de Controle Mecanismos de Controle Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Embora o Prolog seja uma linguagem de programação declarativa,

Leia mais

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução Métodos de Programação I 2. 20 2.2.8 ESTRUTURAS DE CONTROLO Estruturas de controlo são instruções especiais em Pascal que permitem controlar o fluxo de sequência de instruções, alterando a ordem sequencial

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

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem: Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação 1 Prof. Osório Aula 05 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 05 Disciplina: Linguagem

Leia mais

EXEMPLOS DE PROGRAMAS PASCAL

EXEMPLOS DE PROGRAMAS PASCAL EXEMPLOS DE PROGRAMAS PASCAL Exemplo 1. Este programa saúda o mundo, imprimindo Hello world! no dispositivo de saída. program dizalo ; writeln ('Hello world!') end. Este é um exemplo extremamente simples.

Leia mais

Introdução à Programação C

Introdução à Programação C Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Recapitulando Um programa C é uma sequência de diretivas (#include e #define), declarações de funções auxiliares,

Leia mais

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35 INE5603 Introdução à POO Prof. A. G. Silva 25 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de 2017 1 / 35 Baseado em materiais da Recursividade Unisinos, Cesar Tacla (UTFPR),

Leia mais

LISTA DE EXERCÍCIOS MÊS 04

LISTA DE EXERCÍCIOS MÊS 04 São José dos Campos, 05 de Junho de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 7

Informática para Ciências e Engenharias (B) 2016/17. Teórica 7 Informática para Ciências e Engenharias (B) 2016/17 Teórica 7 Sumário Ficheiros. Ficheiros de texto e binários. Sistema de ficheiros. Operações sobre ficheiros de texto. 24 Abril 2017 7: Sistemas de Ficheiros;

Leia mais

Técnicas de Programação I

Técnicas de Programação I Técnicas de Programação I Conceitos básicos C/C++ Material baseado em sites da internet em especial no livro: STARTING OUT WITH C++ C++: Manipulação de Arquivos (1) ifstream : leitura (2) ofstream : escrita

Leia mais

Polos Olímpicos de Treinamento. Aula 1. Curso de Álgebra - Nível 3 Prof. Antonio Caminha. Desigualdades 1

Polos Olímpicos de Treinamento. Aula 1. Curso de Álgebra - Nível 3 Prof. Antonio Caminha. Desigualdades 1 Polos Olímpios de Treinamento Curso de Álgebra - Nível 3 Prof Antonio Caminha Aula Desigualdades Nesta aula, aprenderemos e exeritaremos a desigualdade entre as médias aritmétia e geométria e a desigualdade

Leia mais

Linguagem Computacional

Linguagem Computacional Informática II Linguagem Computacional Algoritmos e Programação Parte 3 Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário Operações e Expressões q Definição q Operadores: Aritméticos. Relacionais.

Leia mais

Desenho de algoritmos

Desenho de algoritmos Folha Prática Desenho de Algoritmos 1 Desenho de algoritmos Resolver as questões que se seguem usando fluxogramas ou uma outra linguagem para algoritmos. A. Instruções/acções de atribuição e leitura/escrita

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C 1º Semestre 2006/2007 27/02/2007 (D) Leia com atenção as perguntas e justifique todas as suas respostas. 1. Explique

Leia mais

Desenho e Análise de Algoritmos CC /2018. Folha 1 - Revisão: Escrita de algoritmos em pseudo-código e verificação de correção

Desenho e Análise de Algoritmos CC /2018. Folha 1 - Revisão: Escrita de algoritmos em pseudo-código e verificação de correção Departamento de Ciência de Computadores FCUP Desenho e Análise de Algoritmos CC2001 2017/2018 Folha 1 - Revisão: Escrita de algoritmos em pseudo-código e verificação de correção Descrição da linguagem

Leia mais

Linguagem C. Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973.

Linguagem C. Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973. Aula 2 05/03/2015 Linguagem C Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973. Um programa em C é Texto que segue as regras formais

Leia mais

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 01

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 01 Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE Núcleo de Arte e Tecnologia julio lucio martin Aula 01 O que vamos entender? eletrônica corrente elétrica: voltagem resistência intensidade

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL 1º Semestre 2005/2006 Introdução à Programação Correcção do Exame de 4/02/2006 Leia com atenção as perguntas

Leia mais

Computação Eletrônica

Computação Eletrônica Computação Eletrônica Pascal e compiladores O Computador Memória RAM Nota: Por causa de algumas animações, veja todos slides em tela cheia (pressione F5) Dispositivo de Entrada (teclado) Unidade de Processamento

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 19: Mais exemplos de recursão Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Desenhar árvores 2. Torre de Hanoi 3. Ordenação

Leia mais

Estruturas condicionais

Estruturas condicionais Estruturas condicionais David Déharbe 1 1 Objetivos da aula Revisar os primeiros elementos de linguagem C já vistos. Condicionais simples Condicionais compostas Operadores lógicos 2 2 Objetivos da aula

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 10 (Baseada nos slides do Prof. André Balan) Recursão Recursão Da wikipedia: A recursão é o processo pelo qual

Leia mais

As Equações de Maxwell e a Onda Eletromagnética

As Equações de Maxwell e a Onda Eletromagnética As Equações de Maxwell e a Onda Eletromagnétia Evandro Bastos dos antos 27 de Maio de 2017 1 Introdução Até agora vimos aqui quatro leis do no eletromagnetismo. A lei de Gauss na eletrostátia, E ˆnda =

Leia mais

O Predicado concatena

O Predicado concatena O Predicado concatena Hoje em dia as implementações de PROLOG já trazem o predicado append/3 que junta a lista do 1º argumento com a lista do 2º, gerando a lista do 3º argumento. Mas se esse predicado

Leia mais

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Operações básicas + - / * ** ou pow(a,b) % = ==,!=, , = or, and, not Valor dos operadores 10/3 10.0/3 10/3.0 10%3

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Tipos de variáveis comuns em linguagens em geral Identificadores

Leia mais

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal. Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Herança. Herança. Hierarquia de Classes. Hierarquia de Classes PARTE 2

Programação Orientada a Objetos para Redes de Computadores. Herança. Herança. Hierarquia de Classes. Hierarquia de Classes PARTE 2 Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação - Herança Herança Herança Criação de uma nova lasse de uma

Leia mais

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Aula 01 Algoritmos e lógica de programação e introdução ao C++ Aula 01 Algoritmos e lógica de programação e introdução ao C++ Autor: Max Rodrigues Marques Carga Horária: 2h 21 de julho de 2015 1 Algoritmo e lógica de programação Ementa do curso 1. Definições de algoritmo

Leia mais

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU Aula 6 Oficina de Programação Estruturas Condicionais no C Profa. Elaine Faria UFU - 2017 Estrutura Condicional Simples Algoritmo se () entao instrução fimse A instrução só será executada se

Leia mais