Predicados Extra-lógicos. Predicados Extra-lógicos. Contenido. Prolog = Programación lógica. Programa (cláusulas de Horn)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Predicados Extra-lógicos. Predicados Extra-lógicos. Contenido. Prolog = Programación lógica. Programa (cláusulas de Horn)"

Transcripción

1 Contenido Ingeniería Informática Ingeniería Técnica en Informática de Sistemas 1. Predicados extra-lógicos 2. Predicados aritméticos 3. Entrada/salida de términos 4. Unificación y no unificación 5. Comparación de términos 6. Declaración de operadores Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga 2 Prolog = Programación lógica Base teórica: Prolog puro se basa exclusivamente en la lógica de Horn Programa (cláusulas de Horn) Motor de Inferencia (SLD-Resolución) consultas respuestas computadas Ventajas: análisis y transformación de programas Inconvenientes: acceso a recursos hardware/software 4

2 Prolog = Programación lógica + Extra-lógica Aplicación práctica: extendemos extra-lógicamente el lenguaje para dar acceso a ciertos recursos (aritmética, entrada/salida ) Predicados extra-lógicos (I) Características comunes: están predefinidos por el sistema Prolog (bibliotecas) Programa (cláusulas de Horn) Motor de Inferencia (SLD-Resolución) + Evaluador Extra-lógico consultas respuestas computadas se resuelven al margen de la SLD-Resolución, aprovechando el hardware/software de la plataforma tienen asociado un algoritmo de evaluación cuya ejecución termina en éxito o fracaso, o bien genera un error suelen ser deterministas (respuesta única) y soportar sólo algunos usos Ventajas: aplicación práctica, expresividad, eficiencia Inconvenientes: dificulta análisis y transformación de programas 5 6 Predicados extra-lógicos (y II) Sólo estudiaremos algunos predicados extra-lógicos: aritméticos entrada/salida comparación de términos declaración de operadores Predicados Aritméticos Anotaremos las cabeceras de los predicados extra-lógicos con los usos posibles (+ entrada, - salida,? entrada o salida): is(?x,+y) read(-x) write(+x) 7

3 Predicados aritméticos Permiten evaluar expresiones aritméticas: (1 + sqrt(5)) / 2 = Operadores Prolog Definición: un operador Prolog es un functor de aridad 1 o 2 que puede escribirse de forma prefija, postfija o infija, prescindiendo de los paréntesis Para incorporar expresiones aritméticas a Prolog es necesario: extender la sintaxis para soportar operadores X + Y +(X,Y) % +/2, infijo - X -(X) % -/1, prefijo (1 + sqrt(5)) / 2 añadir funciones aritméticas predefinidas (sqrt,sin, ) añadir un predicado extra-lógico que solicite la evaluación de expresiones aritméticas (Prolog no evalúa términos) son un mecanismo exclusivamente sintáctico, no tienen asociada ninguna operación (semántica) para evitar ambigüedades, se definen prioridades y asociatividad pueden ser predefinidos o declarados por el usuario 9 10 Operadores aritméticos Funciones aritméticas básicas Prolog predefine los siguientes operadores aritméticos: Prolog predefine las siguientes funciones aritméticas básicas: X + Y suma X Y resta - X menos unario X * Y producto X / Y cociente X // Y cociente división entera X mod Y resto división entera X ** Y potencia al escribir * 7 Prolog entiende +(5, *(3,7)) Prolog no evalúa los términos: +(5, *(3,7)) 26 abs(x) valor absoluto sign(x) signo (-1, 0, 1) max(x,y) máximo min(x,y) mínimo random(x) entero aleatorio entre 0 y X-1 sqrt(x) raíz cuadrada floor(x) techo ceiling(x) suelo round(x) redondeo truncate(x) truncamiento 11 12

