GSI010 - Programação Lógica Predicados extra-lógicos

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

Download "GSI010 - Programação Lógica Predicados extra-lógicos"

Transcrição

1 GSI00 - Programação Lógica Predicados extra-lógicos

2 Aula de hoje Predicados extra-lógicos Operações com listas Operações com as bases de fatos

3 Predicados extra-lógicos Definição Predicado para trabalhar com outros predicados verificação do conteúdo de variáveis/tipos findall, bagof, setof manipulação de fatos aplicando operações a listas

4 Predicados para verificar tipos Para tipos numéricos: integer/, float/, number/ Para tipos átomos (strings simples, não numéricos):atom/ somainteiros(x,y,z) : integer(x), integer(y), Z is X+Y. ler_idade(x) : read(x), number(x), X >= 0, X<0. ler_atomo(x) : read(x), atom(x).

5 Predicados para verificar tipos Para tipos simples (não compostos): atomic/ Para tipos compostos (não simples): compound/ Para variáveis unificadas ou não: nonvar/, var/ simplesoucomposto(x) : atomic(x),!, write( Conteudo da variavel: simples. ). simplesoucomposto(x) : compound(x), write( Conteudo da variavel: composto ).

6 Construção e decomposição de termos Predicados extra-lógicos para decompor e compor termos: functor/ functor(termo, Functor, Aridade) Unifica com o Termo, seu Functor e Aridade arg/ arg(n, Termo, Argumento) Unifica com N-ésimo Argumento de um Termo =../ Termo =.. Lista = [Functor Argumentos] Unifica o Functor e Argumentos de um Termo em uma Lista

7 Predicado extra-lógico: functor/ functor(termo, Functor, Aridade) Unifica com o Termo, seu Functor e Aridade arg/ Unifica com N-ésimo Argumento de um Termo? functor(pagina(idioma(portugues), pagina principal, ), Functor, Aridade). Functor=pagina, Aridade=.? arg(, pagina(idioma(portugues), pagina principal, ), Conteudo). Conteudo= pagina principal. %construção de um novo termo data/? functor(d, data, ), arg(, D, ), arg(, D, abril), arg(, D, 99). D=data(, abril, 99). 8 9

8 Predicado extra-lógico: =../ Termo =.. Lista = [Functor Argumentos] Unifica o Functor e Argumentos de um Termo em uma Lista Pagina = html(meta([idioma(portugues), palavra_chave(prolog), palavra_chave(ufu), titulo( Pagina prolog da ufu )]), body(estilo([font(arial)]), conteudo([h(fontcolor(red),subtitulo), p(estilo([bold]),conteudo([ Primeira frase do paragrafo,br, frase do p ])), p(estilo([italic]), conteudo([ frase do p. ])) ])) ), Pagina =.. Lista

9 Adicionar e remover fatos da base de dados Listar fatos: listing Adicionar fatos: assert/ adiciona sem garantia de aonde asserta/ adiciona no começo da lista de fatos assertz/ adiciona no fim Remover fatos: retract/ - remover um fato retractall/ - remover vários fatos

10 Fatos dinâmicos e estáticos Organização do que é código fixo e o que é informação temporária e alterável. Fatos e predicados podem ser dinâmicos ou estáticos. static se for carregado de arquivo não pode ser modificado por assert ou retract dynamic pode ser modificado por assert e retract

11 Declaração um fato dinâmico Usar no começo do arquivo de dados filme.pl da seguinte forma. : dynamic filme/, ator/. filme( jurassic park, spielberg ).

12 Guardando respostas prévias: call/ resolve/ call(consulta, Arg, Arg,...) call é verdade se a Consulta for verdadeira? assert(filme(schindler, spielberg)). true.? assert(filme(jurassic, spielberg)). true.? call(filme, NomeDoFilme, spielberg), assertz(filme_spielberg( NomeDoFilme)). NomeDoFilme = schindler.? listing(filme_spielberg). : dynamic filme_spielberg/. filme_spielberg(schindler). true

13 Operações em listas Como executar uma determinada regra em cada elemento de uma lista? maplist/ true se a Regra/ aplicada em cada elemento da Lista sempre é verdade maplist(regra, Lista) maplist/ usar de Regra tem aridade maplist(regra, Lista, Lista) maplist/ usar para Regra/ maplist(regra, Lista, Lista, Lista)? multiplica(,,x). X =.? multiplica(,,x). X =.? maplist(multiplica, [,,,,], [0,0,,,], R). R = [0, 0,, 8, 0].? maplist(multiplica, [,,,,], [0,0,,], R). false

