ELO3201 C++ Biblioteca Estándar de Templates Standar Template Library Agustín J. González ELO320.

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

Curso de java básico (scjp)
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Uso de variables de tipo valor
El lenguaje C Introducción.
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Desarrollo de Aplicaciones para Internet
Tema 2: Lenguaje PHP básico
1.2 Sintaxis del lenguaje Java.
Introducción al Lenguaje C (ANSI)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
ESTRUCTURAS DE SECUENCIA
Unidad 3 Punteros.
Ingeniero Anyelo Quintero
Conceptos Básicos de Java
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
POO Java Módulo 3 Elementos de programas Identificadores
Tipos de Datos Básicos 1.
SCJP Sun Certified Programmer for Java 6
LENGUAJE “C” Programación.
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
FUNCIONES EN C. SOBRE FUNCIONES... Caja negra in_1 in_N out_1 In_2 Función: Nombre. (Con el cual es invocada). Entradas. (Parámetros de la función). Salida.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
Numeric Types, Expressions, and Output
Archivos.
1 Chapter 12 Arrays Dale/Weems/Headington. 2 Chapter 12 Topics l Declaring and Using a One-Dimensional Array l Passing an Array as a Function Argument.
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Sintaxis de C# (Declaraciones y Tipos)
Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.
Curso Programación en Java
Tipo de Datos Básicos.
El lenguaje de programación C - Identificadores y variables – Isidro González Caballero ( Introducción.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
INTRODUCCION. LOS LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación herramientas que nos permiten crear programas y software. EL LENGUAJE DE MAQUINA.
1 Asignación Dinámica de Memoria Agustín J. González Versión original de Kip Irvine ELO 329.
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
Resumen Fundamentos de Programación/ Programación I
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.
Manejo de Punteros y objetos en memoria dinámica en C++
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
Elementos básicos del lenguaje
1 Algunas ideas básicas de C++ Agustín J. González ELO-320.
1 Definición y Conversión de datos Agustín J. González ELO-329.
1 Algunas ideas básicas en C++ Agustín J. González ELO-329.
PROGRAMACIÓN MULTIMEDIA
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
1 Funciones Agustín J. González Versión Original de Kip Irvine ELO329.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
1 Asignación Dinámica de Memoria Agustín J. González ELO 329.
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
PRINCIPIOS DE PROGRAMACIÓN

1 Funciones en C++: Nota: Este material es de estudio personal, en clases sólo revisaremos las láminas con. Usted revise todo. Agustín J. González ELO329.
Fundamentos de Programación
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
EL TIPO DE DATO LOGICO y constantes.
Conceptos y Lenguaje Imperativo
1 Definición y Conversión de datos Agustín J. González ELO-329.
Lenguaje de Programación II PLAN DE EVALUACIÓN CONTENIDO MODALIDAD DE EVAL. PONDERACIÓN INTRODUCCIÓN BÁSICA AL LENGUAJE DE PROGRAMACIÓN.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
Transcripción de la presentación:

ELO3201 C++ Biblioteca Estándar de Templates Standar Template Library Agustín J. González ELO320

2 Características de C++ El propósito de este material es rápidamente revisar todas características de C++ que ustedes probablemente han encontrado Si ustedes han aprendido otro lenguaje, podrán ubicarse rápidamente Referencia: Timothy Budd, “Data Structures in C++, using the Standard Template Library”, Addison Wesley Esta en nuestra biblioteca.

ELO3203 Comentarios y Constantes Hay dos tipos de comentarios // desde doble slashes hasta el final de la línea /* Comentarios que se extienden varias líneas */ Los comentarios deberían usarse intensamente por documentación. Constantes: hay varios tipos de constantes integers -1,12,-37 enteros octales 014 enteros hexadecimales 0xFF 0xC punto flotante , 2.7e14 caracteres ‘a’ ‘\n’ string “abc” sufijos pueden ser aplicados a constantes u por unsigned l por long

ELO3204 Variables, Tipos, Valores y Declaraciones Una variable es una localización con nombre que almacena un valor de cierto tipo. Variables son creadas usando una sentencia de declaración, la cual describe también el tipo asociado. int a,b,c; // declara tres enteros La declaración puede ser combinada con inicialización: double pi = ; Tipos Fundamentales de Datos Enteros int punto flotante: double, float Caracter: char Modificadores que pueden ser usados con tipos fundamentales signed,, unsigned short, long (posiblemente) mas pequeño o mas grande que estándar.

ELO3205 Mas tipos de Datos Variables Booleanos (bool)son verdaderas o falsas (true/false) Valores enumerados son definidos indicando el rango en forma explícita enum month{January, February, March, April, May, June, July,August, September, October,November, December}; months workingMonth, vacationMonth; months summerMonth = August; Variables y Asignaciones double f, c;// Temperatura Fahrenheit y Celsius c = 43; f = (c * 9.0) / ; Operadores binarios pueden ser combinados con asignaciones i += 5; // equivale a i = i+5; Otra anotación compacta es: i++

ELO3206 Operadores

ELO3207 Stream de I/O El operador de corrimiento izquierda y derecha tienen distinto significado cuando son usados con valores de stream. El stream mas común es el asociado con la consola de entrada y salida. cout << "the Fahrenheit equivalent of " << c << " is " << f << "\n"; cin >> c; // get a new value of c cout << "the Fahrenheit equivalent of " << c << " is " << f << "\n"; El Operador >> trabaja or efecto lateral, cambiando la expresión del lado derecho. El resultado puede ser convertido a boolean para probar si la estrada fue exitosa. int sum = 0; int value; while (cin >> value) { sum += value; } cout << "sum is " << sum << "\n";

ELO3208 Punteros Los punteros pueden ser usados de las siguientes formas: Punteros pueden ser usados con subíndices (tiene sentido si apuntan a arreglos, pero esto no es chequeado) Pueden ser des-referenciados, usando el operador * Pueden combinar des-referencia con accesos a campos, usando operador -> Pueden usar sumas, p+i es la dirección de p[i]

ELO3209 Sentencias condicionales month aMonth;... if ((aMonth >= June) && (aMonth <= August)) isSummer = true; else // es opcional isSummer = false;

ELO32010 Sentencia Switch switch (aMonth) { case January: highTemp = 20; lowTemp = 0; break; case February: highTemp = 30; lowTemp = 10; break;... case July: highTemp = 120; lowTemp = 50; break; default: highTemp = 60; lowTemp = 20; };

ELO32011 Bucles de repetición WHILE c = 0; while (c <= 100) { cout << "Celsius " << c << " is Fahrenheit " << ((9.0 * c) / ) << "\n"; c += 10; } FOR for (c = 0; c <= 100; c += 10) { cout << "Celsius " << c << " is Fahrenheit " << ((9.0 * c) / ) << "\n"; } for (int i = 0; i < 12; i++) { cout << "i: " << i << " i squared " << i*i << "\n"; }

ELO32012 Arreglos Es una colección de tamaño fijo de valores del mismo tipo. // declare an array of twelve integer values int Temperatures[12]; // now assign all values Temperatures[0] = 0; Temperatures[1] = 10; Temperatures[2] = Temperatures[1] + 15;... Pueden ser inicializados string MonthNames[12] = {"January", "February", "March", "April", "may", "June", "July", "August", "September", "October", "November", "December" }; Arreglos Multidimencionales double matrix[10][20]; matrix [i][j] = matrix [i-1][j+1] + 1;

ELO32013 Arreglos y Punteros Hay una relación muy cercana entre arreglos y punteros El nombre del arreglo es tratado como un puntero. Punteros pueden usar subíndices, como si fueran arreglos(aun si no lo son) MonthNames+3 es legal, es la dirección de MonthNames[3]. Arreglos como Argumentos Cuando son usados como argumentos no necesitamos especificar el tamaño. int arraySum (int values[ ], int n) // compute sum of array values[0].. values[n-1] { int result = 0; for (int i = 0; i < n; i++) { result += values[i] } return result; }

ELO32014 Estructuras Es una colección de campos que no requieren tener el mismo tipo. struct person { string name; int age; enum {male, female} sex; }; El acceso es via el operador. person employee; employee.name = "sam smith"; employee.age++; if (employee.sex == male)...

ELO32015 Funciones Una función encapsula un conjunto de acciones. int Fahrenheit(int cTemp) { return (cTemp * 9.0) / ; } Partes: Encabezado con tipo retornado, nombre y argumentos. Cuerpo con sentencias a ejecutar. Valor retornado puede ser void (ningún valor) Una función prototipo es una declaración pero sin definición. // prototype for Fahrenheit -- definition occurs later int Fahrenheit (int);

ELO32016 Variables Locales Variables al interior de la función existen solo cuando la función es ejecutada, desaparecen cuando la función retorna. La excepción a esta regla son las variables estáticas. Si suponemos que la función A llama a B y esta llama a C, podemos imaginar en el stack del proceso usuario: Variables locales de C Variables locales de B Variables locales de A Si B fuera recursiva y llamara a si misma una vez antes de llamar a C, tenemos: Variables locales de C Variables locales de B Variables locales de B Variables locales de A

ELO32017 El evento Main Todo programa debe incluir un procedimiento main, el cual es el punto de partida de la ejecución. # include void main() { // program to write table of squares cout << "Table of Squares\n"; for (int i = 0; i < 12; i++) { cout << "i: " << i << " i squared " << i*i << "\n"; }

ELO32018 Archivos includes Muchas estructuras de datos requieren que uno defina un archivo de inclusión antes que podamos usarlas. PropósitoNombre stream input/outputiostream funciones matemáticasmath.h números complejoscomplex valores booleanosbool.h algoritmos genéricosalgorithm Abstracción vectorvector Abstracción listalist Abstracción conjuntoset Abstracción mapamap