4 Otras funciones aritméticas trigonométricas: sin(x), cos(x), tan(x) asin(x,y), acos(x), atan(x), atan(x,y) Expresión aritmética Definición: un término Prolog es un expresión aritmética si 1) sus functores son operadores o funciones aritméticas 2) sus constantes son funciones aritméticas o números 3) sus variables están instanciadas a expresiones aritméticas logarítmicas y exponenciales: log(x), log10(x) exp(x) 2.0 * (pi + sin(x)) X libre, no es expresión aritmética cos(a)**2 no es una expresión aritmética 5 + Y {Y/b}, no es una expresión aritmética 2.0 * (pi + sin(x)) {X/2*5} una expresión aritmética constantes: pi, e una expresión aritmética no contiene variables libres una expresión aritmética es un término no se evalúa por defecto El predicado aritmético is/2 Usos del predicado is/2 se utiliza para evaluar expresiones aritméticas is(?x,+y) X debe ser una variable libre o un número Y debe ser una expresión aritmética algoritmo is(x,y) 1. v = evaluar(y) (si hay error, se eleva una excepción) 2. unificar X con v, acabando en éxito o fracaso el predicado is/2 puede instanciar la variable X el functoris/2 es un operador: is(x,y) = X is Y?- 9 is 2*4+1.?- X is 2*4+1. X = 9 ;?- Y = 2*4, X is Y+1. X = 9 ;?- Phi is (1+sqrt(5))/2. Phi = ;?- X is 2/(1-1). ERROR: Arithmetic: evaluation error: `zero_divisor 15 16

5 Errores comunes al usar is/2?- X is Y+1. ERROR: Arguments are not sufficiently instantiated?- X is y+1. ERROR: Arithmetic: `y/0' is not a function?- 8+1 is 2*4+1.?- X = 0, X is X+1. Operadores relacionales aritméticos Se emplean para comparar expresiones aritméticas: +X =:= +Y +X < +Y +X =< +Y +X =\= +Y +X > +Y +X >= +Y X e Y deben ser expresiones aritméticas algoritmo X comp Y 1.vx= evaluar(x), vy= evaluar(y) (si hay error, elevar excepción) 2.res=vx compvy 3. si res es cierto acabar con éxito, sino acabar con fracaso donde comp {=:=, =\=, <, >, =<, >=} Uso de la comparación aritmética Programando con predicados extra-lógicos Sólo se puede usar como test(+,+), pues no hay variables libres:?- 2.0 =:= ?- 2 =:= ?- 3 < 6 < 9. ERROR: Syntax error: Operator priority clash?- X is (3 < 9). ERROR: Arithmetic: `(<)/2' is not a function Las técnicas de programación básicas siguen disponibles: recursión recursión de cola generar/comprobar pero su aplicación esconde algunos matices Definiremos versiones extra-lógicas de los predicados sobre naturales 19 20

6 Predicados extra-lógicos y usos posibles Predicados extra-lógicos y recursión % menor(+x,+y) menor(x,y) :- X < Y. % minimo(+x,+y,?z) minimo(x,y,x) :- X =< Y. minimo(x,y,y) :- Y < X. factorial(0,1). factorial(x,f) :- X > 0, X1 is X-1, factorial(x1,t), F is X*T. % guarda % reducción % composición % suma(+x,+y,?z) suma(x,y,z) :- Z is X+Y. Ventajas: simplicidad, eficiencia Inconvenientes: menos usos posibles (no son relacionales) La unificación pierde potencia: no basta para distinguir casos base y recursivo no puede reducir el problema ni componer la solución Predicados extra-lógicos y recursión de cola Predicados extra-lógicos y generadores factorial(x,f) :- fact_cola(x,1,f). fact_cola(0,f,f). fact_cola(x,ac,f) :- X > 0, X1 is X-1, % guarda % reducción entre(i,j,i) :- I =< J. entre(i,j,k) :- I < J, I1 is I+1, entre(i1,j,k). Ac1 is X*Ac, % actualización fact_cola(x1,ac1,f). La unificación pierde potencia: no basta para distinguir casos base y recursivo no puede reducir el problema ni actualizar acumulador Uso Comportamiento Significado (+,+,+) test comprueba I K J (+,+,-) generador acotado genera K= I,,J Los casos base y recursivo no son excluyentes generación 23 24

7 Predicados extra-lógicos y generar/comprobar Problema: descomponer un natural N en suma de dos pares X e Y Aplicación: puzzles cripto-aritméticos Problema: Dada la suma de letras % es_par(+x) es_par(x) :- X mod 2 =:= 0. C A M A + M E S A % en_pares(+n,?x,?y) en_pares(n,x,y) :- es_par(n), entre(0,n,x), es_par(x), Y is N-X. % comprobar % generar (acotado) % comprobar % generar (único) V I C I O asignar a cada letra un dígito distinto entre 0 y 9 de manera que la suma resultante cuadre Sugerencia: aplicar el paradigma generar/comprobar Ejercicios Ejercicios Define los siguientes predicados: 9. Resuelve el puzzle cripto-aritmético: 1.es_natural(X), genera los naturales X = 0,1,2,3, 2.es_entero(X), genera los enteros X = 0,-1,1,-2,2, 3.num_digitos(X,Y), el entero X tiene Y digitos 4.dig_iesimo(X,I,D), D es el I-ésimo dígito del entero X 5.mcd(X,Y,Z), Z es el máximo común divisor de X e Y 6.pascal(I,J,X), X es el elemento (I,J) del triángulo de Pascal 7.fibonacci(N,F), F es el N-ésimo Fibonacci 8.biseccion(F,A,B,R), R es una raíz de la función F en el intervalo [A,B] S E N D + M O R E M O N E Y 10. Dada la matriz de orden 3 A B C D E F G H I asigna a cada letra un dígito distinto, de manera que las filas, columnas y diagonales principales sumen

