CAPÍTULO IV: 4.1 Introducción a la. Programación Funcional
|
|
- María Ángeles Pinto Cabrera
- hace 5 años
- Vistas:
Transcripción
1 CAPÍTULO IV: Programación Funcional 4.1 Introducción a la Programación Funcional 1
2 Programación Funcional Paradigma diferente a los imperativos, que se aleja de la máquina de von Neumann Basado en funciones matemática (notación funcional lambda de Church No existen realmente arquitecturas de computadores que permitan la eficiente ejecución de programas funcionales LISP es el primero, del cual derivan Scheme, Common LISP, ML y Haskell Funciones Matemáticas Un función es una proyección de un conjunto dominio a uno que es el rango f: D? R La evaluación de funciones está controlada por recursión y condiciones (imperativos lo hacen normalmente por secuencias e iteraciones Funciones matemáticas entregan siempre el mismo valor para el mismo conjunto de argumentos y, por lo tanto, no tiene efectos laterales. 2
3 Formas Funcionales (funciones de orden superior Toman funciones como parámetros y/o producen funciones como resultado Composición de Funciones h? f? g entonces: h(x? f(g(x Construcción. Lista de funciones que se aplican [f, g](x produce (f(x, g(x Aplicar a todo. Una función se aplica a lista arg.? (f, (x, y, z produce (f(x, f(y, f(z Fundamentos de la PF La PF pura no usa variables ni asignación Repetición debe ser lograda con recursión Un programa consiste de definición de funciones y aplicación de éstas La ejecución del programa no es nada más que la evaluación de funciones La transparencia referencial se refiere a que la evaluación de una función siempre produce el mismo resultado 3
4 Lenguajes Funcionales El lenguaje provee algunas funciones básicas, que son primitivas para construir funciones más complejas. Se definen algunas estructuras para representar datos en los parámetros y resultados de las funciones. Normalmente se implementan mediante interpretadores, pero también se pueden compilar. 4.2 Introducción al Lenguaje Scheme Sintaxis, listas, operadores básicos, expresiones lambda y definición de variables 4
5 Origen de Scheme Desarrollado en el MIT a mediados del 70 Es un dialecto de LISP Usado para enseñanza de programación Características: Pequeño con sintaxis y semántica simple Nombres tienen ámbito estático Funciones son entidades de primera clase Sintaxis Palabras claves Variables No es PF pura! Datos constantes (e.g. números; caracteres; strings; vectores, listas y símbolos citados Formas estructuradas Blancos y comentarios (después de ; 5
6 Identificadores Corresponden a palabras claves, variables y símbolos, que no son sensible a mayúsculas Se forman de: mayúsculas y minúsculas [ A.. Z, a.. z ] Dígitos [ ] Caracteres [?!. + - * / < = > : $ % ^ & _ ] Identificadores no pueden comenzar con ningún número (i.e. dígito, +, - y.. Ejemplo de Identificadores X3 y?$!!! Abcd y AbcD 8id Son válidos Son el mismo no es válido 6
7 Constantes Básicas String: se escribe usando citado doble ( e.g. Un string es sensible a Mayusculas Un caracter precede de #\ e.g. #\a Un número puede ser entero, fraccionario, punto flotante y en notación científica e.g. -365, 1/4, 23.46, 1.3e27 Números complejos en coordenadas rectangulares y polares e.g i +3.4@-0.5 Booleanos son los valores #f (falso y #t (verdadero Ambiente Interactivo de Scheme Corresponde al ciclo: leer, evaluar e imprimir (denominado REPL Read-Evaluate-Print-Load. Se ingresa la expresión, el sistema evalúa y entrega el resultado. Ejemplo: Hola Scheme => Hola Scheme (Toda constante evalúa en la misma constante Es posible cargar y salvar en un archivo para facilitar el proceso de desarrollo. 7
8 Listas Las listas se escriben con paréntesis redondos (a b c d Listas contienen elementos de cualquier tipo, y se pueden anidar (lambda (x (* n n Una función se escribe como una lista en notación prefija, correspondiendo el primer elemento de la lista a la función y los siguientes a los argumentos ( ;=> 17 Funciones Aritméticas Los nombres +, -, * y / son nombres reservados para las operaciones aritméticas. Funciones se escriben como listas en notación prefija: (+ 1/2 1/2 ;=> 1 (- 2 (* 4 1/3 ;=> 2/3 (/ (* 6/7 7/2 ( ;=> 1.0 8
9 Evaluación de Listas Toda lista es evaluada, salvo que se especifique lo contrario con citación simple (quote quote es análogo a utilizar comilla simple (quote (a b c d ;=> (a b c d (a b c d ;=> (a b c d (a b c d ;=> ERROR ( a no es proc. Al no usar quote, Scheme trata de evaluar considerando en el ejemplo a a como variable de función (primer operando. Operadores Básicos de Listas car devuelve el primer elemento de la lista: (car (a b c d ;=> a cdr devuelve el resto de la lista (sin el primer elemento: Notar la función quote (comilla simple para indicar que a no es función. (cdr (a b c d ;=> (b c d 9
10 Estructura de una Lista Internamente una lista es tratada como una lista enlazada (en forma similar a C (A (B C D A B D C Constructores de Listas cons construye una nueva lista cuyo car y cdr son los dos argumentos: (cons a (b c d ;=> (a b c d (cons (car (a b c(cdr (a b c;=> (a b c (cons a b ;=>? list construye una lista con todos los argumentos (list a b c d ;=> (a b c d (list ;=> ( 10
11 Listas Impropias A B D E C (A (B C D. E? (A. ( (B. (C. (. (D. E Variables y Expresiones Let Let permite definir variable que se ligan a un valor en la evaluación de expresiones Notar que esto transforma scheme en un lenguaje funcional no puro Sintaxis: (let ((var1 val1 exp1 exp2 Ejemplo: (let ((x 2 (y 3 (* (+ x y (- x y => -5 Variables son sólo visibles dentro del cuerpo de LET! 11
12 Expresiones Lambda Permite crear un nuevo procedimiento Sintaxis: (lambda (var1 var2 exp1 exp2 Ejemplo: ((lambda (x (* x x 3 ;=> 9 Una expresión lambda es un objeto tipo procedimiento que no tiene nombre! Ejemplo: Expresión Lambda (let ((square (lambda (x (* x x (list (square 2 (square 3 (square 4 ;=> (
13 Especificación de Parámetros Formales Lista propia de parámetros (var 1 var 2... var n ((lambda (x y (list x y 1 2 ;=> (1 2 Parámetros único var r ((lambda x (list x 1 2 ;=> ((1 2 Lista impropia de parámetros (var 1 var 2... var n. var r ((lambda (x. y (list x y ;=> (1 (2 3 Definiciones de Nivel Superior Las variables definidas con let y lambda son sólo visibles en el cuerpo de las expresiones (local. Esto es análogo al concepto de ámbito El procedimiento define permite definir variables de nivel superior (global Definiciones de nivel superior permiten visibilidad en cada expresión donde no sean escondidas por otro ligado (e.g. Una variable definida con el mismo nombre mediante let oculta a la de nivel superior Notar que define corrompe aun mas la noción de la PF pura. 13
14 Ejemplo de uso de Define (define pi ;=> pi La ejecución es secuencial (define square (lambda (x (* x x ;=> square (square 3 ;=> 9 (let ((x 2(square 4 (* x square ;=> 8 Abreviación en Definición de Funciones La forma: (define var 0 (lambda (var 1 var n e 1 Se puede abreviar como: (define (var 0 var 1 var n e 1 Ejemplo: equivale a: (define square (lambda (x (* x x (define (square x (* x x En general se utiliza la segunda visión 14
15 Expresiones Condicionales En Scheme también es posible condicionar la realización de determinada tarea Sintaxis: (if test consecuencia alternativa Ejemplo: (define (abs n (if (> n 0 n (- 0 n (abs -27 ;=> 27 Predicados Procedimientos para expresiones relacionales =, <, >, <= y >= Procedimientos para expresiones lógicos or, and y not e.g. (= 3 4 => #f e.g. (and (> 5 2 (< 5 10 => #t 15
16 Otros Predicados Lista nula: null? (null? ( => #t Argumentos equivalentes: eqv? (eqv? a a => #t Ejemplo: Notar que error es una función (define (reciproco n (if (and (number? n (not (= n 0 (/ 1 n (error reciproco reciproco: división no válida Expresión Condicional Múltiple Scheme provee expresiones que se evalúan condicionalmente. Sintaxis: (cond (test1 exp1 (test2 exp2 (else exp n El uso de else es opcional, siendo equivalente su uso a colocar #t Esto es análogo a switch en C o Java 16
17 Ejemplo de Condicional Múltiple (define abs (lambda (x (cond ((= x 0 0 ((< x 0 (- 0 x (else x Un ejemplo más complicado (define nota (lambda (cert lect tar (let ((a ((lambda (c (cond ((< c 45 0 ((> c (else (/ (* 0.3 (- c cert (display "alfa: " (display a (newline (+ (* a tar(* (- 1 a (+(* 0.75 cert (* 0.25 lect (nota alfa:.15 ;=>
18 Algo más sobre Predicados Cualquier objeto se interpreta como #t La lista nula ( equivale a #f Se definen los predicados: pair? : verifica si es un par (lista propia o impropia number? : verifica si es número string? : verifica si es un string 18
Lenguajes de Programación Programación funcional
Lenguajes de Programación Programación funcional Roberto Bonvallet Departamento de Informática Universidad Técnica Federico Santa María Concepto de función En el paradigma imperativo: Una función es una
Más detallesAplicación de la Inducción Matemática Programación Funcional. Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca
Aplicación de la Inducción Matemática Programación Funcional Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca Motivación Programación Imperativa Declarativa Procedimental Ejemplo:
Más detallesGUÍA BÁSICA DE SCHEME v.4
Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los
Más detallesProgramación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional
Programación Funcional Lisp-DrScheme Primera Parte Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional! La programación funcional es un paradigma de programación
Más detalles4.7 Operaciones sobre Objetos en Scheme
4.7 Operaciones sobre Objetos en Scheme Equivalencias y predicados de tipos, listas, números, caracteres, strings y vectores Ejemplos de Equivalencia (eq? a a) ;=> #t (eq? 3.1 3.1) ;=> () (eq? (cons a
Más detalles4.7 Operaciones sobre Objetos en Scheme. Equivalencias y predicados de tipos, listas, números, caracteres, strings y vectores
4.7 Operaciones sobre Objetos en Scheme Equivalencias y predicados de tipos, listas, números, caracteres, strings y vectores a) Equivalencias (eq? obj 1 obj 2 ) retorno: #t si son idénticos (eqv? obj 1
Más detallesTema 2.- Expresiones y funciones
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 detallesTema 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 detalles4.5 Ligado de Variables en Scheme
4.5 Ligado de Variables en Scheme Referencia a variables, lambda, formas let y asignación a) Referencia a una Variable variable retorno: valor de la variable Cualquier identificador no citada en una expresión
Más detallesTema 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 detallesProgramación Funcional Lisp-Scheme
Programación Funcional Lisp-Scheme Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Dónde bajar? Lisp (EdScheme): www.schemers.com com Ejemplo: => (+ (* 3(+ (* 24) (+ 35))) (+
Más detallesIntroducción a Haskell. Cecilia Manzino
Paradigmas de programación Un paradigma de programación representa un estilo particular o filosofía para la construcción del software. Los más comunes dan lugar a los siguientes tipos de programación:
Más detallesTema 3: Características de la programación funcional
Tema 3: Características de la programación funcional Sesión 5: El paradigma funcional (1) martes 22 de febrero de 2011 Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z-
Más detalles4.3 Recursión en Scheme. Recursión simple y asignación
4.3 Recursión en Scheme Recursión simple y asignación Recursión Simple Un procedimiento recursivo es aquel se aplica a si mismo. Ejemplo: (define length (lambda (ls (if (null? ls 0 (+ 1 (length (cdr ls
Más detallesProgramación Declarativa
Programación Declarativa Tema 2: LISP (SCHEME) 2 Tema 2: LISP (SCHEME) Introducción Representación de Datos Definición de Funciones Predicados Listas 3 Introducción (I) SCHEME es un dialecto de LISP (LISt
Más detalles4.3 Recursión en Scheme
4.3 Recursión en Scheme Recursión simple y asignación Recursión Simple Un procedimiento recursivo es aquel se aplica a si mismo. Ejemplo: (define length (lambda (ls (if (null? ls 0 (+ 1 (length (cdr ls
Más detallesModelos de Desarrollo de Programas Y Programación Concurrente Clase N 3
PROGRAMACION FUNCIONAL - Un lenguaje de programación funcional tiene gran flexibilidad, es conciso en su notación y su semántica es sencilla. El inconveniente principal de estos lenguajes ha sido la ineficiencia
Más detallesTema 4: Programación funcional avanzada en Scheme
Tema 4: Programación funcional avanzada en Scheme Índice 1 Let... 2 2 Let*... 5 3 Letrec... 5 4 Quote...6 5 Eval... 7 6 Datos compuestos: parejas...8 7 Los datos compuestos pueden ser funciones...11 8
Más detallesInformá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 detallesProgramación Funcional en LISP Lógica para Ciencias de la Computación
Programación Funcional en LISP Lógica para Ciencias de la Computación Primer Cuatrimestre de 2009 Material Adicional Introducción A lo largo de la carrera estudiaremos diversos paradigmas de programación:
Más detallesTema 3: Características de la programación funcional. Sesión 6: El paradigma funcional (2)
Tema 3: Características de la programación funcional Sesión 6: El paradigma funcional (2) 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 detallesApunte 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 detallesabril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples
Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial
Más detallesUnidad 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 detallesIntroducción a Python. Cecilia Manzino
Características del lenguaje Es un lenguaje de programación multiparadigma, soporta la programación orientada a objetos, imperativa y, en menor medida, funcional. Es un lenguaje multiplataforma, puede
Más detallesInformática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales
UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript - Programación
Más detallesPrincipios 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 detallesEl 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 detallesAlgoritmos 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 detalles21/03/2018. Variables y Constantes. Los datos de un programa están representados por variables o constantes y tienen asociado un tipo.
Variables y Constantes Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Los datos de un programa están representados por variables
Más detallesLicenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF
Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF Dpto. Informática Noviembre 1998 1. Deniciones en forma BNF < > Símbolos no terminales. Declaraciones u objetos declarados
Más detallesProyecto Unico Interpretador de MiniLogo
Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2007 Proyecto Unico Interpretador de MiniLogo Logo es un lenguaje de programación
Más detallesParadigma Funcional Caso de estudio: ML. Lenguajes de Programación 2017
Paradigma Funcional Caso de estudio: ML Lenguajes de Programación 2017 Paradigma Funcional FUNCIÓN: Mapeo de un dominio en un rango El mapeo se puede describir por medio de una EXPRESIÓN f(1) = 2 f(2)
Más detallesFicha de Aprendizaje N 13
Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que
Más detallesInformá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 detallesTema 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 detallesJavaScript: 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 detallesParadigma Funcional Caso de estudio: ML. Lenguajes de Programación 2018
Paradigma Funcional Caso de estudio: ML Lenguajes de Programación 2018 FUNCIÓN: Mapeo de un dominio en un rango El mapeo se puede describir por medio de una EXPRESIÓN f(1) = 2 f(2) = 3 Enumeración f(x)
Más detallesEstructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa
Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,
Más detallesTema#2. Tipos de Datos 10
2.1 DEFINICIÓN DE DATOS. Los datos son los objetos sobre los que opera una computadora. El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera
Más detallesTema II: Introducción al Lenguaje Funcional
Tema II: Introducción al Lenguaje Funcional Características de Haskell Lenguaje funcional de o. superior fuertemente tipificado. Clasifica los entes de un programa en: objetos (constantes y funciones)
Más detallesInformática General Cátedra: Valeria Drelichman Pedro Paleo Leonardo Nadel Norma Morales
Informática General 2018 Cátedra: Valeria Drelichman Pedro Paleo Leonardo Nadel Norma Morales Qué es JavaScript? Se trata de un lenguaje de tipo script compacto, basado en objetos y guiado por eventos
Más detallesANEXO XVII DE LA RESOLUCION N
Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:
Más detallesClase 2: El Lenguaje Python
Agosto 2012 Clase 2 Temario Consideraciones generales Operadores y expresiones Variables y Tipos Funciones Las Estructuras de Control Guía práctica Primer curso de programación usando robots y Python Objetivos
Más detallesPHP: 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 detallesTema 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 detallesTema 6: Programación funcional en Scala. Sesión 18: Programación funcional en Scala
Tema 6: Programación funcional en Scala Sesión 18: Programación funcional en Scala Referencias Programming in Scala. Martin Odersky, Lex Spoon, Bil Venners. Ed. Artima. Programming Scala. Dean Wampler,
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
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 detallesSemántica: principales usos. Semántica: principales enfoques. Semántica Operacional. Sintaxis abstracta de un lenguaje (sujeto) Semántica Operacional
Semántica: principales enfoques Semántica Operacional Se define el significado mediante una máquina abstracta (con estados) y secuencias de cómputos sobre dicha máquina Semántica Denotacional El significado
Más detallesTipos y Estructuras de Control. Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR
Tipos y Estructuras de Control Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Datos: variables y constantes Tipos básicos: entero, real, char, lógico Estructuras de control
Más detallesUn calculadora avanzada... y algo más!
INFORMÁTICA, GRUPO D Un calculadora avanzada... y algo más! Vamos a familiarizarnos con el entorno interactivo de Python. Vamos a construir expresiones aritméticas y a guardar los resultados en variables
Más detallesTema 4.- Recursión e iteración
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 detallesPrefacio 25 Organización de la Unidad Didáctica Cómo utilizar el libro Objetivos docentes... 27
ÍNDICE Prefacio 25 Organización de la Unidad Didáctica.................... 25 Cómo utilizar el libro............................. 26 Objetivos docentes.............................. 27 1 Fundamentos de
Más detallesDISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE
DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al
Más detallesFORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS
FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS Para la corrección de la Práctica de Procesadores de Lenguajes, y como se indica en la especificación de la misma (http://dlsiisv.fi.upm.es/procesadores/practica.html),
Más detallesRepaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
Más detallesINFOTECH MÓDULO 3 CURSO. Sintaxis del lenguaje de programación JAVA. Lógica y Lenguaje de Programación
INFOTECH MÓDULO 3 Sintaxis del lenguaje de programación JAVA CURSO Lógica y Lenguaje de Programación INFOTECH Nombre del módulo 3 Contenidos Recursos Comprensión e información Capacidades específicas Indagación
Más detallesTema 2: Introducción a Scheme. Sesión 4: Introducción a Scheme (2)
Tema 2: Introducción a Scheme Sesión 4: Introducción a Scheme (2) Referencias DrRacket (http://racket-lang.org/) A brief tour of DrScheme (http://www.plt-scheme.org/software/drscheme/ tour/) Structure
Más detallesCLIPS Definición de funciones
CLIPS Definición de funciones Por función consideramos tanto las funciones predefinidas en CLIPS como las definidas por el usuario en este lenguaje, o las definidas en un lenguaje externo (C, FORTRAN o
Más detalles3.3 Conceptos Básicos del Lenguaje Java
3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesComponentes 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 detallesGUÍA DE TRABAJO N 1 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 13
Página 1 de 13 Tema: FUNDAMENTOS DE PROGRAMACIÓN EN LENGUAJE C# Objetivo: Conocer y manejar correctamente los tipos de datos y las diferentes estructuras de programación que hacen parte del lenguaje de
Más detallesFundamentos 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 detallesAlgoritmos. 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 detallesBreve introducción al funcionamiento de un interprete del lenguaje Lisp
Breve introducción al funcionamiento de un interprete del lenguaje Lisp Christian Chinchilla Brizuela Escuela Ciencias de la Computación e Informática Universidad de Costa Rica San José, Costa Rica christian.chinchilla@ecci.ucr.ac.cr
Más detallesAbstracción Sintáctica y Abstracción de Datos
Abstracción Sintáctica y Abstracción de Datos Abstracción Sintáctica y de Datos (2) Abstracción de datos De las representaciones procedurales a las representaciones estructuradas (Data Structure Representations
Más detallesResumen de LISP. Javier Gil Julio, 2011
Resumen de LISP Javier Gil Julio, 2011 ; conceptos fundamentales de Lisp ; sintaxis basica (+ 2 3) (* 2 (+ 4 6)) (+ 2/7 7/67) (/ #c(2 3) 6/4) ; operadores matematicos basicos (+ 2 3) (- 8 6) (* 2/7 6/5)
Más detallesLaboratorio de Lenguajes de Programación Introducción al lenguaje ML
Laboratorio de Lenguajes de Programación Introducción al lenguaje ML Pedro A. Góngora Luna 1 1. Tipos de datos básicos Para iniciar el intérprete utilizamos el comando sml en el shell de windows o unix:
Más detallesComprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.
Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos
Más detallesJavaScript: Operadores
Las variables por sí solas son de poca utilidad. Hasta ahora, sólo se ha visto cómo crear variables de diferentes tipos y cómo mostrar su valor mediante la función alert(). Para hacer programas realmente
Más detallesProgramació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 detallesJava Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Más detallesModelos de Desarrollo de Programas Y Programación Concurrente Clase N 3: 3 - Paradigmas de Programación
3 - Paradigmas de Programación En los inicios los lenguajes de programación imitaron y abstrajeron las operaciones de una computadora, lo cual trajo aparejado que el tipo de computadora para el cual fueron
Más detallesGLOSARIO 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 detallesFunciones Segunda parte
Expresiones condicionales Matemática Discreta usando el computador 2011 Funciones Segunda parte Una expresión condicional utiliza una expresión de tipo Bool para decidir entre dos opciones Estructura if...then...
Más detallesEscuela Normal Superior N 40 Mariano Moreno. Cuadernillo Propedéutico 2017 Nivel Superior
Escuela Normal Superior N 40 Mariano Moreno Cuadernillo Propedéutico 2017 Nivel Superior INDICE Página Datos 1 Tipos de Datos 2 Variables 3 Constantes 4 Operadores y Expresiones 5 Algoritmos - Algoritmos
Más detallesTema: Estructuras de Selección en C#.
2 Programación I Tema: Estructuras de Selección en C#. Programación I. Guía 4 3 Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar las instrucciones de
Más detallesUNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM
UNIDAD IV Programación Funcional Porqué? 2 Introducción Porque aprender programación funcional? - Recursión - Abstracción funcional - Funciones de primer orden Estos conceptos se han incorporado en la
Más detallesProgramació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 detalles2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA
CONTENIDOS: 1. TIPOS DE DATOS 2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIICADORES COMO LOCALIDADES DE MEMORIA OBJETIO EDUCACIONAL: El alumno conocerá las reglas para cambiar fórmulas matemáticas
Más detallesTema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos
Más detalles4. 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 detallesLenguajes de Programación I
Lenguajes de Programación I Tipos de Datos Ernesto Hernández-Novich Copyright c 2006-2010 Tipos de Datos El computador sólo manipula secuencias de bits. Los lenguajes de programación ofrecen
Más detallesIntroducción a la Programación
Introducción a la Programación Fundamentos de Programación Ingeniería Informática en Sistemas de Información Alicia Troncoso 1 Contenido l Introducción l Mi primer programa l Etapas a seguir en la programación
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java II... 6 Estructuras de control... 7 Estructuras de selección... 8 Sentencia if... 9 Sentencia if - else... 12 Operador condicional...
Más detallesLaboratorio Análisis Lógico Práctica 1
Laboratorio Análisis Lógico Práctica 1 Pedro Arturo Góngora Luna 1 1 Introducción 1.1 Haskell y la programación funcional En la década de los 30 s, Alonzo Church desarrolló un lenguaje formal llamado cálculo
Más detallesFundamentos de programación clase 1: Introducción a la programación
Fundamentos de programación clase 1: Introducción a la programación Profesor: Jairo Ernesto Maldonado G. http://eisc.univalle.edu.co/~jaerma/ jaerma@eisc.univalle.edu.co Autor: Ángela Villota Recordemos
Más detallesAlgoritmo, Estructuras y Programación I Ing. Marglorie Colina
Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona
Más detallesTipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores
Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de
Más detallesTodo 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 detallesLenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.
Primera Parte Resolución de Problemas y Algoritmos Ing. En Informática e Ing. En Computación Primer Cuatrimestre 2017 1 Lenguajes Algorítmicos Los algoritmos pueden describirse, en mayor o menor detalle,
Más detallesProf. María Alejandra Quintero. Informática Año
Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle
Más detallesDocente: Juan Carlos Pérez P. Alumno : Fecha : Nota:
Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Justificación: Se pretende con éste contribuir a que el alumno se inicie y conozca el entorno del IDE en la creación de pequeños programas en java Objetivos:
Más detalles