Vamos agora abordar um conjunto de aspectos complementares, incluindo:
|
|
- Ricardo Aragão Lombardi
- 6 Há anos
- Visualizações:
Transcrição
1 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 A alteração dinâmica do conhecimento A entrada/saída usando ficheiros Functores, Argumentos e =.. Soluções Múltiplas Definição dinâmica de operadores 95 Conversão de strings em listas de códigos O predicado name converte o átomo do 1º argumento numa lista de códigos de caracteres que aparecem no 2º argumento e vice-versa?- name(abc,l). L = [97,98,99]?- name(a,[97,97,98,99,98,99]). A = aabcbc 96 1
2 Carga de programas e Bases de Conhecimento A maioria das implementações de PROLOG permitem que a carga de uma Base de Conhecimento seja feita através de um Menu Contudo, podemos efectuar essa carga a partir de um ficheiro escrito em PROLOG, usando: [filename] ou consult(filename) É comum que um programa PROLOG inicie pela carga de outros ficheiros, vejamos o exemplo do conteúdo de um ficheiro chamado bc: :-consult(bc1),consult(bc2). run:-p,q. 97 Carga de programas e Bases de Conhecimento Vejamos o conteúdo dos ficheiros bc1 e bc2: bc1 contém: p:-write(p). bc2 contém: q:-write(q). Vejamos o que acontece quando se faz a consulta de bc: # seconds to consult c:\carlos\prolog\bc1.pl # seconds to consult c:\carlos\prolog\bc2.pl # seconds to consult c:\carlos\prolog\bc.pl?- run. pqyes 98 2
3 Carga de programas e Bases de Conhecimento Quando num programa aparece o :- sem nada à esquerda isso significa que nesse momento o que está do lado direito é executado automaticamente, mesmo antes de ser interpretado o restante do programa Em qualquer momento podemos reconsultar um ficheiro escrito em PROLOG, usando: [-filename] ou reconsult(filename) 99 Alteração dinâmica do conhecimento Podemos inserir novos factos, e mesmo regras na Base de Conhecimento com o predicado assert ou asserta ou assertz Também é possível retirar factos e regras com o predicado retract Contudo, tais factos ou regras têm que ser declaradas como sendo dinâmicas através de dynamic predicado/aridade 100 3
4 Alteração dinâmica do conhecimento Um exemplo: :-dynamic figura/2. figura(hexágono,6). cria_figuras:- assertz(figura(triângulo,3)), asserta(figura(quadrado,4)), assertz(figura(pentagono,5)).?- figura(f,nl). F = hexágono, NL = 6?- cria_figuras. yes?- figura(f,nl). F = quadrado, NL = 4 ; F = hexágono, NL = 6 ; F = triângulo, NL = 3 ; F = pentagono, NL = Alteração dinâmica do conhecimento Um exemplo: :-dynamic figura/2. figura(hexágono,6).?- retract(figura(triângulo,x)). X = 3?- retract(figura(x,y)). X = quadrado Y = 4 cria_figuras:- assertz(figura(triângulo,3)), asserta(figura(quadrado,4)), assertz(figura(pentagono,5))
5 Alteração dinâmica do conhecimento Um exemplo criando uma regra: :-dynamic r/2. cria_regra:-asserta((r(x,y):-r1(x,z),r2(z,y))). r1(a,b). r1(a,c). r1(a,d). r2(b,e). r2(b,f). r2(d,g).?- r(x,y). no?- cria_regra. yes?- r(x,y). X = a, Y = e ; X = a, Y = f ; X = a, Y = g 103 Entrada/Saída usando ficheiros O modo tradicional de entrada/saída usando ficheiros para entrada é o seguinte: see(filename) as operações de leitura passarão a ser feitas usando o ficheiro filename (é o novo input stream) seen fecha o input stream seeing(f) F toma o valor do input stream 104 5
6 Entrada/Saída usando ficheiros O modo tradicional de entrada/saída usando ficheiros para saída é o seguinte: tell(filename) as operações de escrita passarão a ser feitas usando o ficheiro filename (é o novo output stream) told fecha o output stream telling(f) F toma o valor do output stream 105 Functores, Argumentos Termo estrutura com 1 functor e argumentos (tal como acontece nos factos) functor(t,f,n) o termo T tem o functor F e N argumentos?- functor(f(a,b,c),f,n). F = f, N = 3 arg(n,t,a) A é o n mo argumento de T?- arg(2,f(a,b,c),a). A = b 106 6
7 =.. O =.. Converte o termo que está a sua esquerda numa lista, cuja cabeça é o functor do termo e os outros elementos são os diversos argumentos do termo?- f(a,b,c)=..l. L = [f,a,b,c]?- T=..[a,b,c]. T=a(b,c) 107 Soluções Múltiplas Quando uma questão é colocada o PROLOG dá as soluções uma a uma, carregando-se em ; Mas tal é pouco prático, existindo predicados que colocam todas as soluções numa lista bagof(x,q,l) L é a lista dos X que atendem a Q, se não houver solução bagof falha setof(x,q,l) L é a lista dos X que atendem a Q, L vem ordenada, elementos repetidos são eliminados, se não houver solução setof falha findall(x,q,l) L é a lista dos X que atendem a Q, se não houver solução findall tem sucesso com L=[] 108 7
8 Soluções Múltiplas f(a,1). f(a,2). f(a,2). f(z,6). f(z,5). f(x,4). f(x,3).?- findall(f(l,n),f(l,n),lista). L = _, N = _, Lista = [f(a,1),f(a,2),f(a,2),f(z,6),f(z,5),f(x,4),f(x,3)]?- setof(f(l,n),f(l,n),lista). L = _, N = _, Lista = [f(a,1),f(a,2),f(x,3),f(x,4),f(z,5),f(z,6)]?- bagof(f(l,n),f(l,n),lista). L = _, N = _, Lista = [f(a,1),f(a,2),f(a,2),f(z,6),f(z,5),f(x,4),f(x,3)]?- findall(f(l,n),(f(l,n),n>7),lista). L = _, N = _, Lista = []?- setof(f(l,n),(f(l,n),n>7),lista). no?- bagof(f(l,n),(f(l,n),n>7),lista). no 109 O findall é muito usual: Soluções Múltiplas findall(_,cruzamento,_) findall(l,linha(_,l),le) findall(linha,(linha(linha,lel),member(e,lel)),ll) findall(_, (estações(le),member(e,le),todas_linhas(e,ll), assertz(estação_linhas(e,ll))), _) findall(h(l,c,q,ln),member(h(l,c,q,ln),llh),llhq) 110 8
9 Um exemplo integrador Vamos considerar a seguinte Base de conhecimento: capital(portugal,lisboa). capital(espanha,madrid). capital(frança,paris). capital(itália,roma). capital(inglaterra,londres). Vamos escrever um programa que crie na Base de Conhecimento factos com o seguinte formato nome_país(nome_capital) 111 Um exemplo integrador converte:- findall((x,y),capital(x,y),l), assert_país_capital(l). assert_país_capital([(x,y) L]):-T=..[X,Y], assertz(t), assert_país_capital(l). assert_país_capital([]). Note-se que os novos factos só ficam residentes em memória (e não no ficheiro com o programa) 112 9
10 Um exemplo integrador Vamos resolver o mesmo problema enviando os novos factos para um ficheiro pais_cap que seja posteriormente consultado converte1:- findall((x,y),capital(x,y),l), tell(pais_cap), write_file(l), told, consult(pais_cap). write_file([(x,y) L]):-T=..[X,Y], write(t),write(. ),nl, write_file(l). write_file([ ]). 113 Operadores op(precedência,notação,nome) A precedência é um valor numérico A Notação pode ser: fx: préfixa xf: pósfixa xfx,xfy,yfx: infixa A um mesmo nível são aplicados os operadores que têm o valor numérico inferior de precedência. Para ultrapassar ambiguidades podemos usar os (), cuja precedência é nula
11 Operadores :-op(700,xfy,ou). :-op(600,xfy,e). :-op(500,fy,nao). X ou Y :- X;Y. X e Y :- X,Y. nao X :- not X. a. b. c:-fail.?- a e b. yes?- a ou b. yes?- a e c. no?- nao a. no?- nao c. yes
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
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
A linguagem Prolog. Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos.
A linguagem Prolog Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos. Um termo ou é uma constante, ou uma variável ou um termo composto. As constantes incluem
6. OPERADORES E ARITMÉTICA
6. OPERADORES E ARITMÉTICA 6.1 OPERADORES Na matemática costuma-se escrever expressões como 2*a + b*c onde + e * são operadores e 2, a, b e c são argumentos. Em particular, + e * são denominados operadores
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
Capítulo 3 Lógica de Primeira Ordem
Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur Bibliografia Baseados nos slides de Andrew Rice, Universidade
Recursão PROGRAMAÇÃO EM LÓGICA. Recursão. Sonho Recursivo. Recursão. Recursão. Linguagem Prolog Parte IV
PROGRAMAÇÃO EM LÓGICA Recursão CIÊNCIA DA COMPUTAÇÃO FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Linguagem Prolog Parte IV Usado desde a arte (em figuras, telas, etc) como também em Matemática
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 Arquivo de Entrada Exemplo do uso do see... see(arq1). le_do_arquivo(informacao). see(user).... Arquivos de Saída A fonte de
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
Interação com o usuário
Erick Galani Maziero Estagiário PAE SCC-230 Inteligência Artificial Informação explícita Conhecimento inferido ou deduzido (máquina prolog) Pode-se desejar programar proceduralmente Interação com o usuário
GSI010 - Programação Lógica Predicados extra-lógicos
GSI00 - Programação Lógica Predicados extra-lógicos Aula de hoje Predicados extra-lógicos Operações com listas Operações com as bases de fatos Predicados extra-lógicos Definição Predicado para trabalhar
EXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO EXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA LUÍS PAULO REIS DANIEL CASTRO SILVA MESTRADO INTEGRADO EM ENGENHARIA INFORMÁTICA E COMPUTAÇÃO PROGRAMAÇÃO EM LÓGICA
Prolog. MATA56 - Paradigmas de Linguagens de Programação, UFBA, Prof. Rodrigo Rocha Prolog. Iniciando.
Prolog MATA56 - Paradigmas de Linguagens de Programação, UFBA, 2016.1. Prof. Rodrigo Rocha (rodrigo@dcc.ufba.br) Baseada na lógica de primeira ordem (lógica de predicados) Concebida na década de 1970
Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
Lista 02: Pilhas & Filas
MAC122 Princípios de Desenvolvimento de Algoritmos DCC IME USP 2º Semestre de 2018 Prof.: Dr. Paulo Miranda pmiranda@vision.ime.usp.br Lista 02: Pilhas & Filas Para as questões envolvendo pilhas, assuma
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
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
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
Avaliação de expressões. Prof: Sérgio Souza Costa
Avaliação de expressões Prof: Sérgio Souza Costa Avaliação de expressões Como efetuar o cálculo de uma expressão em um computador? A / B * (D + C) Avaliação de expressões - Notações Avaliação de expressões
Ambiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Fundamentos. Paradigma de Programação Lógico. Marco A L Barbosa
Fundamentos Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Visão mais detalhada
N rainhas Colorir um mapa. MasterMind. 1 Não determinismo:geração e Teste. 2 Modificar a Base de Dados
1 Não determinismo:geração e Teste N rainhas Colorir um mapa 2 Modificar a Base de Dados MasterMind Nelma Moreira (DCC-FCUP) Lógica e Programação Aula 23 1 / 10 Não determinismo:geração e Teste Esquema
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Introdução Arquivos são usados para fazer operações de entrada e saída Disco, monitor, teclado, impressora Representação
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2. Trabalho Prático P2B
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P2B Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em
2 Aplicação Pilha: Avaliador de Expressões Simples
1 Objetivos Universidade Federal do Rio Grande do Norte Departamento de Informática e Matemática Aplicada DIMAp Prática de Algoritmos e Estrutura de Dados I DIM0426 Umberto Souza da Costa - 11/09/2007
Sistemas Inteligentes,
Sistemas Inteligentes, 12-13 1 Programação Prolog Programas Prolog são representados por cláusulas de Horn, um subconjunto de lógica de primeira ordem, onde cada cláusula só pode conter no máximo um literal
Prática 6 - Predicados extra-lógicos
GSI00 - Programação Lógica Prática 6 - Predicados extra-lógicos Predicados extra-lógicos Utilize os seguintes predicados nos exercícios a seguir, =.. findall bagof setof maplist assert retract call Exercícios
Conceitos de Linguagem de Programação - 2
Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação
Estruturas de Dados Pilhas, Filas, Listas
PMR2300 Escola Politécnica da Universidade de São Paulo Introdução Estruturas de dados são objetos que armazenam dados de forma eficiente, oferecendo certos serviços para o usuário (ordenação eficiente
MAC425: EP2 Data de entrega: 4 de dezembro de 2006
MAC425: EP2 Data de entrega: 4 de dezembro de 2006 4 brisa 3 brisa brisa 2 brisa 1 brisa brisa 1 2 3 4 Simulador do Mundo do Wumpus em Prolog Ambiente As alterações com relação ao livro AIMA, estão descritas
Algoritmos e Estrutura de Dados Aula 08 Pilhas
Algoritmos e Estrutura de Dados Aula 08 Pilhas Profa. Alana Oliveira e Prof. Davi Viana alanaslz@gmail.com e davi.viana@lsdi.ufma.br Se não entender, pergunte! Dados e Tipos de Dados Um dado é uma informação
Algoritmos e Estruturas de Dados. Grupo 1
Licenciatura em Engenharia Electrotécnica e de Computadores Algoritmos e Estruturas de Dados Trabalho prático P1B 2003/04 2 o semestre Efectue as tarefas de programação descritas abaixo, usando a linguagem
Prof. A. G. Silva. 14 de setembro de Prof. A. G. Silva Programação em Lógica 14 de setembro de / 1
Programação em Lógica Prof. A. G. Silva 14 de setembro de 2017 Prof. A. G. Silva Programação em Lógica 14 de setembro de 2017 1 / 1 Recomendações de estilo Cláusula de mesmo predicado em linhas consecutivas,
Introdução a Linguagem C. Prof. Me. Hélio Esperidião
Introdução a Linguagem C Prof. Me. Hélio Esperidião Características de um programa De forma geral a maioria dos programas são compostos por dados de entrada, processamento e dados de saída. Entrada de
Introdução ao MatLab Gráficos e manipulação de dados
Análise de Sinais (500) Ficha Prática Laboratorial III Curso: Ciências Biomédicas Duração prevista: 2 horas Introdução ao MatLab Gráficos e manipulação de dados I. Introdução No decorrer deste laboratório
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
PROLOG. Rafael D. Ribeiro, M.Sc.
PROLOG Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br Leitura e escrita de termos: Prolog oferece um predicado pré- definido read para a entrada de dados. A meta
K&R: Capitulo 2 IAED, 2012/2013
Elementos da Linguagem C K&R: Capitulo 2 Elementos da Linguagem C Identificadores Tipos Constantes Declarações Operadores aritméticos, lógicos e relacionais Conversões de tipos Operadores de incremento
Arquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Um processo é uma instância em execução de um programa. No sistema operativo Unix a única forma de se criar um novo processo (processo-filho)
Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares
Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 3ª Parte Prof. Sandra Pais Soares Fundamentos de Programação 1. Palavras Reservadas 2.
Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini
Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Apresentação do Professor Professor: José Carlos Perini E-mail: jose.perini@metrocamp.edu.br Blog: http://profperini.com Formação
Operações e Expressões
Operações e Expressões Objectivos Exemplos detalhados de tipos numéricos Trabalhar com expressões do tipo lógico (bool) Processamento de caracteres Estudar o operador de atribuição Utilizar operadores
Tipos de Dados Simples (Continuação)
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Tipos de Dados Simples (Continuação) Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br Sumário
SCC 202 Algoritmos e Estruturas de Dados I. Pilhas (Stacks) (implementação dinâmica)
SCC 202 Algoritmos e Estruturas de Dados I Pilhas (Stacks) (implementação dinâmica) Operações alocação encadeada dinâmica typedef struct elem{ tipo_info info; struct elem *lig; tipo_elem; typedef struct{
Programação Funcional. Capítulo 21. Parsers. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2018.
Programação Funcional Capítulo 21 Parsers José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2018.2 1/51 1 Parsers 2 Definindo um tipo para parsers 3 Parsers básicos 4
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,
Aula Prática 2. Paradigmas da Programação I / Programação Funcional
Aula Prática 2 Paradigmas da Programação I / Programação Funcional ESI/MCC 1 o ano (2005/2006) Nesta aula pretende-se introduzir os conceitos seguintes: valores e expressões; tipos básicos e tipos compostos;
Compilador de LP3 para C3E e P3
Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem
Modelo de plano analitico
Modelo de pla analitico Disciplina: Algoritmização e Programação Curso: Licenciatura em Ensi de Informática A/Semestre: 1º A/2º Semestre Carga horária: 4 h/semana; Docente: Célio Sengo Introdução A linguagem
Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de
Noções de algoritmos - Aula 1
Noções de algoritmos - Aula 1 Departamento de Física UFPel Definição de algoritmo Sequência ordenada e finita de operações para a realização de uma tarefa. Tarefa: Experimento de Física I. Passo 1: Reunir
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Linguagem e Ambiente Scratch. Introdução à Laboratório Prof.Alfredo Parteli Gomes
Linguagem e Ambiente Scratch Introdução à Laboratório Prof.Alfredo Parteli Gomes Scratch Linguagem de programação que visa facilitar a criação de histórias interativas, jogos e animações Informações e
Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias
SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes
Relações. George Darmiton da Cunha Cavalcanti CIn - UFPE
Relações George Darmiton da Cunha Cavalcanti CIn - UFPE Relações Binárias Sejam X e Y dois conjuntos. Uma relação entre X e Y é um subconjunto de produto cartesiano X Y. No caso de X = Y, a uma relação
Técnicas de Programação
Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir
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
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:
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
Oficina de Python Prof. Me. José Carlos Perini
Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação
1 - Ambiente de desenvolvimento
Neste documento começa-se por apresentar o ambiente de desenvolvimento integrado do Visual Basic (menu bar, toolbars, toolbox, project explorer window, properties window, form designer e code editor window).
Microsoft Excel: # 1
Microsoft Excel O que é? É um poderoso programa de folha de cálculo Para que serve? Serve para facilitar a gestão de vastos conjuntos de informação que envolvam principalmente o cálculo de dependências
Considere uma máquina que utiliza uma palavra de 10 bits. Suponha o seguinte padrão de bits:
PROVA DE CONHECIMENTOS ESPECÍFICOS 1 a QUESTÃO: (1, ponto) Representação binária Considere uma máquina que utiliza uma palavra de 1 bits. Suponha o seguinte padrão de bits: 1111. a) Indique o valor em
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
Compiladores Análise de Tipos
Compiladores Análise de Tipos Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Tipos Um tipo é: Um conjunto de valores Um conjunto de operações sobre esses valores Os tipos de uma linguagem
Nome: Número: Computação e Programação. Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2016-2017 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 1 de Fevereiro de 2017 Exame
AutoLISP -I Introdução
AutoLISP -I Introdução João Manuel R. S. Tavares Joaquim Oliveira Fonseca Bibliografia Programação em AutoCAD, Curso Completo Fernando Luís Ferreira, João Santos FCA Programando em AutoLISP Kramer, W.
CFAC: AutoLISP (I) - Introdução
AutoLISP -I Introdução João Manuel R. S. Tavares / JOF Bibliografia Programação em AutoCAD, Curso Completo Fernando Luís Ferreira, João Santos FCA Programando em AutoLISP Kramer, W. e Kramer MAKRON Books
AutoLISP - I Introdução. João Manuel R. S. Tavares Joaquim Oliveira Fonseca
AutoLISP - I Introdução João Manuel R. S. Tavares Joaquim Oliveira Fonseca Bibliografia Programação em AutoCAD, Curso Completo Fernando Luís Ferreira, João Santos FCA Programando em AutoLISP Kramer, W.
Modelo Matemático simples
Modelo Matemático simples Um modelo matemático pode ser entendido como uma expressão ou função que traduz as propriedades de um sistema físico em termos matemáticos Os modelos podem ser representados por
Oficina de Python Prof. Me. José Carlos Perini
Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação
Programação Lógica. Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel
Programação Lógica Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 7 de outubro de 2015 Paulo H. R. Gabriel (FACOM/UFU)
Variáveis o nome de uma variável pode ser qualquer sequência de caracteres alfanuméricos que começa com uma letra maiúscula ou com um underscore (_).
Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Prof. A. G. Silva. 24 de agosto de Prof. A. G. Silva Programação em Lógica 24 de agosto de / 1
Programação em Lógica Prof. A. G. Silva 24 de agosto de 2017 Prof. A. G. Silva Programação em Lógica 24 de agosto de 2017 1 / 1 Termos Referem-se a todas as construções sintáticas da linguagem Um termo
Algoritmos e Estruturas de Dados 2007/2008
Pilhas e Filas Algoritmos e Estruturas de Dados 007/008 Pilhas Pilha estrutura de dados linear em que a inserção e a remoção de elementos de uma sequência se faz pela mesma extremidade, designada por topo
Conceitos Básicos de Programação
BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de
Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi
Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se
CI218 - Trabalho - 2 o sem/2016
CI218 - Trabalho - 2 o sem/2016 Entrega: NOVO PRAZO DE ENTREGA: 25/11/2016 Objetivo: Fazer a normalização de uma relação na FNBC e na 3FN. Entrada: A entrada tem o seguinte formato: a primeira linha deve
1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18
ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados
Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 31 de janeiro de 2018 Exame
TUTORIAL DE UTILIZAÇÃO DO OWL-S COMPOSER W. Trabalho de Conclusão de Curso Aluno: Adriano Novais Queiroz Orientadora: Prof.ª Daniela Barreiro Claro
TUTORIAL DE UTILIZAÇÃO DO OWL-S COMPOSER W Trabalho de Conclusão de Curso Aluno: Adriano Novais Queiroz Orientadora: Prof.ª Daniela Barreiro Claro INTRODUÇÃO E OBJETIVO A funcionalidade de um determinado
Laboratório de Programação A Exercícios sobre vetores e matrizes
Universidade Federal do Amazonas Instituto de Ciências Exatas Departamento de Ciência da Computação Laboratório de Programação A - 2011.1 Exercícios sobre vetores e matrizes Observação Esta lista será
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
Programação C/C++ Slide 5 Nielsen Castelo Damasceno
Programação C/C++ Slide 5 Nielsen Castelo Damasceno Programação estruturada Programação estruturada Programação estruturada Programação estruturada Programação estruturada vetores vetores vetores vetores
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 www.decom.ufop.br/red AULA TEÓRICA 02 1 Prof. Marcelo Luiz Silva Red CONTEÚDOS DA AULA
Programação Estruturada Prof. Rodrigo Hausen VAMOS USAR O LINUX. SE TIVER ENTRADO NO WINDOWS, REINICIE O COMPUTADOR.
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Expressões e Funções VAMOS USAR O LINUX. SE TIVER ENTRADO NO WINDOWS, REINICIE O COMPUTADOR. 1 TIPOS PRIMITIVOS EM C Numéricos:
Sumário. Ficheiros. Ficheiros
Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções
4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).
2626262626262626262626262626262626262626262626262626 4 - OPERADORES Podem ser: aritméticos, relacionais, lógicos, incremento e decremento, atribuição. Operadores aritméticos têm precedência sobre os relacionais
Exercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 10 de janeiro de 2018 Exame sem
Material Didático Unificado.
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 www.decom.ufop.br/bcc701 Material
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 Mais um tipo numérico print() formatado: clássico pythônico Tuplas
Alguns Exercícios de Inteligência Artificial
Alguns Exercícios de Inteligência Artificial Ana Paula Tomás Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {apt,nam}@ncc.up.pt 1997 1. Números
Alteração da Base de Dados. Programação Lógica. Alteração da Base de Dados. Alteração da Base de Dados
Programação Lógica Prolog: alteração da base de dados, predicados que fornecem, exemplos Profa Heloisa de Arruda Camargo Alguns predicados do Prolog modificam a base de dados em tempo de execução abolish(pred)
Considere os seguintes factos e regras descritos informalmente
Crime em Coimbra Considere os seguintes factos e regras descritos informalmente Factos: O crime ocorreu em Coimbra Alberto beneficia com o crime Carlos beneficia com o crime Alberto estava registado no
Introdução à Programação
Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 3 Tipos, Expressões,Operadores Tipos de dados Variáveis Constantes Constantes Simbólicas Expressões Operadores aritméticos, relacionais