8 Periféricos y flujos La entrada/salida de Prolog está basada en flujos: Entrada/Salida de Términos los flujos permiten tratar uniformemente una variedad de periféricos, como una secuencia de información un flujo es un tipo abstracto que soporta, entre otras, operaciones de apertura, cierre, lectura y escritura un flujo puede estar en cuatro modos de operación: entrada, salida, concatenación y actualización un flujo soporta tres tipos de información: binarios, texto y términos 30 Flujos de términos y entrada/salida estándar un flujo de términos es una secuencia de términos Prolog terminados en un punto y separados por blancos (espacios, tabuladores y saltos de línea) t(h(x), a). f(a,1+2). 4*pi. s(s(s(c))). s(s(a)). sólo se pueden leer y escribir términos completos para simplificar, emplearemos flujos de términos asociados a la entrada y salida estándar (por defecto, teclado y pantalla) Términos Prolog y salida estándar write(+x) escribe el término X en la salida estándar nl escribe un fin de línea en la salida estándar tab(+n) escribe N espacios en la salida estándar (N es una expresión aritmética entera) display(+x) escribe el término X en la salida estándar (sin tener en cuenta las declaraciones de operadores) 31 32

9 Ejemplos de salida estándar?- write(2*5+1). % Prolog no evalúa los términos 2*5+1?- write(s(s(x))). % X está libre s(s(_g278))?- display(2*5+1). % tal y como lo entiende Prolog +(*(2,5),1)?- tab(3+5), write(a). % tab/1 es aritmético a Términos Prolog y entrada estándar read(-x) lee el siguiente término de la entrada estándar y lo unifica con X, acabando en éxito o fracaso. Aunque es un generador único, cada reevaluación puede generar una respuesta distinta (efecto lateral)? read(x).?- read(fecha(d,m,a)). : f(a,2*pi). : fecha(2,febrero). X = f(_g275,2*pi) Prolog muestra el cursor : cuando espera datos por teclado una calculadora simple (I) una calculadora simple (y II) Escribir un programa Prolog que acepte por teclado expresiones aritméticas sin variables y muestre el resultado de evaluarlas. El programa debe terminar al introducir la palabra fin.?- calc. >> 2+3*5. 17 >> sin(pi) + cos(pi). -1 >> fin. calc :- write('>> '), read(exp), evalua(exp). evalua(fin). evalua(exp) :- Exp \= fin, % Exp y fin no unifican R is Exp, write_ln(r), % write + nl calc

10 Unificación y no unificación Unificación y Unificación?X =?Y unifica X con Y, instanciando variables (test o generador único) no tiene en cuenta el test de ocurrencia +X \= +Y comprueba que X e Y no unifican (test, no instancia variables) no tiene en cuenta el test de ocurrencia unify_with_occurs_check(?x,?y) unifica X con Y, instanciando variables (test o generador único) tiene en cuenta el test de ocurrencia son extra-lógicos 38 Orden estándar de los términos Prolog define una relación de orden total sobre los términos: Comparación de Términos 1. variables < números < átomos < estructuras 2. las variables se comparan por la edad : antigua < nueva 3. los números se comparan por su valor 4. los átomos se comparan alfabéticamente 5. las estructuras se comparan: primero, numéricamente por la aridad, después, alfabéticamente por el átomo del functor recursivamente, argumento a argumento de izq. a der. Los términos Prolog satisfacen la propiedad de tricotomía 40

11 Comparación de términos Prolog Prolog predefine los siguientes operadores: +X == +Y +X \== +Y +Y +Y +Y +Y todos son tests(+,+), no instancian variables el evaluador extra-lógico ejecuta la comparación según el orden estándar, dando lugar a un éxito o un fracaso Ejemplos de comparación de términos? == ? == % no evalúa? =:= ?- f(x) == f(y). % no instancia?- f(x) = f(y). X = Y = _G Operadores Prolog Declaración de Operadores mejoran la legibilidad, permitiendo prescindir de los paréntesis son una mera facilidad sintáctica, no tienen asociada ninguna operación (semántica) * 5 = +(2,*(3,5)) la precedencia y asociatividad evitan ambigüedades que resultan al prescindir de los paréntesis X ** 3 mod 13 = (X**3) mod = (((1+2)-3)+4)-5 44