14 Predicados bagof/, setof/, findall/ bagof/, setof/, findall/ Criam listas para todas as possíveis unificações. Diferenças entre eles findall/ acumula em uma lista todas as unificações de todas as variáveis bagof/ acumula unificações em uma lista separada para cada variável setof/ parecido ao bagof mas elimina repetições e ordena

15 findall/ Base: classe(a, vog). classe(b, con). classe(c, con). classe(d, con). classe(e, vog). classe(f, con). classe(o, vog) Consulta:? findall(letra, classe(letra, Classe), Lista).

16 bagof/ Base: classe(a, vog). classe(b, con). classe(c, con). classe(d, con). classe(e, vog). classe(f, con). classe(o, vog) Consulta:? bagof(letra, classe(letra, Classe), Lista).

17 setof/ Base: classe(a, vog). classe(b, con). classe(c, con). classe(d, con). classe(e, vog). classe(f, con). classe(o, vog) Consulta:? setof(classe/letra, classe(letra, Classe), Letras).

18 Exemplos? maplist(assertz, [idade(pedro,), idade(ana,), idade(alice,), idade(joao, 8)]). true.? findall(crianca,idade(crianca,idade),l). L = [pedro, ana, alice, pedro, ana, alice, joao].? findall(crianca/idade,idade(crianca,idade),l). L = [pedro/, ana/, alice/, pedro/, ana/, alice/, joao/8].? findall(crianca/idade, (idade(crianca,idade),idade>),l). L = [pedro/, pedro/, joao/8]

19 Exercícios: fazer a seguinte regra Fazer pegar_titulo/ que recebe a descrição de um HTML e retorna o título dele.? Pagina = html(meta([idioma(portugues), palavra_chave(prolog), palavra_chave(ufu), titulo( Pagina prolog da ufu )]), body(estilo([font(arial)]), conteudo([h(fontcolor(red),subtitulo), p(estilo([bold]),conteudo([ Primeira frase do paragrafo,br, frase do p ])), p(estilo([italic]), conteudo([ frase do p. ])) ])) ), pegar_titulo(pagina, Titulo). Titulo= Pagina prolog da ufu

20 Exercícios: fazer a seguinte regra Fazer pegar_fato/ que recebe a descrição de um HTML e o nome de um Functor de um fato de interesse e retorna, se houver, todos os Fatos com esse functor.? Pagina = html(meta([idioma(portugues), palavra_chave(prolog), palavra_chave(ufu), titulo( Pagina prolog da ufu )]), body(estilo([font(arial)]), conteudo([h(fontcolor(red),subtitulo), p(estilo([bold]),conteudo([ Primeira frase do paragrafo,br, frase do p ])), p(estilo([italic]), conteudo([ frase do p. ])) ])) ), pegar_fato(pagina, FunctorFato=p, Fatos). Fatos = [p(estilo([bold]),conteudo([ Primeira frase do paragrafo,br, frase do p ])), p(estilo([italic]), conteudo([ frase do p. ]))]

21 Referências User guide, Programming in XPCE/Prolog, Wielemaker e Anjewierden (00). Luis, A. M. Palazzo, Introdução à programação prolog, Educat, 99 Slides profs. Elaine Faria, Hiran Nonato e Gabriel Coutinho - UFU Slides da Profa. Solange - ICMC - USP

Predicados extra lógicos. Prof. Elaine Faria e Hiran Nonato Programação Lógica UFU 2012

Predicados extra lógicos. Prof. Elaine Faria e Hiran Nonato Programação Lógica UFU 2012 Predicados extra lógicos 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

Leia mais

UNIDADE ACADÊMICA: Faculdade de

UNIDADE ACADÊMICA: Faculdade de UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM SISTEMAS DE INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Programação Lógica ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GSI010 PERÍODO: 2

Leia mais

Aula 2 Programação Lógica Sintaxe Prolog. Profa. Elaine Faria UFU -2014

