Pasaje de argumentos en lenguajes de programación. Algoritmos y Estructuras de Datos I
|
|
- Alejandro Lagos Valverde
- hace 6 años
- Vistas:
Transcripción
1 Pasaje de argumentos en lenguajes de programación Algoritmos y Estructuras de Datos I Segundo cuatrimestre de 2014 Departamento de Computación - FCEyN - UBA Programación imperativa - clase 5 Pasaje de parámetros - Condicionales Pasaje por valor (o por copia) Coloca en la posición de memoria del argumento de entrada el valor de la expresión usada en la invocación. Si la función modifica el valor, no se cambian las variables en el llamador. Declaración de la función: int f(int b); Invocación de la función: f(x), o bien f(x+5). 1 2 Pasaje de argumentos en lenguajes de programación Pasaje por referencia La función recibe una dirección de memoria donde encontrar el argumento. La función puede leer esa posición de memoria pero también puede escribirla. Todas las asignaciones hechas dentro del cuerpo de la función cambian el contenido de la memoria del llamador. La expresión con la que se realiza la invocación debe ser necesariamente una variable. Declaración de la función: int f(int &b); Invocación de la función: f(x), pero no f(x+5). Ejemplos de pasaje de argumentos en C++. Transformación de estados void A(int &i) { i = i-1; void B(int i) { i = i-1; void C() { int j = 6; //vale j == 6; A(j); //vale j == 5; B(j); //vale j == 5; 3 4
2 Qué hace esta función? Referencias en C++, o cómo hacer ĺıo void prueba(int &x, int &y) { //estado 1; vale x == pre(x) y == pre(y); x = x + y; vale y == y@1 x == x@1 + y@1; //implica x == pre(x) + pre(y); (pues y@1 == pre(y) y x@1 == pre(x)) y = x - y; //estado 3; vale x == pre(x) + pre(y) y == x@2 y@2; //implica y == pre(x) + pre(y) pre(y); (pues y@2 == y@1 == pre(y)) //implica y == pre(x); (operaciones aritméticas) x = x - y; vale y == pre(x) x == x@3 y@3; //implica x == pre(x) + pre(y) pre(x); //implica y == pre(x) x == pre(y); (operaciones aritméticas) El operador & permite obtener una referencia a una variable. Actúa como un alias, dando dos nombres a una misma posición de memoria. int a; int &b = a; b = 3; //vale a == b == 3; a = 4; //vale a == b == 4; Debe ser utilizado con cuidado, porque complica la comprensión del programa. Qué hace la invocación prueba(x,x)? 5 6 Pasaje de argumentos en lenguajes de programación Condicionales Pasaje por referencia Const La función recibe una dirección de memoria donde encontrar el argumento. La función puede leer esa posición de memoria pero NO puede escribirla. Hay un error de compilación si se intenta modificar la variable. Declaración de la función: int f(const int &b); Invocación de la función: f(x), y también f(x+5). P if if (B) uno else dos; Q if B tiene que ser una expresión booleana sin efectos secundarios (no tiene que modificar el estado). Se llama guarda. uno y dos son bloques de instrucciones (entre llaves) La semántica requiere: Una precondición del condicional Pif. Una poscondición del condicional Qif que se cumpla en ambos casos (guarda verdadera y guarda falsa). 7 8
3 Condicionales Si sabemos que: y: //vale P if B //vale P if B uno; dos; //vale Q if //vale Q if Podemos deducir: //vale P if if (B) uno else dos; //vale Q if donde P if es la precondición del condicional y Q if es su poscondición Ejemplo 1 de demostración de condicional problema max(x, y : Int) = res : Int{ asegura Q : (x > y res == x) (x y res == y); int max(int x, int y) { int m = 0; //vale P if : m == 0; if (x > y) m = x; else m = y; //vale Q if : (x > y m == x) (x y m == y); return m; //vale res == m@2; //implica (x > y res == x) (x y res == y); 9 10 Ejemplo 1 de demostración de condicional //vale m == 0 x > y; m = x; //vale x > y m == x; //implica (x > y m == x) (x y m == y); (justificación: p (p q) es tautología) //vale m == 0 x y; m = y; //vale x y m == y; //implica (x > y m == x) (x y m == y); (justificación: q (p q) es tautología) Ejemplo 2 de demostración de condicional Un estacionamiento cobra cierto valor por hora o fracción. Dados el precio por hora y la cantidad de horas y minutos que un auto estuvo estacionado calcular el monto a pagar. problema monto(horas, mins : Int, valorh : Float) = res : Float{ requiere horas 0 mins 0 mins < 60 valorh 0; asegura Q: (mins > 0 res == valorh (horas + 1)) (min == 0 res == valorh horas); Pudimos llegar a Q if por las dos ramas, entonces demostramos que el condicional es correcto para la precondición P if y poscondición Q if
4 Ejemplo 2 de demostración de condicional float monto(int horas, int mins, float valorh) { float valort = valorh*horas; //estado 1; //vale P if : valort == valorh horas; if (mins > 0) valort = valort + valorh; //vale Q if : (mins > 0 valort == valorh (horas + 1)) (mins == 0 valort == valorh horas); return valort; //vale res == //implica (mins > 0 res == valorh (horas + 1)) (mins == 0 res == valorh horas); //implica Q; 13 Ejemplo 2 de demostración de condicional //estado ift 1 //vale valort == valorh horas mins > 0; valort = valort+valorh; //vale valort == 1 + valorh mins > 0; //impica valort == valorh horas + valorh mins > 0; //implica valort == valorh (horas + 1) mins > 0; //implica (valort == valorh (horas + 1) mins > 0) (valort == valorh horas mins == 0); (justificación: p (p q) es tautología) //estado iff 1 //vale valort == valorh horas mins 0; //implica (valort = valorh (horas + 1) mins > 0) (valort = valorh horas mins == 0); (justificación: por el requiere mins 0 y q (p q) es tautología) Pudimos llegar a Q if por las dos ramas, entonces demostramos que el condicional es correcto para la precondición P if y poscondición Q if. 14 Ejemplo 3 de demostración de condicional Ejemplo 3 de demostración de condicional Un supermercado ha puesto en oferta cierto producto, ofreciendo un descuento del 15 % por la compra de 5 o más unidades y 10 % en caso contrario. Además por la compra de más de 8 unidades se obsequia una unidad del producto por cada 3 en exceso sobre 5. Calcular el monto a pagar, el monto del descuento y el número de unidades de obsequio por la compra de cierta cantidad del producto. problema montopagar(unicom : Int, preciouni : Float, montodesc : Float, uniobs : Int) = res : Float{ modifica montodesc, uniobs; requiere unicom > 0 preciouni 0; asegura Desc: (unicom 5 montodesc == 0,15 preciouni unicom) (unicom < 5 montodesc == 0,1 preciouni unicom); asegura Pago: res == preciouni unicomp montodesc; asegura Obsequio: (unicomp 8 uniobs == (unicomp 5)/3 ) (unicomp < 8 uniobs == 0); float montopagar(int unicomp, float preciouni, float montocomp = preciouni*unicomp; if (unicomp 5) else if (unicomp 8) 15 16
5 Ejemplo 3 de demostración de condicional Ejemplo 3 de demostración de condicional float montopagar(int unicomp, float preciouni, //estado 1; //vale montodesc == pre(montodesc) uniobs == pre(uniobs); int montocomp = preciouni*unicomp; //vale P if 1 : montocomp == preciouni unicomp montodesc == pre(montodesc) uniobs == pre(uniobs); if (unicomp 5) else //estado 3; //vale Q if 1 : montocomp == preciouni unicomp uniobs == pre(uniobs) ; //vale P if 2 montocomp == preciouni unicomp uniobs == 0 ; //vale P if 2 montocomp == preciouni unicomp uniobs == 0 ; if (unicomp 8) //estado 5; //vale Q if 2 : montocomp == preciouni unicomp //vale res == montocomp@5 montodesc@5 montocomp == preciouni unicomp //implica Pago Desc Obsequio; Ejemplo 3 de demostración de condicional 1 Ejemplo 3 de demostración de condicional 1 //estado if 1T 1 uniobs == pre(uniobs) unicomp 5; //vale montocomp == preciouni unicomp unicomp 5 montodesc == 0,15 montocomp@if 1T 1 uniobs == pre(uniobs) ; //implica montocomp == preciouni unicomp unicomp 5 montodesc == 0,15 preciouni unicomp uniobs == pre(uniobs); //implica Q if 1 : montocomp == preciouni unicomp uniobs == pre(uniobs) ; //estado if 1F 1 uniobs == pre(uniobs) unicomp < 5; //vale montocomp == preciouni unicomp unicomp < 5 montodesc == 0,15 montocomp@if 1F 1 uniobs == pre(uniobs) ; //implica montocomp == preciouni unicomp unicomp < 5 montodesc == 0,1 preciouni unicomp uniobs == pre(uniobs); //implica Q if 1 : montocomp == preciouni unicomp uniobs == pre(uniobs) ; Pudimos llegar a Q if 1 por las dos ramas, entonces demostramos que el condicional es correcto para la precondición P if 1 y poscondición Q if
6 Ejemplo 3 de demostración de condicional 2 Ejemplo 3 de demostración de condicional 2 //estado if 2T 1 //vale montocomp == preciouni unicomp uniobs == 0 unicomp 8; //vale montocomp == preciouni unicomp uniobs == (unicomp 5)/3) unicomp 8; //implica montocomp == preciouni unicomp //estado if 2F 1 //vale montocomp == preciouni unicomp uniobs == 0 unicomp < 8; //implica montocomp == preciouni unicomp Pudimos llegar a Q if 2 por las dos ramas, entonces demostramos que el condicional es correcto para la precondición P if 2 y poscondición Q if Un supermercado ha puesto en oferta cierto producto, ofreciendo un descuento del 15 % por la compra de 8 o más unidades y 10 % en caso contrario. Además por la compra de más de 8 unidades se obsequia una unidad del producto por cada 3 en exceso sobre 5. Calcular el monto a pagar, el monto del descuento y el número de unidades de obsequio por la compra de cierta cantidad del producto. problema montopagar8(unicom : Int, preciouni : Float, montodesc : Float, uniobs : Int) = res : Float{ requiere unicom > 0 preciouni 0; modifica montodesc, uniobs; asegura Desc: if unicom 8 then montodesc == 0,15 preciouni unicom else montodesc == 0,1 preciouni unicom; asegura Pago: res == preciouni unicomp montodesc; asegura Obsequio: if unicomp 8 then uniobs == (unicomp 5)/3 else uniobs == 0; float montopagar8(int unicomp, float preciouni, int montocomp = preciouni*unicomp; if (unicomp 8) { else { 23 24
7 float montopagar8(int unicomp, float preciouni, //estado 1; //vale montodesc == pre(montodesc) uniobs == pre(uniobs); int montocomp = preciouni*unicomp; //vale montocomp == preciouni unicomp montodesc == pre(montodesc) uniobs == pre(uniobs); //estado 3; //vale P if : montocomp == preciouni unicomp montodesc == pre(montodesc) uniobs == 0; if (unicomp 8) { else { //vale Q if : montocomp == preciouni unicomp 25 //vale Q if : montocomp == preciouni unicomp //vale res == montocomp@4 montodesc@4 montocomp == preciouni unicomp //implica Pago Desc Obsequio; 26 //estado ift 1 uniobs == 0 unicomp 8; //estado ift 2 uniobs == (unicomp 5)/3) unicomp 8; //vale montocomp == preciouni unicomp unicomp 8 uniobs == (unicomp 5)/3) montodesc == 0,15 montocomp@ift 2; //implica montocomp == preciouni unicomp unicomp 8 uniobs == (unicomp 5)/3) montodesc == 0,15 preciouni unicomp; //implica Q if : montocomp == preciouni unicomp 27 //estado iff 1 uniobs == 0 unicomp < 8; //vale montocomp == preciouni unicomp unicomp < 8 uniobs == 0 montodesc == 0,1 montocomp@iff 1; //implica montocomp == preciouni unicomp unicomp < 8 uniobs == 0 montodesc == 0,1 preciouni unicomp; //implica Q if : montocomp == preciouni unicomp Pudimos llegar a Q if por las dos ramas, entonces demostramos que el condicional es correcto para la precondición P if y poscondición Q if. 28
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 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 detallesTipos 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 detallesBloque 4. La descomposición funcional y el diseño descendente
Bloque 4 La descomposición funcional y el diseño descendente Cómo afrontar un problema complejo Dividir cada una de las dificultades que se examinen en tantos fragmentos como sea posible y que se requieran
Más detallesIntroducción a C++ y Code::Blocks
Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete
Más detallesEstatutos de Control C# Estatutos de Decisión (Selección)
SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente
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 detallesTema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Más detalles1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)
1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los
Más detallessumas = 58 = 48 = 73 = 59 =
Operaciones aritmeticas sencillas sumas 93 + 67 + 91 + 28 + 50 + 94 = 58 = 48 = 73 = 59 = 89 + 20 + 58 + 95 + 2 + 95 = 57 = 100 = 54 = 72 = 57 + 7 + 14 + 10 + 19 + 72 = 62 = 19 = 1 = 9 = 80 + 89 + 29 +
Más detallesSe guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
Más detallesLección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
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 detallesINTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Más detallesEstructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
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 detallesAlgoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison
Algoritmos Intro Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison La Computadora Las computadoras trabajan con una base de 0 y 1 llamado sistema binario. En principio todo lo que sucede en un dispositivo
Más detallesEstructuras de Decisión Simples y Dobles
Estructuras de Decisión Simples y Dobles 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 Estructuras
Más detallesEstructuras de Repetición (Hacer-Mientras)
Estructuras de Repetición (Hacer-Mientras) Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería
Más detallesTema 13: Apuntadores en C
Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción
Más detallesSISTEMAS 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 detallesResumen de Sintaxis en C
1 Tipos, operadores y expresiones Resumen de Sintaxis en C Identificadores: Formados por letras, números y '_'. Los primeros 31 caracteres son significativos (dependiente del compilador). Las mayúsculas
Más detallesProgramación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays
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 detallesDescripción y Contenido del Curso. Programación C++ Capacity Academy.
Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo
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 detallesPráctica de constantes, expresiones y operadores. Programación en C 1
Práctica de constantes, expresiones y operadores Programación en C 1 Definición de variables (II) Las variables (automáticas) no inicializadas tienen cualquier valor. Una variable (automática) se inicializa
Más detallesLENGUAJE. Tema 2 Elementos de un programa
LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar
Más detallesTema 4. Operadores y Expresiones
Tema 4 Operadores y Expresiones Contenidos 1. Conceptos Básicos. 2. Operadores Aritméticos. 3. Operadores de Relación, de Igualdad y Lógicos. 4. Operadores de Incremento y Decremento. 5. Operadores y Expresiones
Más detallesLas plantillas permiten definir funciones genéricas.
Introducción (Genericidad). Plantillas de funciones o funciones genéricas. Sintaxis de plantillas. Ejemplos de declaraciones. A tener en cuenta Un ejemplo de plantilla de funciones: Máximo de un vector.
Más detallesClases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.
Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete
Más detallesUniversidad de Managua
Universidad de Managua Introducción a la Programación Tema 7 Introducción a la programación en lenguaje C# Objetivos - Describir la estructura básica de un programa en Lenguaje C# - Explicar las estructuras
Más detallesContenido. Capítulo 1. Introducción a lenguaje C 1
Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje
Más detallesFundamentos de programación
Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador
Más detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detalles<tipo> Tipo de dato de los elementos del vector
Vectores y matrices Declaración Vector (array unidimiensional): []; Tipo de dato de los elementos del vector Identificador de la variable.
Más detallesJava para programadores
Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Variables. Tipos
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 para no Programadores
Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen
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 detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesContenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones
Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.
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 detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesExpresiones 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 detallesUnidad 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 detallesTema 7. Generación de código
Departamento de Tecnologías de la Información Tema 7 Generación de código Ciencias de la Computación e Inteligencia Artificial Índice 7.1 Visión general 7.2 Código de tres direcciones 2 Índice 7.1 Visión
Más detallesFunciones Tipos de funciones y Recursividad
Funciones Tipos de funciones y Recursividad SESION 4 Definición Una función es una subrutina o subprograma que forman un programa que realiza tareas bien definidas. Todo programa en C consta de una o más
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 detallesProcesadores de lenguaje Tema 6 La tabla de símbolos
Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de
Más detallesCurso de Java Introducción a la Programación III
Curso de Java Introducción a la Programación III Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Operadores relacionales e igualdad 2 Estructuras de control condicional
Más detallesElementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Más detallesPaquete de curso Programación Java SE (Exclusivo Estudiantes y catedráticos)
Paquete de curso Programación Java SE (Exclusivo Estudiantes y catedráticos) Dirigido a: Estudiantes de nivel profesional del sector de TI Objetivos: Al finalizar el curso, el participante será capaz de
Más detallesGeneración de variables aleatorias continuas Método de la transformada inversa
Generación de variables aleatorias continuas Método de la transformada inversa Georgina Flesia FaMAF 16 de abril, 2013 Generación de v.a. discretas Existen diversos métodos para generar v.a. discretas:
Más detallesEXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS ROMA PLANEACIÓN DIDÁCTICA LICENCIATURA EJECUTIVA CICLO 201425 Nombre de la asignatura: Lenguajes Operativos Horas por semana: 6 Nombre del docente: Olvera Jiménez
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesProgramación. Test Autoevaluación Tema 3
Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.
Más detalles5. Sentencias selectivas o condicionales
60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado
Más detallesLógica proposicional. Ivan Olmos Pineda
Lógica proposicional Ivan Olmos Pineda Introducción Originalmente, la lógica trataba con argumentos en el lenguaje natural es el siguiente argumento válido? Todos los hombres son mortales Sócrates es hombre
Más detalles1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
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 detallesCurso 0 de Informática
Curso 0 de Informática 2015-2016 Tema 1: Introducción a la Informática y Conceptos básicos 1 Motivación (I): En los procesos industriales, cada vez es mayor el uso de sistemas informáticos para: Monitorización,
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación
Más detallesAPUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.
APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido
Más detallesCONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten
Más detallesfundamentos de programación (unidad 4) programación estructurada en Java
fundamentos de programación (unidad 4) programación estructurada en Java Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es
Más detallesEQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO
EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO TIPOS DE DATOS BÁSICOS: Tipo Tipo Tamaño aproximado en bits Rango mínimo Carácter char 8 0 a 55 Entero int 16-3767 a 3767 Real float 3
Más detallesLENGUAJE. Tema 1 - Introducción
LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del
Más detallesProgramación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática
Programación de Computadores 4 Iteraciones y Decisiones Prof. Javier Cañas Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Operadores Relacionales y Lógicos
Más detallesApuntadores (Punteros)
Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable
Más detallesFundamentos de Programación. Flujo de Control I: Estructuras selectivas
Fundamentos de Programación Flujo de Control I: Estructuras selectivas El Flujo de Control de un Programa Un algoritmo puede ser construido utilizando combinaciones de tres estructuras de control de flujo
Más detallesEl Lenguaje de Programación C (Pt. 1) Organización de Computadoras Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur
El Lenguaje de Programación C (Pt. 1) Organización de Computadoras Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur Organización de Computadoras - 2016 2 Copyright Copyright 2011-2015 A. G. Stankevicius
Más detallesFunciones. Parámetros por valor
Funciones I Parámetros por valor Fundamentos de Programación Fundamentos de Programación I Llamada a la función definición subprograma Subprogramas en C++ Funciones 1 Una función es un subprograma que
Más detalles2.2 Nombres, Ligado y Ámbito
2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesPROGRAMACIÓN UNIDADES
PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas
Más detallesLenguaje C [Apuntadores y arreglos]
Lenguaje C [Apuntadores y arreglos] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-O Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Lenguaje C 1 / 20 Apuntadores y direcciones
Más detallesDesarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans
Pág. N. 1 Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans Familia: Editorial: Autor: Tecnología de la Información y Computación Macro Manuel Torres Remon ISBN: 978-612-304-101-4 N. de
Más detallesLos nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.
Para aportes y sugerencias puede escribir al correo del autor: thenewinquirer01@gmail.com Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.
Más detallesFundamentos de Programación 2017-I
Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis
Más detallesTema 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 detallesUn identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /
undamentos de sintaxis en algunas instrucciones de C#.Net Dr. Ramón Roque Hernández Identificadores Un identificador le da nombre único a un elemento en un programa (ariables, procedimientos, etc.). No
Más detallesProgramcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.
Programación Básica Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad
Más detallesProgramación Dinámica 1
Programación Dinámica 1 El método de programación dinámica sirve para resolver problemas combinando las soluciones de subproblemas. Normalmente es usada para resolver problemas de optimización. Al construir
Más detallesObjetivos 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 detallesUNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia
Más detallesLenguaje de programación con JAVA
Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:
Más detallesGuía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Más detallesGUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.
1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones
Más detallesM. en E. Noemí López García
La forma de indicar al servidor que nuestro código PHP comienza es: M. en E. Noemí López García sentencias php Existen otros métodos de indicar el inicio de código php pero el indicado es el más común
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros
Más detallesTema 5 Sentencias de control de flujo. Fundamentos de Informática
Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobación
Más detalles! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes
Modificador final Introducción a la Programación IV Curso de Programación en Java Luis Guerra l.guerra@upm.es Enero 2012 Una variable declarada con final no puede volver a ser reinicializada final int
Más detallesSENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro
SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro 1. Sintaxis básica 2. Tipos de datos 3. Variables 4. Constantes 5. Expresiones y operadores
Más detallesExterior 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 detallesTema II: Metodología para la construcción de programas. Profesora: Nelly García Mora
Tema II: Metodología para la construcción de programas Profesora: Nelly García Mora 1. Metodologías de Programación Metodología de programación: es un conjunto o sistema de métodos, principios y reglas,
Más detallesTECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL
1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 3 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº3 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi primeras
Más detalles