12 Precedencia de operadores cada operador tiene asignada una precedencia ( ) Dado un término Prolog, su precedencia es: si es compuesto la de su functor principal si no es compuesto (constante o variable) 0 si está entre paréntesis A * 3 % prec: * * 400 mayor precedencia Asociatividad de operadores se aplica cuando coinciden las precedencias un operador puede ser: asociativo a la izquierda: su argumento izquierdo puede tener menor o igual precedencia asociativo a la derecha: su argumento derecho puede tener menor o igual precedencia no asociativo: sus argumentos deben tener menor precedencia A * B / 2 % *,/ 400, asoc. izq. 400 / 400 * 2 A 3 menor precedencia A B La directiva op/3 El programador puede declarar sus propios operadores: :- op(+precedencia, +Tipo, +mbre). Precedencia: un entero entre 1 y 1200 Tipo: indica posición (f) y asociatividad (y) o no (x) yfx infijo, asociativo a la izquierda xfy infijo, asociativo a la derecha xfx infijo, no asociativo fy prefijo, asociativo fx prefijo, no asociativo yf postfijo, asociativo xf postfijo, no asociativo mbre: átomo El predicado current_op/3 Permite consultar qué operadores hay predefinidos y declarados: current_op(?precedencia,?tipo,?mbre)?- current_op(p,t,-). P = 500 T = fx ; P = 500 T = yfx ; 47 48

13 quién habla qué? Operador: :- op(800,xfx,habla). Predicado: % habla/2: persona habla idioma. elena habla ingles. elena habla frances. juan habla ingles. francisco habla ingles. francisco habla aleman. marisa habla esperanto. marisa habla italiano. Objetivos:?- Quien habla ingles.?- elena habla Que.?- Quien habla Que. Aritmética de Peano y operadores (I) Objetos: declaramos un operador para representar naturales :- op(100,fy,s). s s s s c s(s(s(s(c)))) Definición de dominio: declaramos un operador es_natural :- op(800, fx, es_natural). es_natural c. es_natural s X :- es_natural X Aritmética de Peano y operadores (II) Aritmética de Peano y operadores (y III) Relaciones aritméticas: los operadores aritméticos están predefinidos (+,*,**, ) podemos escribir s s s c + s s c Problema: los operadores aritméticos son binarios (+/2), y las relaciones aritméticas son ternarias (suma/3) % suma/3 c + Y??? :- s X + Y??? :- Cómo lo resolvemos? Solución: introducimos un operador que conecte una operación aritmética básica con su resultado :- op(800,xfx,= ). El predicado = /2 es una versión lógica (simplificada) de is/2 A = B B es el natural que resulta de la operación aritmética A % = /2, operación + c + Y = Y :- es_natural Y. s X + Y = s Z :- X + Y = Z

14 Ejercicios 1. Define otros predicados de la aritmética natural mediante operadores (producto, potencia, factorial, ). Aplica recursión de cola cuando sea conveniente. 2. Declara operadores cm y m para representar medidas de longitud expresadas en centímetros y metros: 37.5 cm 4 m Declara un operador := y define un predicado que permita sumar longitudes, expresando el resultado en la mayor unidad, tal y como muestran los objetivos:?- 1 cm + 3 cm := 4 cm.? cm + 4 m := X. X = m 53

Tema III Predicados Extralógicos de PROLOG

Tema III Predicados Extralógicos de PROLOG Tema III Predicados Extralógicos de PROLOG Programación Declarativa 1 Predicados Extralógicos Se incorporan al lenguaje como predicados predefinidos con usos limitados para acceder a funciones del sistema

Más detalles

Aritmética y operadores (2011/2012)