Aula 2 Programação Lógica Sintaxe Prolog. Profa. Elaine Faria UFU -2014 Aula 2 Programação Lógica Sintaxe Prolog Profa. Elaine Faria UFU -2014 Créditos O material a seguir consiste de adaptações e extensões dos originais gentilmente cedidos pelo Prof. Alexsandro Santos Soares

Leia mais

PROLOG OPERADORES PRÉ-DEFINIDOS

PROLOG OPERADORES PRÉ-DEFINIDOS 118 11 PROLOG OPERADORES PRÉ-DEFINIDOS Exercício 11.6 Suponha que tem uma base de dados que indica as notas que os alunos tiveram nas várias disciplinas (nota(nome,disciplina,nota)) e quais os alunos inscritos

Leia mais

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são: Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.

Leia mais

Programação Lógica. A Linguagem Prolog. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia

Programação Lógica. A Linguagem Prolog. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia Programação Lógica A Linguagem Prolog Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 21 de agosto de 2015 Paulo H. R. Gabriel (FACOM/UFU) Programação

Leia mais

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Objectivos Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Vantagens da programação Eficiência em operações repetitivas Melhor clarividência na decomposição

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática 6 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... Diz-se que o nome de um método foi sobrecarregado ( overloaded

Leia mais

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo LAÇOS Laços são comandos da linguagem

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 09 Introdução ao Prolog Edirlei Soares de Lima Introdução O Prolog é uma linguagem de programação baseada em lógica de primeira ordem. Não é

Leia mais

extendsé usado para indicar herança em JAVA

extendsé usado para indicar herança em JAVA Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando extendsé usado para indicar herança em JAVA class ClasseA{ protected int a; public int geta()

Leia mais

Sintaxe e Semântica de Programas Prolog

Sintaxe e Semântica de Programas Prolog Sintaxe e Semântica de Programas Prolog Thiago A. S. Pardo Solange Rezende Inteligência Artificial 1 Objetos em Prolog Objetos (Termos) Objetos Simples Estruturas Constantes (Atômicos) Variáveis Átomos

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

Os valores são as entidades básicas da linguagem Haskell. São os elementos atómicos.

Os valores são as entidades básicas da linguagem Haskell. São os elementos atómicos. Valores & Expressões Os valores são as entidades básicas da linguagem Haskell. São os elementos atómicos. As expressões são obtidas aplicando funções a valores ou a outras expressões. O interpretador Haskell

Leia mais

Correção Ortográfica. Processamento Estatístico da Linguagem Natural. Correção de Erros. Distância Mínima de Edição. Distância Mínima de Edição

Correção Ortográfica. Processamento Estatístico da Linguagem Natural. Correção de Erros. Distância Mínima de Edição. Distância Mínima de Edição Processamento Estatístico da Linguagem Natural Aula 6 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Correção Ortográfica Três tipos de problemas: Detecção de

Leia mais

Estrutura dos termos

Estrutura dos termos Tipo dos termos Predicados de sistema para tipos integer( X ) X é um inteiro atom( X ) X é um átomo atomic( X ) X é um inteiro ou um átomo % aplana( Xs, Ys ) Ys é uma lista com os elementos de Xs (fechada)

Leia mais

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON 02/47 O QUE É PYTHON? Python é uma linguagem de propósito geral, de alto nível e interpretada Python será

Leia mais

Lista de Comandos: Arquivo texto e Binário

Lista de Comandos: Arquivo texto e Binário Lista de Comandos: Arquivo texto e Declaração de arquivo do tipo binário program sequencial; type endereco = record end; rua : string[40]; numero : integer; CEP : real; cadastro = record end; nome : string[30];

Leia mais

JavaScript (Elementos de Programação e Programação Básica)

JavaScript (Elementos de Programação e Programação Básica) Linguagem de Programação para Web JavaScript (Elementos de Programação e Programação Básica) Prof. Mauro Lopes 1 Objetivos Iniciaremos aqui o nosso estudo sobre a Linguagem de Programação JavaScript. Apresentaremos

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos

Leia mais

Lição 4 Fundamentos da programação

Lição 4 Fundamentos da programação Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças

Leia mais

Algoritmos Fundamento e Prática

Algoritmos Fundamento e Prática Everton Coimbra de Araújo Algoritmos Fundamento e Prática 3 a Edição Ampliada e Atualizada Visual Books Sumário Prefácio... 15 Introdução... 17 Capítulo 1 - Os Cursos de Informática e Computação... 23

Leia mais

Aula Prática 3. Paradigmas da Programação I / Programação Funcional. ESI/MCC 1 o ano (2005/2006)

Aula Prática 3. Paradigmas da Programação I / Programação Funcional. ESI/MCC 1 o ano (2005/2006) Aula Prática 3 Paradigmas da Programação I / Programação Funcional ESI/MCC 1 o ano (2005/2006) Nesta aula pretende-se que os alunos: consolidem os conceitos de expressão, tipo e redução; compreendam a

Leia mais

Listas em Prolog. Listas

Listas em Prolog. Listas Listas em Prolog Esta aula trata da estrutura de dados lista e programas Prolog para processamento de listas Inteligência Artificial 1 Listas Lista é uma das estruturas mais simples em Prolog, muito comum

Leia mais

Estruturas de Repetição e String. Vanessa Braganholo

Estruturas de Repetição e String. Vanessa Braganholo Estruturas de Repetição e String Vanessa Braganholo vanessa@ic.uff.br Aula de hoje... Estruturas de repetição while...do do...while for String Manipulação de textos 2 Estruturas de Repetição Permitem que

Leia mais

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Sintaxe e semântica Aula 4 Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Sintaxe A sintaxe de uma linguagem de programação é a forma

Leia mais

Rodrigo de Barros Paes

Rodrigo de Barros Paes Rodrigo de Barros Paes Novatec Novatec Editora Ltda. 2016. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 6. Revisão Laços de Repetição

CURSO BÁSICO DE PROGRAMAÇÃO AULA 6. Revisão Laços de Repetição CURSO BÁSICO DE PROGRAMAÇÃO AULA 6 Revisão Laços de Repetição TRABALHO 1º Semestre Prazo de entrega: 14/06. Individual ou em Dupla Compactar todos os exercícios em um arquivo. Enviar para o e-mail do PET:

Leia mais

Expressão Condicional

Expressão Condicional Programação Funcional UFOP DECOM 2014.1 Aula prática 4 Expressão Condicional Resumo Expressões condicionais permitem a escolha entre duas alternativas na obtenção do valor da expressão, com base em uma

Leia mais

Nomes, Amarração, Verificação de Tipos, e Escopo

Nomes, Amarração, Verificação de Tipos, e Escopo 5 Nomes, Amarração, Verificação de Tipos, e Escopo Concepts of Programming Languages, 5/e Robert W. Sebesta Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave

Leia mais

Array em Java. Figura 1 - Exemplo de um array de inteiros

Array em Java. Figura 1 - Exemplo de um array de inteiros Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:

Leia mais

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética. Sequências de escape \n Nova linha. Posiciona o cursor de tela no início da próxima linha. \t Tabulação horizontal. Move

Leia mais

Aula 4 Estruturas de Controle

Aula 4 Estruturas de Controle UNIP Universidade Paulista Ciência da Computação Aula 4 Estruturas de Controle Prof. Célio Ricardo Castelano 1 Tópicos Abordados 1) Instruções de seleção em Java: 2) Instruções de repetição em Java: 2

