AYUDANTÍA 2 Lenguaje Imperativo y Java. Punteros Dirección a memoria (puede apuntar a NULL). Permite trabajar con memoria (variables dinámicas de heap).

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Tema 4b Operadores.
Creación y destrucción de objetos
Programación I Teoría III
Programación, Algoritmos y Estructuras de Datos
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
Lenguaje C.
Semana 5 Subprogramas..
JAVA J.A.C..
Unidad III Elementos del lenguaje C++
Introducción a la Programación
PUNTEROS Ing Anghello Quintero.
Introducción a los punteros Prof. Domingo Hernández.
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
Tema 3: Operadores Antonio J. Sierra. Índice Aritméticos A nivel de bit Relacionales Lógicos Asignación.
NVA-LNG1 3. SENTENCIAS. NVA-LNG2 Asignación Es una sentencia que almacena: el valor del argumento ubicado a la derecha del símbolo que la representa En.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
TEORIA DE LA INFORMACION INGENIERO ANYELO QUINTERO.
Control de Flujo.
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
PROGRAMACIÓN MULTIMEDIA
Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones.
Fundamentos de Programación
Estructuras de Decisión
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
int cantidad, horas, cuota; float precio, peso; cantidad = 5; // Le asigno un número a la variable Cantidad; horas = // Le asigno 30 a la variable.
Conceptos y Lenguaje Imperativo
MEMORIA DINÁMICA.
U2 Tipos de datos, referenciación y errores 1. Datos problema simple enteroreal carácter booleano Ingeniero = Oreja+catalejo modelo ordenador solución.
Tema 1. Estructuras de datos Objetivo: Objetivo: El alumno resolverá problemas de almacenamiento, recuperación y ordenamiento de datos y las técnicas de.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
GESTOR DE BASE DE DATOS CARRERA: COMPUTACIÓN E INFORMÁTICA CURSO: TALLER DE SISTEMAS I DOCENTE: ING. JOSÉ EDUARDO QUISPE TAIPE CICLO: QUINTO.
CICLOS CONDICIONALES DINÁMICOS Y CICLOS CONDICIONALES FIJOS Aixa Sosa Colón NE: Programación 2250 – 3240 ONL Profesora. Rebecca Acevedo Rivera.
Introducción a punteros en C
Unidad 1: Conceptos fundamentales Instituto Tecnológico de Toluca Ing. Sistemas Computacionales Asignatura: Programación Lógica y Funcional Presentan Nieto.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
El lenguaje de Programación C Fernando J. Pereda.
Ciclos Condicionales Joel R. Almodóvar Rivera Tarea 6-1 PROG2310L.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Pase de parámetros a funciones
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Taller de Java Universidad de los Andes
Tema 6: Elementos de programación adicionales
Estructuras de Control en Visual Basic.net
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
Uso de variables de tipo valor
ROBERTO PINEDA FLORES. ALEXIS JULIAN VELAZQUEZ NAVA.
BREVE INTRODUCCION A LA PROGRAMACION
FUNCIONES Y PROCEDIMIENTOS
Estructuras de Control en Visual Basic.net
Página Web del Lenguaje Pascal.
Clases y Objetos en Java
¿Qué es un OPERADOR? “Un operador es un elemento de programa que se aplica a uno o varios operandos en una expresión o instrucción. Los operadores que.
Teclado y Pantalla (Java estándar)
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
Características de “C”
Fundamentos de programación
Tema 3: Operadores Antonio J. Sierra.
Listas ligadas Dra. María de Lourdes López García
PROGRAMACIÓN (2).
Estructuras de Control 3 Ciclos
Algunas Características de C++ no presentes en C
NATURALEZA DE LOS DATOS Valores Numéricos Son los valores que se pueden hacer cálculos aritméticosritméticos Tipos de valores Entero Real Cadena ( “ h”
Estructuras de control Java
UNIDAD II Generalidades sobre Algoritmos
OPERADORES ARITMETICOS. Se usa los símbolos ya conocidos +(suma), –(resto), *(multiplicación), /(división) Ejemplo.
CICLOS. OPERADOR DE ASIGNACION COMPUESTA CICLO WHILE.
Transcripción de la presentación:

AYUDANTÍA 2 Lenguaje Imperativo y Java

Punteros Dirección a memoria (puede apuntar a NULL). Permite trabajar con memoria (variables dinámicas de heap). Asignación ‣ A una variable le da como valor una dirección a algún objeto de memoria. Desreferenciación: ‣ Entrega el valor del objeto apuntado. (*ptr). Problemas: ‣ Dangling ‣ Pérdida de Variables. Dangling: int *p,*q; *p = 5; q = p; free(p); Perdida de Variables: p = malloc(sizeof(int)); la primera memoria guardada en el primer malloc se pierde for ever. Dangling: int *p,*q; *p = 5; q = p; free(p); Perdida de Variables: p = malloc(sizeof(int)); la primera memoria guardada en el primer malloc se pierde for ever.

Punteros y Estructuras struct nodo{ int data; struct nodo *next; } Punteros y Arreglos ‣ char a[5]; ‣ char *ptr; ‣ ptr = a; || ptr = &a[0]; Referencias: ‣ Se hacen a través de & y actúan como un alias de una variable. Como en Estructura de Datos.

Recolección de Basura Contadores de Referencia: (Impaciente) ‣ Contador por celda. ‣ Incrementa con nueva referencia y decrementa cuando se pierde una. ‣ Cuando el contador llega a 0 se libera. Perezoso: ‣ Acumula basura hasta agotar memoria. Una vez llena identifica la basura y la elimina Primero: Necesita mucha memoria para mantener los contadores y mas tiempo de ejecución. Segundo: Un solo bit por celda para saber si es basura, cuando queda poca memoria corre mal. Primero: Necesita mucha memoria para mantener los contadores y mas tiempo de ejecución. Segundo: Un solo bit por celda para saber si es basura, cuando queda poca memoria corre mal.

Operadores Unarios: ‣ !, ++, --, etc... Binarios: ‣ /, &&, ||, +, -, %, >, etc... Mayor aridad: ‣ ?: (ternario). Prefijo: ‣ --, !, *, etc... ‣ funciones (n-arios). x > y ? “Si” : “No”; Para el ternario Precedencia: orden de ejecución de las operaciones. (Multiplicación antes que suma, suma al mismo tiempo que resta). Asociatividad: Orden de ejecución de operaciones con igual precedencia. (Si van de derecha a izquierda son asociativas derechas y viceversa). Precedencia Booleanos: NOT, AND y OR. x > y ? “Si” : “No”; Para el ternario Precedencia: orden de ejecución de las operaciones. (Multiplicación antes que suma, suma al mismo tiempo que resta). Asociatividad: Orden de ejecución de operaciones con igual precedencia. (Si van de derecha a izquierda son asociativas derechas y viceversa). Precedencia Booleanos: NOT, AND y OR. Infijo: ‣ +, &&, !=, etc... Postfijo: ‣ ++, --, etc... Mayor aridad: ‣ ?: (ternario). Prefijo: ‣ --, !, *, etc... Booleanos: ‣ AND, OR, NOT

Corto Circuito y Asignación Cuando hay 2 o más condiciones: ‣ if(cond1 && cond2) ‣ if(cond3 || cond4) Sentencias de Asignación: ‣ C, C++ y Java se usa = Operadores + Asignación: ‣ suma = ++a; ‣ suma = a++; 1er if: Si cond1 es falso, kga too. 2do if: Si cond3 es verdado, pasa. 1era suma: A a le suma 1 y se lo asigna a suma. 2da Suma: A suma le asigna a y a a le suma 1. 1er if: Si cond1 es falso, kga too. 2do if: Si cond3 es verdado, pasa. 1era suma: A a le suma 1 y se lo asigna a suma. 2da Suma: A suma le asigna a y a a le suma 1.

Sentencias BEGIN y END como en base de datos para las consultas SQL. elseif como en base de Datos para las consultas SQL. FOR EACH ROW en base de datos para las consutlas SQL. BEGIN y END como en base de datos para las consultas SQL. elseif como en base de Datos para las consultas SQL. FOR EACH ROW en base de datos para las consutlas SQL. Compuestas: ‣ { }, begin end Selección: ‣ Binaria: if else, if ‣ Multiple: switchm if, elseif, else Iterativas: ‣ for, do while, while, foreach. Incondicional: ‣ break, continue.

Firma: Se va a llamar pepe, recibe estas cosas, funciona así y devuelve tal cosa. Por valor: Se copia el valor en una variable local y se utiliza. Por resultado: Se copia el valor en una variable local, y cuando se retorna, se copia el valor en el parámetro actual. Por referencia: Se asigna una variable local con la misma dirección que el valor real. Es eficiente en espacio (no duplica variable) y en tiempo (no copia nada). Sin embargo, es más lento y puede producir errores. Firma: Se va a llamar pepe, recibe estas cosas, funciona así y devuelve tal cosa. Por valor: Se copia el valor en una variable local y se utiliza. Por resultado: Se copia el valor en una variable local, y cuando se retorna, se copia el valor en el parámetro actual. Por referencia: Se asigna una variable local con la misma dirección que el valor real. Es eficiente en espacio (no duplica variable) y en tiempo (no copia nada). Sin embargo, es más lento y puede producir errores. Firmas, Protocolos y Parametros Firma: Define la semántica de la interfaz. “Contraro” entre “quien la llama” con el “subprograma”. Protocolo: Especifíca como debe realizarse la comunicación de parametros y resultados. Parámetros: Variables mudas que se ligan a los parametros reales cuando se activa el subprograma. Permiten comunicación explícita de datos copiando valor o pasadas por referencia. ‣ Paso por Valor ‣ Paso por Resultado ‣ Paso por Referencia

Sobrecarga Diferentes funciones con el mismo nombre. Deben tener firmas diferentes (cantidad de parámetros de entrada, diferencia en los tipos de parámetros de entrada).