Aritmética y operadores (2011/2012) Luis Valencia Cabrera (coordinador) lvalencia@us.es (http://www.cs.us.es/~lvalencia) Manuel García-Quismondo mgarciaquismondo@us.es (http://www.cs.us.es/~mgarcia) Ciencias de la Computacion e IA (http://www.cs.us.es/)

Más detalles

5.3 Tipos de Datos en Prolog

5.3 Tipos de Datos en Prolog 5.3 Tipos de Datos en Prolog Recocimiento de Tipos Se recoce el tipo de un dato por su forma sintáctica; se requiere de declaración de tipos Ejemplo: Variables se definen comienzan con primera en mayúsculas

Más detalles

Oriol R oca. M a t L a b FUNCIONES EN MATLAB

Oriol R oca. M a t L a b FUNCIONES EN MATLAB FUNCIONES EN MATLAB Funciones Son ficheros con una estructura especial, que definen funciones análogas a las de MATLAB. Con carácter general, una función recibe unos DATOS DE ENTRADA, ejecuta unas ÓRDENES

Más detalles

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28 Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes

Más detalles

6. Operadores en PROLOG

6. Operadores en PROLOG 6. Operadores en PROLOG 1. Definición de operadores propios 2. Operadores predefinidos Igualdad Entrada y Salida básicos Manejo de ficheros Evaluación de expresiones aritméticas Comparación de números

Más detalles

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Asignación

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: Cuestionario Modulo 1.1 GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: 1001 0110. 2. qué es Dato? Definición: Es toda

Más detalles

Tema 3. Patrones y Definiciones de Funciones

Tema 3. Patrones y Definiciones de Funciones Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 3. Patrones y Definiciones de Funciones 3.1 Comparación de Patrones Patrones constantes Patrones para listas Patrones

Más detalles

Tema 3. Patrones y Definiciones de Funciones

Tema 3. Patrones y Definiciones de Funciones Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 3. Patrones y Definiciones de Funciones 3.1 Comparación de Patrones Patrones constantes Patrones

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Curso de Programación Avanzada en C

Curso de Programación Avanzada en C Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados

Más detalles

Tema 2. Concepto de Algoritmo

Tema 2. Concepto de Algoritmo Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos

Más detalles

funciones printf scanf

funciones printf scanf FUNCIONES EN C FUNCIONES Los módulos en C se llaman funciones. Hemos estado utilizando funciones de la biblioteca estandar stdio.h como por ejemplo printf y scanf. Comenzaremos viendo algunas funciones

Más detalles

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Apunte Laboratorio ALPI - El lenguaje de programación Pascal Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

Programación Declarativa. Ingeniería Informática Cuarto curso. Primer cuatrimestre. Escuela Politécnica Superior de Córdoba Universidad de Córdoba

Programación Declarativa. Ingeniería Informática Cuarto curso. Primer cuatrimestre. Escuela Politécnica Superior de Córdoba Universidad de Córdoba Programación Declarativa Ingeniería Informática Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2016 2017 Práctica número 1.- Introducción

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

Expresiones Lógicas y Operadores sobre Bits

Expresiones Lógicas y Operadores sobre Bits Expresiones Lógicas y Operadores sobre Bits Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 Expresión

Más detalles

Programación Elemental con Bases de Datos y Programación El lenguaje Prolog

Programación Elemental con Bases de Datos y Programación El lenguaje Prolog Programación Elemental con Bases de Datos y Programación II.1 El lenguaje Prolog. II.2 Programación con bases de datos. II.3 Aspectos a tener en cuenta en la programación en Prolog II.4 Programación recursiva:

Más detalles

RECORDAR TIPOS DE DATOS

RECORDAR TIPOS DE DATOS RECORDAR TIPOS DE DATOS VARIABLES: OBJETO CUYO valor cambia: A510 nombres NOTAS Int A=0; float B=1; CONSTANTES: OBJETO cuyo valor no cambia PI= 3.14159 LAS COMAS NO SE PERMITEN Int PI=3.1415 EXPRESIONES:

Más detalles

Unidad didáctica 1. Operaciones básicas con números enteros

Unidad didáctica 1. Operaciones básicas con números enteros Unidad didáctica 1 Operaciones básicas con números enteros 1.- Representación y ordenación de números enteros Para representar números enteros en una recta hay que seguir estos pasos: a) Se dibuja una

Más detalles

Metodología de Programación I Tutorial de Prolog (3/3)

Metodología de Programación I Tutorial de Prolog (3/3) Metodología de Programación I Tutorial de Prolog (3/3) Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Facultad de Física e Inteligencia Artificial aguerra@uv.mx http://www.uv.mx/aguerra

Más detalles

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa PROGRAMACIÓN 10. Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 4 ESTRUCTURA SECUENCIAL GENERAL La estructura secuencial

Más detalles

Práctica 0: Introducción a Matlab. Matlab es un acrónimo: MATrix LABoratory

Práctica 0: Introducción a Matlab. Matlab es un acrónimo: MATrix LABoratory Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix LABoratory Práctica 0: Introducción a Matlab Matlab es un acrónimo: MATrix LABoratory La ventana de Matlab muestra un escritorio dividido

Más detalles

5. Entrada y Salida en PROLOG

5. Entrada y Salida en PROLOG 5. Entrada y Salida en PROLOG 1. Escritura de términos 2. Lectura de términos 3. Escritura y lectura de caracteres 4. Escritura en fichero 5. Lectura de fichero 1. Escritura de términos (I) Predicado predefinido

Más detalles

Práctica 2. TIPOS DE DATOS SIMPLES

Práctica 2. TIPOS DE DATOS SIMPLES Práctica 2. TIPOS DE DATOS SIMPLES 1 sesión Semana: 15 de octubre OBJETIVOS: Conocer los distintos tipos de datos simples y su correcta utilización en la construcción de algoritmos Formular expresiones

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7 Estructuras selectivas Programación I Ingeniería Técnica Informática Ejercicios de los Temas 4, 5, 6 y 7 24.- Elabore un programa para determinar si una hora leída en la forma horas, minutos y segundos