Leia mais

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Programação Estruturada e Orientada a Objetos. Objetos e Métodos Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;

Leia mais

Estruturas de Repe,ção e String

Estruturas de Repe,ção e String Estruturas de Repe,ção e String Leonardo Gresta Paulino Murta leomurta@ic.uff.br Estruturas de repe

Leia mais

Algoritmos I Aula 13 Linguagem de Programação Java

Algoritmos I Aula 13 Linguagem de Programação Java Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto

Leia mais

Exemplos de programação em PASCAL

Exemplos de programação em PASCAL Exemplos de programação em PASCAL Exemplos baseados no cálculo de médias Revisão das instruções de repetição cíclica O conceito de acumulador e contador Utilização de arrays Problema: Dada uma sequência

Leia mais

Programação Orientada a Objetos para Redes de Computadores

Programação Orientada a Objetos para Redes de Computadores Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Arrays e Ponteiros Arrays Estruturas de dados que

Leia mais

Estruturas de controle Parte 1

Estruturas de controle Parte 1 1. Objetivos Estruturas de controle Parte 1 Nas lições anteriores, foram mostrados programas seqüenciais, onde as instruções foram executadas uma após a outra de forma fixa. Nesta lição, discutiremos estruturas

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Para aprender uma linguagem de programação podemos começar por conhecer os vocábulos ou símbolos que formam o seu léxico e depois aprender como esses vocábulos integram as instruções (frases) que compõe

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA DIM0320 Algoritmos e Programação de Computadores #VARIÁVEIS #TIPOS DE DADOS E L I EZ I O S O A R ES E L I EZ