Más detalles

Fundamentos de Informática Parte II Análisis y Visualización de Datos mediante Matlab

Fundamentos de Informática Parte II Análisis y Visualización de Datos mediante Matlab Fundamentos de Informática Parte II Análisis y Visualización de Datos mediante Matlab Titulación: Ingeniería Técnica Industrial Química Industrial Profesor: José Luis Esteban Escuela Superior de Ciencias

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

Curso de GNU Octave y L A TEXpara el apoyo a la investigación en ingeniería

Curso de GNU Octave y L A TEXpara el apoyo a la investigación en ingeniería Curso de GNU Octave y L A TEXpara el apoyo a la investigación en ingeniería Red de investigaciones y Tecnología Avanzada - RITA Facultad de ingeniería Universidad Distrital Francisco José de Caldas Copyleft

Más detalles

Tema 3. Tipos de datos simples

Tema 3. Tipos de datos simples Tema 3. Tipos de datos simples Contenido del tema: Concepto de tipo. Tipos simples. Operadores. Expresiones. Semántica. Tipos y expresiones en lenguaje C++ Francisco J. Veredas Dpto. Lenguajes y Ciencias

Más detalles

LÓGICA - DECISIONES. Hay dos tipos de expresiones lógicas: las expresiones lógicas relacionales y las expresiones lógicas combinacionales.

LÓGICA - DECISIONES. Hay dos tipos de expresiones lógicas: las expresiones lógicas relacionales y las expresiones lógicas combinacionales. LÓGICA - DECIONES Los valores lógicos: constantes, variables y expresiones lógicas, permiten controlar la ejecución de las sentencias de un programa. Hay dos tipos de expresiones lógicas: las expresiones

Más detalles

Lenguajes de Inteligencia Artificial Segundo curso. Primer cuatrimestre

Lenguajes de Inteligencia Artificial Segundo curso. Primer cuatrimestre Lenguajes de Inteligencia Artificial Segundo curso. Primer cuatrimestre Ingeniería Técnica en Informática de Gestión Ingeniería Técnica en Informática de Sistemas Escuela Politécnica Superior Universidad

Más detalles

Descripción de un Programa

Descripción de un Programa Unidad 2 Descripción de un Programa 1 El Lenguaje C (1) El lenguaje C fue creado en 1972 por Ken L. Thompson y Dennis M. Ritchie en los Laboratorios Bell. Es evolución de un lenguaje más antiguo: B (a

Más detalles

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

Más detalles

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>} Bloque II. 2. Objetos y acciones elementales Bloque II. 2. Objetos y acciones elementales Objetivos: Familiarizarse con conceptos de entorno, objeto y tipo Entender qué significa que un objeto sea de un

Más detalles

Inteligencia en Redes de Comunicaciones. Prolog. Julio Villena Román.

Inteligencia en Redes de Comunicaciones. Prolog. Julio Villena Román. Inteligencia en Redes de Comunicaciones Prolog Julio Villena Román jvillena@it.uc3m.es Prolog La lógica proporciona: un lenguaje base para la representación del conocimiento modelos para el razonamiento

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Introducción a la programación: Algoritmos

Introducción a la programación: Algoritmos Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Unidad 2: Ecuaciones, inecuaciones y sistemas.

Unidad 2: Ecuaciones, inecuaciones y sistemas. Unidad 2: Ecuaciones, inecuaciones y sistemas 1 Unidad 2: Ecuaciones, inecuaciones y sistemas. 1.- Factorización de polinomios. M. C. D y m.c.m de polinomios. Un número a es raíz de un polinomio es 0.

Más detalles

Operaciones básicas con hojas de cálculo

Operaciones básicas con hojas de cálculo Operaciones básicas con hojas de cálculo Insertar hojas de cálculo. Para insertar rápidamente una hoja de cálculo nueva al final de las hojas de cálculo existentes, haga clic en la ficha Insertar hoja

Más detalles

U i n d id d a 3. El Element os á bá i s cos de un programa

U i n d id d a 3. El Element os á bá i s cos de un programa Programación Digital U id d 3 El t bá i Unidad 3. Elementos básicos de un programa 1. Concepto de Programa Es un conjunto de instrucciones (órdenes dadas a la computadora), que producirán la ejecución

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 2. Acciones Primitivas.

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 2. Acciones Primitivas. 2. ACCIONES PRIMITIVAS. En los lenguajes de alto nivel existen cuatro instrucciones primitivas que reflejan lo que un computador puede realizar (en este nivel de abstracción). Se describirán las instrucciones

Más detalles

Prolog. Sintaxis Informal. Sintaxis Informal. Hechos: ejemplos. Inteligencia Artificial 2º cuatrimestre de Hechos. Hechos. Reglas.