Leia mais

Compiladores Aula 12. Celso Olivete Júnior.

Compiladores Aula 12. Celso Olivete Júnior. Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula de hoje Análise léxica Tabela de símbolos Análise sintática Análise semântica Geração de código intermediário Manipulação de erros Tabela de palavras

Leia mais

Programação Funcional

Programação Funcional Programação Funcional Lucília Camarão de Figueiredo Universidade Federal de Ouro Preto lucilia@dcc.ufmg.br Aula 04: Definição de funções 1 DEFINIÇÃO DE FUNÇÕES f x1 x2...xn = E Define uma função f de tipo

Leia mais

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias. 5 Arrays Arrays são grupos de variáveis do mesmo tipo. As arrays podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos), mas é importante lembrar que todos os valores devem ser

Leia mais

Tipos de Dados e Variáveis

Tipos de Dados e Variáveis Tipos de Dados e Variáveis Universidade dos Açores Departamento de Matemática www.uac.pt/~hguerra!! Existem dois conceitos fundamentais na computação:!! Algoritmo "! sequencia de instruções para resolução

Leia mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um

Leia mais

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

PHP: <?php echo(hello World);?> Printa Hello World na página do navegador, mais fácil do que no Java. Nome: Vinícius Meng 3º ano Escrever em tela: public class HelloWorld { public static void main (String[] args) { System.out. println ("Hello World"); Printa Hello World na tela do terminal. echo("hello

Leia mais

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão Educação Módulo Lógica e Ética de Programação com aplicações em Java Projeto khouse Profissionalizante Profª Larissa Brandão Educação e Ética Fundamentos da Programação Objetivos: Reconhecer as diferenças

Leia mais

Linguagem C (continuação)

Linguagem C (continuação) Linguagem C (continuação) Funções, arrays e ponteiros Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João

Leia mais

Linguagens de Programação Aula 13

Linguagens de Programação Aula 13 Linguagens de Programação Aula 13 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Suporte para a programação orientada a objetos 2 Na aula de hoje Programação Funcional Linguagem Haskell 3 Roteiro

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 13 a Aula Definição de tipos

Pedro Vasconcelos DCC/FCUP. Programação Funcional 13 a Aula Definição de tipos Programação Funcional 13 a Aula Definição de tipos Pedro Vasconcelos DCC/FCUP 2014 Declarações de sinónimos Podemos dar um nome novo a um tipo existente usando uma declaração de sinónimo. Exemplo (do prelúdio-padrão):

Leia mais

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Sumário de Aula } Conceito de Memória } Variáveis e Tipos de Dados } Constantes 2 Conceito de Memória } A memória de um computador é

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 02 Objetos e Strings Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos. Damos

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Aula 02: Custos de um algoritmo e funções de complexidade

Aula 02: Custos de um algoritmo e funções de complexidade MCTA028 Programação Estruturada Aula 02: Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20106 1 Linguagem C: Tipos de dados 2 Linguagem C: Tipos

Leia mais

Paradigmas de Programação. Programação Lógica. Profª Andréa Schwertner Charão DLSC/CT/UFSM

Paradigmas de Programação. Programação Lógica. Profª Andréa Schwertner Charão DLSC/CT/UFSM Paradigmas de Programação Programação Lógica Profª Andréa Schwertner Charão DLSC/CT/UFSM Um programa pode responder isso? Há 5 casas de diferentes cores, com donos de diferentes nacionalidades. Os proprietários

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Um verificador de tautologia

Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Um verificador de tautologia Programação Funcional 14 a Aula Um verificador de tautologias Pedro Vasconcelos DCC/FCUP 2014 Proposições lógicas Uma proposição lógica é construida apartir de: constantes T, F (verdade e falsidade) variáveis

Leia mais

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double

Leia mais

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto Problema proposto Em um torneio de futebol a pontuação foi definida da seguinte maneira: vitória por goleada 6 pontos; vitória simples 3 pontos; empate 1 ponto. Como determinar a quantidade mínima de jogos