Prolog. Sintaxis Informal. Sintaxis Informal. Hechos: ejemplos. Inteligencia Artificial 2º cuatrimestre de Hechos. Hechos. Reglas. Prolog Programación en PROLOG(1) Inteligencia Artificial 2º cuatrimestre de 2009 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Es el representante más cocido del

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani Informática JavaScript: Lenguaje de programación Fco J. Martín Mateos Carmen Graciani Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Literales Enteros Con base decimal:

Más detalles

Tema 3.- Predicados y sentencias condicionales

Tema 3.- Predicados y sentencias condicionales UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER

Más detalles

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;) Tags Fundamentos PHP La Sintaxis de PHP se deriva de muchos lenguajes de programación principalmente de C pero Perl también ha tenido mucha influencia en esta sintaxis Con las últimas incorporaciones agregadas,

Más detalles

UNIDAD 1: NÚMEROS NATURALES OBJETIVOS

UNIDAD 1: NÚMEROS NATURALES OBJETIVOS UNIDAD 1: NÚMEROS NATURALES Realizar las operaciones con números naturales (suma, resta, multiplicación y división) y operaciones combinadas de las anteriores. Diferenciar entre división exacta y entera,

Más detalles

LENGUAJE DE PROGRAMACIÓN SCILAB

LENGUAJE DE PROGRAMACIÓN SCILAB LENGUAJE DE PROGRAMACIÓN SCILAB CONTENIDO 1. Operaciones básicas. Suma. Resta. Producto. División. Potencia. Raíz cuadrada. Números complejos 2. Funciones. Exponencial. Logarítmica. Trigonométricas. Evaluación

Más detalles

Optimización de Procesos

Optimización de Procesos Optimización de Procesos Tier II: Casos de Estudio Sección 1: Software de Optimización Lingo Software de Optimización Muchos de los métodos de optimización previamente vistos pueden ser tediosos y requieren

Más detalles

Expresiones y sentencias

Expresiones y sentencias Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En C, todas las sentencias

Más detalles

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C. El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Herramientas computacionales para la matemática MATLAB:Introducción

Herramientas computacionales para la matemática MATLAB:Introducción Herramientas computacionales para la matemática MATLAB:Introducción Verónica Borja Macías Marzo 2013 1 Variables predefinidas MATLAB tiene un conjunto de variables predefinidas Variables predefinidas ans

Más detalles

INTRODUCIR FORMULAS EN EXCEL

INTRODUCIR FORMULAS EN EXCEL INTRODUCIR FORMULAS EN EXCEL Las fórmulas, comienzan con un signo (=) y son ecuaciones que efectúan cálculos con los valores ingresados en la hoja de cálculo. Por ejemplo, la siguiente fórmula multiplica

Más detalles

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.4 NOMBRE DE LA PRÁCTICA Operaciones con Escalares y Conceptos Básicos de Programación 4.1 OBJETIVO GENERAL El alumno conocerá el funcionamiento

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y

Más detalles

Introducción a Haskell. El lenguaje Haskell

Introducción a Haskell. El lenguaje Haskell Capítulo 2. Introducción a Haskell 9 Introducción a Haskell Un ejemplo de fichero Haskell El lenguaje Haskell Haskell es un lenguaje funcional puro, no estricto y fuertemente tipificado. Puro = transparencia

Más detalles

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript Algoritmo

Más detalles

2. OPERACIONES ALGEBRAICAS BÁSICAS.

2. OPERACIONES ALGEBRAICAS BÁSICAS. Operaciones algebraicas básicas 27 2. OPERACIONES ALGEBRAICAS BÁSICAS. En este apartado vamos a realizar las operaciones algebraicas básicas que nos permiten utilizar DERIVE como herramienta de cálculo.

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles

ESTRUCTURA DE ASIGNACIÓN

ESTRUCTURA DE ASIGNACIÓN ALUMNA: GRADO: MODALIDAD-10 FECHA: PROFESOR: Hugo Nelson Ramírez Cárdenas LOGROS 1. Comprende la importancia que tiene el diseño de algoritmos, como forma de dar solución a un determinado problema. 2.

Más detalles

Resumen de Maxima. 1 Hoja de cálculo. 2 Operadores. 3 Constantes. 4 Números reales. 4.1 Funciones usuales. Página 1/6

Resumen de Maxima. 1 Hoja de cálculo. 2 Operadores. 3 Constantes. 4 Números reales. 4.1 Funciones usuales. Página 1/6 1 Hoja de cálculo Resumen de Maxima Página 1/6 «;» evalúa una expresión y devuelve el resultado. Por ejemplo 1+2/3; «$» evalúa una expresión sin devolver el resultado. Por ejemplo a:2 $ «%» es el valor

Más detalles

Programación con Listas

Programación con Listas Capítulo 2 Programación con Listas En Prolog la estructura de lista está predefinida como una estructura recursiva lineal cuyas componentes pueden ser heterogéneas porque en Prolog no existe una comprobación

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

Más detalles

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica. Guía No: 2 Subdirección de Educación Departamento de Educación Contratada Colegio CAFAM Bellavista CED GUIA DE APRENDIZAJE Docente: Luz del Carmen Barrera Área: INFORMÁTICA Fecha: II BIMESTRE 2014 Grado:

Más detalles

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1 ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1 Estructuras de repetición Repetir: Ejecutar una instrucción o conjunto de instrucciones y luego regresar y ejecutarla (s) una y otra vez hasta terminar la

Más detalles

Formatos y Operadores

Formatos y Operadores Formatos y Operadores Formatos numéricos format short long hex bank short e short g long e long g rational coma fija con 4 decimales (defecto) coma fija con 15 decimales cifras hexadecimales números con

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Mathematica como lenguaje de programación

Mathematica como lenguaje de programación Chapter 1 Mathematica como lenguaje de programación 1.1 Fundamentos del Lenguaje Expresiones: En Mathematica todo es una expresión. Hay dos tipos de expresiones: Expresiones Normales, las cuales son de

Más detalles

Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez

Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez Maquina de Turing 5. Fundamentos de algoritmos MI Elizabeth Fonseca Chávez matemático inglés Alan Turing Turing Definición de algoritmo: conjunto ordenado de operaciones que permite hallar la solución

Más detalles

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS Bloque V. Control y programación de sistemas automáticos pág. 1 Bloque V. Control y programación de sistemas automáticos pág. 2 BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS 1. LA INFORMACIÓN

Más detalles

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: Tipos de datos. Dato: Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: I Numéricos: Almacenan números y con

Más detalles

Bloque 1. Aritmética y Álgebra

Bloque 1. Aritmética y Álgebra Bloque 1. Aritmética y Álgebra 3. Los números racionales 1. Los números racionales o fraccionarios Fracción es una o varias partes iguales en que dividimos la unidad. Las fracciones representan siempre

Más detalles

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 1: Recursividad. Prof. Montserrat Serrano Montero

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 1: Recursividad. Prof. Montserrat Serrano Montero Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 1: Recursividad Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Ejemplos recursivos Recursividad

Más detalles

UNIDAD DE APRENDIZAJE I

UNIDAD DE APRENDIZAJE I UNIDAD DE APRENDIZAJE I Saberes procedimentales Interpreta y utiliza correctamente el lenguaje simbólico para el manejo de expresiones algebraicas. 2. Identifica operaciones básicas con expresiones algebraicas.

Más detalles

Práctica 1: Introducción a MATLAB.

Práctica 1: Introducción a MATLAB. Práctica 1: Introducción a MATLAB. 1 Introducción. MATLAB es un paquete de programas para computación numérica y visualización. Para arrancar el programa basta hacer doble click sobre el icono MATLAB que

Más detalles

Bloque 1. Conceptos y técnicas básicas en programación

Bloque 1. Conceptos y técnicas básicas en programación Bloque 1. Conceptos y técnicas básicas en programación 1. Introducción 2. Datos y expresiones. Especificación de algoritmos 3. Estructuras algorítmicas básicas 4. Iteración y recursión 5. Iteración y recursión

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

Expresiones Aritméticas

Expresiones Aritméticas Expresiones Aritméticas Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación I 1 La Operación Asignación variable = expresión;

Más detalles

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16 Dpto. de ATC, Universidad de Sevilla - Página 1 de 16 2 ÍNDICE Fundamentos de Informática E.U.P. Universidad de Sevilla 1 Concepto de Algoritmo Datos: Variables y Constantes Tipo de datos: Vectores Representación

Más detalles

Generación de Código Intermedio

Generación de Código Intermedio Generación de Código Intermedio Programación II Margarita Álvarez Generación de código intermedio Con la generación de código intermedio se inicia la tarea de síntesis. Aunque un programa fuente se puede

Más detalles

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Constantes y variables Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. pi = 3.1416 Variable: Es un espacio en la memoria de la computadora que

Más detalles

Tema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1)

Tema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1) Tema 3: Características de la programación funcional Sesión 5: El paradigma funcional (1) Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z- H-10.html#%_sec_1.1.5][The

Más detalles

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 7 OPERADORES Y EXPRESIONES 1 OBJETIVOS Conocer los tipos de operadores

Más detalles

JavaScript: Lenguaje de programación

JavaScript: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Literales Enteros Con base decimal: 45, -43 Con base octal: 043, -054 Con

Más detalles