Leia mais

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento. Introdução Atributos, métodos e encapsulamento joao@ecomp.uefs.br Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências

Leia mais

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema

Leia mais

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias SCC 124 - Introdução à Programação para Engenharias Comandos Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes 1 Aula de

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

Introdução à Programação em Java Constantes, expressões e variáveis

Introdução à Programação em Java Constantes, expressões e variáveis Constantes, expressões e variáveis Prof. Rodrigo Hausen Constante Valor definido pelo programador que não pode ser alterado durante a execução do programa. Exemplos em Java: numéricas inteiras: 1, 3, 9,

Leia mais

Introdução ao Fortran 90. Aula 3

Introdução ao Fortran 90. Aula 3 Introdução ao Fortran 90 Aula 3 Usando vetores e matrizes Definição Uma matriz ou vetor consiste de um conjunto retangular de elementos, todos do mesmo tipo e espécie do tipo. Uma matriz ou vetor é um

Leia mais

AULA TEÓRICA 5 Tema 3. Instruções básicas de entrada e saída (continuação)

AULA TEÓRICA 5 Tema 3. Instruções básicas de entrada e saída (continuação) AULA TEÓRICA 5 Tema 3. Instruções básicas de entrada e saída (continuação) Ø Um primeiro programa em Java. Elaborado por eng.tatiana Kovalenko, UEM Um primeiro programa em Java Nossa tarefa não só aprender

Leia mais

Classe. Objeto é uma instância de uma classe. Classe é onde conceituamos o objeto É a essência do objeto Define os atributos e métodos

Classe. Objeto é uma instância de uma classe. Classe é onde conceituamos o objeto É a essência do objeto Define os atributos e métodos Criação de Objetos e Acesso à Métodos Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Classe Classe é onde conceituamos o objeto É a essência do objeto Define os atributos

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações

Linguagens de Programação Conceitos e Técnicas. Amarrações Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador

Leia mais

INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia Tela inicial do Editor de programas do DEV C++ Dicas

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2012 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Ambientação com a Sintaxe de Java: parte 1

Ambientação com a Sintaxe de Java: parte 1 Ambientação com a Sintaxe de Java: parte 1 Prof. Gustavo Wagner FATEC-PB Programas em Java Texto do programa: arquivo com extensão.java Arquivo contém ao menos uma classe Nome do arquivo deve ser IGUAL

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Polimorfismo Mais exemplos

Leia mais

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES ESTRUTURA DE DADOS VETORES E LISTAS LINEARES Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer os vetores Compreender as Listas Sequenciais Implementar uma Lista Sequencial com Vetor GRUPOS? Até o fim

Leia mais

Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes

Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Histórico Desenvolvida em 2012 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman Gratuita, Open Source e licenciada sob a Licença

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo Linguagem Python Inteligência Artificial Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Introdução Características de Python Rodando programas Módulos Tipos básicos Números e variáveis Strings

Leia mais

Introdução aos aplicativos Java. Prof. Marcelo Roberto Zorzan

Introdução aos aplicativos Java. Prof. Marcelo Roberto Zorzan Introdução aos aplicativos Java Prof. Marcelo Roberto Zorzan Aula de Hoje Aplicativo Java Primeiro programa Java Tipos de comentários Instruções de saída Aplicativo Java Um aplicativo java é um programa

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 09 Programação Funcional (Haskell) Edirlei Soares de Lima Programação Funcional A programação funcional modela um problema computacional

Leia mais

Computação Científica com Python

Computação Científica com Python Computação Científica com Python Conteúdo 1ª Parte Baixando e instalando os principais módulos do Python; Primeiro contato, usando o Python como uma calculadora; Tipos de dados e objetos; Sintaxe da linguagem

Leia mais

TIPOS ESTRUTURADOS. Prof. Msc. Luis Filipe Alves Pereira 2015

TIPOS ESTRUTURADOS. Prof. Msc. Luis Filipe Alves Pereira 2015 TIPOS ESTRUTURADOS Prof. Msc. Luis Filipe Alves Pereira 2015 TIPOS ESTRUTURADOS 02/34 TPOS DE OBJETOS Usamos até agora objetos dos seguintes tipos int bool float str tipos escalares contém estrutura interna

Leia mais

Paradigmas da Programação PPROG. Linguagem JAVA. Contentores de Objetos

Paradigmas da Programação PPROG. Linguagem JAVA. Contentores de Objetos PPROG Paradigmas da Programação Linguagem JAVA Contentores de Objetos Nelson Freire (ISEP DEI-PPROG 2012/13) 1/33 Contentores Sumário Noção de Contentor Categorias de Contentores Conjunto Lista Fila de

Leia mais

AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br CONCEITOS FUNDAMENTAS Na computação, temos um problema a ser

Leia mais

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos Ligação Dinamica Polimorfismo Verificação Dinâmica de Tipos 2 Introdução A vinculação ou ligação

Leia mais

Aula teórica 4. Tema 3. Linguagem de Programação Java. Manipulação de informação simples (cont.)

Aula teórica 4. Tema 3. Linguagem de Programação Java. Manipulação de informação simples (cont.) Aula teórica 4 Tema 3. Linguagem de Programação Java. Manipulação de informação simples (cont.) Tipos de dados básicos: Representação de números inteiros Representação de números decimais Instrução de

Leia mais

Manipulação de Strings. Vanessa Braganholo

Manipulação de Strings. Vanessa Braganholo Manipulação de Strings Vanessa Braganholo vanessa@ic.uff.br Strings } Representam informação textual nome = Maria Silva nacionalidade = brasileira nome_mae = Ana Santos Silva nome_pai = Jonas Nunes Silva

Leia mais

Curso de PHP. FATEC - Jundiaí

Curso de PHP. FATEC - Jundiaí Curso de PHP FATEC - Jundiaí Uma função é um bloco de código c reutilizável que é executado devido a um evento ou pela chamada de outra função. Deve-se usar a declaração function para criar uma função.

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Prof. Marcelo Siedler Objetivos do documento: Apresentar conceitos relacionados a programação estruturada Exercícios com métodos. Programação Estruturada Programação estruturada

Leia mais

Objetos Estruturados Listas Recursão Exercícios. Inteligência Artificial

Objetos Estruturados Listas Recursão Exercícios. Inteligência Artificial Prolog Objetos Estruturados Objetos Estruturados Listas Recursão Exercícios Inteligência Artificial Exercícios Relembrando a introdução: 1. Escreva um programa Prolog para representar: João nasceu em Campos

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;

Leia mais

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias SCC 12 - Introdução à Programação para Engenharias Aula de hoje Introdução Sequências Classes e objetos Listas Listas Operações em listas Pilhas e filas Professor: André C. P. L. F. de Carvalho, ICMC-USP

Leia mais

Programação Procedimental GBC /1 Prof. Renan Cattelan Prática 10. Estruturas e alocação dinâmica

Programação Procedimental GBC /1 Prof. Renan Cattelan  Prática 10. Estruturas e alocação dinâmica Programação Procedimental GBC014 2015/1 Prof. Renan Cattelan www.facom.ufu.br/~renan Prática 10 Estruturas e alocação dinâmica Exercício Crie um programa para armazenar uma agenda de contatos pessoais

Leia mais

Lógica e Bases de Dados. Prof. Elaine Faria e Hiran Nonato Programação Lógica UFU 2012

Lógica e Bases de Dados. Prof. Elaine Faria e Hiran Nonato Programação Lógica UFU 2012 Lógica e Bases de Dados Prof. Elaine Faria e Hiran Nonato Programação Lógica UFU 2012 Bases de Dados Relacionais "Base de dados" Coleção de dados interrelacionados, armazenada de modo independente do programa

Leia mais

Linguagens de Programação

Linguagens de Programação Conceitos e Técnicas Prof. Isabel Cafezeiro isabel@dcc.ic.uff.br Expressão: Uma expressão é uma frase do programa que, ao ser avaliada, produz como resultado um valor. 1 aa 1+4 f(1,g(x)) Elementos da expressão:

Leia mais

p Ja usamos, por diversas vezes, a classe String. Vimos o sistema de pacotes do Java e nunca precisamos dar um import nessa classe.

p Ja usamos, por diversas vezes, a classe String. Vimos o sistema de pacotes do Java e nunca precisamos dar um import nessa classe. Pacote java.lang 1 java.lang p Ja usamos, por diversas vezes, a classe String. Vimos o sistema de pacotes do Java e nunca precisamos dar um import nessa classe. p Isso ocorre porque ela está dentro do

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando

Leia mais