Introducción a C++. Asignatura Estructuras de Datos Curso 2017/2018 ETSISI UPM
|
|
- Belén Torres González
- hace 6 años
- Vistas:
Transcripción
1 Introducción a C++. Asignatura Estructuras de Datos Curso 2017/2018 ETSISI UPM
2 C vs. C++ C es un lenguaje procedural el elemento central del son las funciones. Cualquier función se puede comunicar con las demás a través de variables globales, parámetros (valor o referencia), y valores de retorno C++ es un lenguaje orientado a objetos el elemento central son los objetos que contienen datos (variables miembro) y funciones que permiten manipularlos y trabajar con ellos. La definición de los objetos se realiza a través de clases Existen dos ficheros: *.h contiene la definición de la clase *.cpp contiene la definición de las funciones de la clase 2
3 Tipos de Datos C++ Tipos básicos: Booleano (bool). Carácter (char). Entero (int). Punto flotante (ej. double, long, float). Definidos por el usuario (enum). A partir de los anteriores, se pueden construir: tipo punteros (ej. int *) tipo array (ej. char []) tipo referencia (ej. double&) estructuras y clases. 3
4 Constantes literales bool: true, false char: a, string: hola int: 15, 15u (unsigned), 017 (octal), 0xf (hexadecimal) long: 15L float: 15.0F double: 15.0, 3e2 4
5 Declaración de variables <Tipo> <identificador> (=valor inicial) char caracter = '.'; int numerito = 9; Constantes: palabra const const int TAM_MAXIMO = 50; Identificadores: Han de comenzar por carácter alfabético Se distingue entre mayúsculas y minúsculas. No puede coincidir con una palabra reservada 5
6 Palabras reservadas 6
7 Ámbito de variables Ámbito de una variable o constante es el bloque donde se ha declarado. Una declaración introduce un nombre dentro de un ámbito, y sólo se puede usar en este ámbito. Globales: definidas fuera del cuerpo de las funciones y están disponibles para todo el programa. Locales: definidas en su lugar utilización. Operador de resolución de ámbito :: 7
8 Operadores (I) Aritméticos Relacionales Lógicos a + b a == b (igualdad) a && b (AND) a - b a!= b (desigualdad) a b (OR) a * b a > b (mayor que)!a (NOT) a / b a % b (módulo) a++ (post incremento) ++a (pre incremento) a-- (post decremento) --a (pre decremento) Operadores de bits a < b (menor que) >= (mayor o igual que) <= (menor o igual que) a & b a b ~a Manipulan las expresiones bit a bit. a ^ b a <<b a>>b Solo se pueden aplicar a expresiones enteras 8
9 Operadores (II) Asignación = var = exp var += exp Equivale a: var = var + exp Todos los operadores binarios (excepto && y ) pueden combinarse con el operador de asignación (+=, *=, -= ) Referencia Entrada y salida [] (miembro de array) cin >> var. (miembro de clase) cout << var -> (miembro cuando se trabaja con punteros) &v (dirección de memoria de v) *p (lo apuntado por p) :: (ámbito) 9
10 Estructura de un programa en C++ #include <iostream> using namespace std; int main() { cout << "Hello World!!!" << endl; // escribe Hello World!!! return 0; Directivas de inclusión Espacios con nombre Espacio global Comentarios Ejemplos de directivas: #include <ctime> #include <cstdlib> #include <string> 10
11 Concepto de CLASE Las clases de C++ son una generalización de las estructuras de C struct Alumno { int nummatricula; char nombre[41]; Alumno alu1 = {3041, Antonio, alu2 = {2054, David ; Alumno.h #include <string> using namespace std; #ifndef ALUMNO_H_ #define ALUMNO_H_ class Alumno { public: int nummatricula; string nombre; Variables miembro Alumno(int num,string nom); ~Alumno(); ; #endif /* ALUMNO_H_ */ Constructor Destructor Otras funciones miembro Prueba.cpp #include "Alumno.h" #include <iostream> using namespace std; #include "Alumno.h" #include <iostream> using namespace std; Operador de resolución de visibilidad Alumno.cpp //constructor Alumno::Alumno(int num, string nom){ nummatricula = num; nombre = nom; //destructor Alumno::~Alumno() { int main(void){ //se crean objetos de la clase alumno Alumno a1 (3041, "Antonio"); Alumno a2 (2054, "David"); cout << "nombre del primer alumno " << a1.nombre << endl; cout << "nombre del segundo alumno " << a2.nombre <<endl; 11
12 Memoria Dinámica Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y se determinan en tiempo de compilación. Ej. arrays int numbers[5]; int numbersprima[] = {10,20,30; for (int n=0; n<3; n++) cout << numbersprima[n] << ", "; cout << endl; Datos dinámicos: su tamaño y forma puede ser variable a lo largo de un programa, se crean y destruyen en tiempo de ejecución se asigna memoria según se va necesitando. Ej. punteros 12
13 Memoria Dinámica PUNTERO: nos permite referenciar datos dinámicos. Es una dirección de memoria Variable apuntadora Variable apuntada (anónima o referenciada) Declaración de punteros: typedef int * PtrInt; PtrInt mypointer; O bien, directamente int * mypointer; 13
14 Memoria Dinámica PUNTERO Gestión de memoria dinámica: #include <iostream> using namespace std; int main () { int * mypointer; //reserva de memoria de forma dinámica mypointer = new int; //inicialización *mypointer = 10; cout << mypointer is " << *mypointer << '\n'; Tras la declaración del puntero mypointer (memoria estática) basura Tras el NEW mypointer 0xdir posición de memoria indefinida basura memoria dinámica basura //se libera memoria delete mypointer; Tras la asignación mypointer memoria dinámica 0xdir 10 14
15 Memoria Dinámica PUNTEROS Gestión de memoria dinámica : #include "Alumno.h" #include <iostream> using namespace std; //constructor [ ] //destructor [ ] #include "Alumno.h" #include <iostream> using namespace std; int main(void){ Alumno *palumno; //reserva memoria de forma dinámica y creación objeto Alumno palumno = new Alumno(1111, "Pepe"); cout << "matricula alumno " << palumno->nummatricula << endl; cout << nombre alumno " << palumno->nombre << endl; //se libera memoria delete palumno; Alumno.cpp Prueba.cpp Tras la declaración del puntero antes del NEW palumno basura palumno posición de memoria indefinida basura Tras el NEW y la inicialización (opcional) del objeto Alumno posición de memoria dinámica 0xdir :Alumno nummatricula = 1111 Nombre = Pepe 15
16 Memoria Dinámica PUNTERO Operaciones con punteros: memoria estática #include <iostream> using namespace std; 0x 28FED0 0x 28FED4 int main () { int myvar; int * mypointer; mypointer = &myvar; *mypointer = 10; cout << "myvar is " << myvar << '\n'; mypointer myvar 0x 28FED8 0x 28FEDC 0x 28FEE0 0x 28FEE0 (16 10 (10 Operador de dirección (address-of operator) Operador de indirección (dereference operator) 16
17 Memoria Dinámica PUNTERO Operaciones con punteros: Suponiendo que mypointer está en la dirección de memoria 0x28FED8, es posible comprobar que el contenido de mypointer es la dirección de memoria 0x28FEE0 (dirección de la variable myvar). Debug con Eclipse El contenido de la variable myvar es 0x0A que en decimal es
18 p1 Memoria Dinámica PUNTEROS Operaciones con punteros: Alumno1 nummatricula = 3041 nombre = Antonio Alumno.cpp Prueba.cpp #include "Alumno.h" #include <iostream> using namespace std; #include "Alumno.h" #include <iostream> using namespace std; //constructor Alumno::Alumno(int num, string nom){ nummatricula = num; nombre = nom; //destructor Alumno::~Alumno() { p1 es la dirección de un objeto alumno *p1 es un objeto alumno (*p1).nombre es una variable miembro p1->nombre es una variable miembro int main(void){ //se crean objetos de la clase alumno Alumno a1 (3041, "Antonio"); Alumno a2 (2054, "David"); cout << "nombre del primer alumno " << a1.nombre << endl; cout << "nombre del segundo alumno " << a2.nombre << endl; Alumno *p1, *p2; p1 = &a1; p2 = &a2; cout << "matricula primer alumno " << p1->nummatricula << endl; cout << "matricula segundo alumno " << p2->nummatricula << endl; 18
19 Parámetros por Referencia Tipos no punteros #include <iostream> using namespace std; void duplicate (int &a, int &b, int &c); int main(void){ int x=1, y=3, z=7; duplicate (x, y, z); cout << "x=" << x << ", y=" << y << ", z=" << z << endl; void duplicate (int &a, int &b, int &c) { a*=2; b*=2; c*=2; 19
20 Parámetros por Referencia Tipos punteros palumno1 void cambiarvalorobjetoapuntado(alumno *p, Alumno *newp); int main(void){ //se crean objetos de la clase alumno Alumno a1 (3041, "Antonio"); Alumno a2 (2054, "David"); Alumno *palumno1, *palumno2; palumno1 = &a1; palumno2 = &a2; cout << "matricula primer alumno " << palumno1->nummatricula << endl; cout << "matricula segundo alumno " << palumno2->nummatricula << endl; cambiarvalorobjetoapuntado(palumno1, palumno2); cout << "matricula primer alumno " << palumno1->nummatricula << endl; //se pasa por valor (una copia) la dirección de memoria a la que apunta p //se pasa por referencia el objeto apuntado void cambiarvalorobjetoapuntado(alumno *p, Alumno *newp){ p->nummatricula = 0; p = newp; //No surte efecto. El valor de la dirección NO se modifica p palumno2 pnew p palumno1 Alumno Antonio Alumno David Alumno1 0 Antonio 20
21 Parámetros por Referencia Tipos punteros p/palumno1 void cambiardireccionobjetoapuntado(alumno *&p, Alumno *newp); int main(void){ //se crean objetos de la clase alumno Alumno a1 (3041, "Antonio"); Alumno a2 (2054, "David"); Alumno *palumno1, *palumno2; palumno1 = &a1; palumno2 = &a2; cout << "matricula primer alumno " << palumno1->nummatricula << endl; cout << "matricula segundo alumno " << palumno2->nummatricula << endl; cambiardireccionobjetoapuntado(palumno1, palumno2); cout << "matricula primer alumno " << palumno1->nummatricula << endl; //se pasa por referencia la dirección de memoria a la que apunta p void cambiardireccionobjetoapuntado(alumno *&p, Alumno *newp){ p = newp; //Sí surte efecto. El valor de la dirección se modifica palumno2 pnew Alumno Antonio Alumno David p / palumno1 21
22 Entrada/salida Librería iostream Entrada: Representa al dispositivo de entrada por defecto, generalmente el teclado. El stream asociado es cin, de la clase istream. Salida: Representa al dispositivo de salida por defecto, generalmente la pantalla. El stream asociado es cout, de la clase ostream. Salida de error: Representa al dispositivo de salida por defecto donde se envían los mensajes de error, generalmente la pantalla. Los streams asociados son cerr y clog, de la clase ostream. Operadores: Inserción << Extracción >> 22
23 Salida: cout El objeto cout puede enviar a la pantalla cualquier combinación de variables, cadenas y expresiones aritméticas. Caracteres especiales: \n \t \\ \ Formateo de la salida: precision: número de cifras después de la coma width: número de caracteres mínimo del output fill: indica el carácter de relleno left: siguiente número en el extremo izquierdo right: siguiente número en el extremo derecho ios::fixed: formato de punto fijo ioss:showpoint: incluye el punto decimal en número de coma flotante 23
24 Ejemplo 24
25 Entrada: cin Flujo estándar Operador >> sobrecargado para tipos estándar en c++ y para leer cadenas. La lectura se interrumpe al encontrar el carácter nulo ('\0'), un espacio en blanco (' '), o un salto de línea ('\n') get: lee un carácter getline: lee hasta el carácter delimitador 25
26 Tratamiento de ficheros #include <iostream> #include <fstream> #include <iomanip> using namespace std; Clases para ficheros: ofstream: abre ficheros para escritura ifstream: abre ficheros para lectura fstream: abre ficheros para lectura/escritura int main () { ofstream salida ("ficherito"); //FICHERO DE ESCRITURA for (int i = 1; i < 20; i++) salida << setw(20) << setiosflags(ios::left) << setfill('.') << "Lin. " << i << endl; salida.close (); ifstream lectura; string s; lectura.open ("ficherito"); while (getline (lectura, s)) cout << s << endl; lectura.close (); return 0; //FICHERO DE LECTURA 26
27 Arrays (I) Declaración const int TOTAL = 45; float mediacalificaciones [TOTAL]; float notasparciales [TOTAL] [2]; Los subíndices comienzan en 0. Inicialización: float altura [] = {1.8, 1.65, 1.74; int matriztemperaturas [7] [2] = {{0, 3, {2,4, {5,8, {3,7, {3,5, {5,10, {5,9 ; string nombres [] = {"Julio", "Tomás", "Virginia", "Santiago"; 28
28 Arrays (II) El nombre del array es un puntero constante al primer elemento: int array[10]; int *p; //puntero a entero p = array; //asigna a p la dirección del primer elem de array *p = 6; //igual que array[0]=6 cout << *p << " at " << p << endl; p++; //suma a p sizeof(int) y lo posiciona en &array[1] cout << *p << " at " << p; 29
29 Arrays (III) Arrays dinámicos: se reserva espacio de memoria en tiempo de ejecución int main () { int n; cout << "Tamaño del array: " << endl; cin >> n; int *miarraydinamico ; miarraydinamico = new int [n] for (int i = 0; i < n; i++) miarraydinamico [i] = i; for (int i = 0; i < n; i++) cout << miarraydinamico[i] << " "; cout << endl; return 0; 30
30 Arrays (IV) Solo la primera dimensión de un vector n-dimensional puede declararse de manera dinámica int main () { int n; cout << "Tamaño de la matriz: " << endl; cin >> n; int **matriz = NULL; //Matriz dinámica de n*n matriz = new int *[n]; //Array de filas for (int i = 0; i < n; i++) matriz [i] = new int [n]; //Completo el vector for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { matriz [i] [j] = i*j; cout << matriz [i] [j] << " "; cout << endl; return 0; 31
Entrada y salida de datos en C y C++
Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida
Más detallesUNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.
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 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 detallesProgramación 1 Tema 3. Información, datos, operaciones y expresiones
Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información
Más detallesCurso de Programación Avanzada en C
Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más 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 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 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 detallesExamen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento
Más detallesALMACENAMIENTO PERSISTENTE DE DATOS
UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación ALMACENAMIENTO PERSISTENTE DE DATOS Tema 1 Programación II Programación II 0 Tema 1: ALMACENAMIENTO PERSISTENTE DE DATOS
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detallesTema 6. Gestión dinámica de memoria
Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la
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 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 detallesTema 3 Elementos básicos de programación
Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender
Más detallesObjetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
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 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 detallesDefinición y Conversión de datos. Agustín J. González ELO-329
Definición y Conversión de datos Agustín J. González ELO-329 1 Calificador Const El calificador const previene que un objeto sea modificado con posterioridad a su definición. El objeto calificado como
Más detalles1 ELEMENTOS BASICOS DEL LENGUAJE
1 ELEMENTOS SICOS DEL LENGUJE Contenido: Variables su declaracion y asignacion Caracteres en java Secuencias de escape y comentarios Tipos de datos Operadores aritméticos, relacionales y lógicos Entrada
Más detallesElementos léxicos del lenguaje de programación C
Elementos léxicos del lenguaje de programación C Elementos léxicos de los lenguajes de programación (tokens) Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices
Más detallesContenidos. Archivos en C++ Archivos en C++ Introducción
Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,
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 detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO
Más detallesPseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio 0.. 2 n 1 [MIN(C)..
Tipo C Dominio 0.. 2 n -1 [MIN(C).. MAX(C)] Operadores Aritméticos Otras funciones No hay CHR(...) CAP(...) ORD(...) E/S No Formateada: Leer (...) Escribir (...) char (1 byte) 0.. 255 (valores códigos
Más detalles#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión );
ARCHIVOS EN C++ = FLUJOS DE ENTRADA/SALIDA. Ejemplo: cin y cout Tipos de ficheros: DE TEXTO y BINARIOS Biblioteca de gestión de ficheros (a incluir en los programas) #include Apertura de ficheros
Más detallesTEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
Más detallesFundamentos de la programación
Fundamentos de la programación 2A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense int 214 float 216
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 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 detallesINTRODUCCIÓN AL LENGUAJE C++
Transparencias del libro Rodríguez Artalejo, M., González-Calero, P.A., Gómez Martín, M.A.: Estructuras de datos, un enfoque moderno. Editorial Complutense 2011. TEMA 0 INTRODUCCIÓN AL LENGUAJE C++ El
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 detallesDesde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
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 detallesPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS Operaciones con ficheros en Prof. Dr. Nicolás Luis Fernández García Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba
Más detallesTemario detallado. Conceptos generales de lenguajes y compiladores. Proceso de compilación de un programa en C++ bajo Code::Blocks
Temario detallado Programación básica en C++ Conceptos generales de lenguajes y compiladores Proceso de compilación de un programa en C++ bajo Code::Blocks Estructura básica de un programa en C++ Análisis
Más detallesTema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos
Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo
Más detallesLaboratorio de Arquitectura de Redes. Punteros en lenguaje C
Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones
Más detallesHoja de ejercicios del Tema 3
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Conversiones de tipos: Prueba el siguiente programa en tu compilador (copia
Más detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Más detallesTema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
Más detallesUniversidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C
Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }
Más detallesProgramación en C++/Funciones
Programación en C++/Funciones 1 Programación en C++/Funciones Estructuras Streams Funciones Definiendo una función Una función es un conjunto de líneas de código que realizan una tarea específica y puede
Más detallesLaboratorio de Arquitectura de Redes. Entrada y salida estándar
Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada
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 detallesCURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance
Capítulo 1. Introducción general 1.1 Comencemos 1.2 Variables y expresiones aritméticas 1.3 La proposición FOR 1.4 Constantes simbólicas 1.5 Entrada y salida de caracteres 1.6 Arreglos 1.7 Funciones 1.8
Más detallesInformática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:
Más detallesEntrada y Salida vía Archivos
Entrada y Salida vía Archivos Lectura de un archivo de entrada Escritura en un archivo de salida Agustín J. González ELO329 1 Lectura de archivos de entrada Un archivo de entrada es una secuencia de bytes
Más detallesTema 5: Diseño modular. Índice. Notas. Programación 2. Curso 2014-2015. Notas. Ejemplo. La herramienta make. 1 Diseño modular.
: Programación 2 Curso 2014-2015 Índice 1 2 3 (1/2) Cuando el programa crece es necesario dividirlo en módulos Cada módulo agrupa una serie de funciones con algo en común El módulo puede reutilizarse en
Más detalles1 Estructura básica de un programa C++
Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.
Más detallesFUNDAMENTOS BÁSICOS DE PROGRAMACIÓN EN C++
UNIVERSIDAD DE JAÉN Departamento de Informática FUNDAMENTOS BÁSICOS DE PROGRAMACIÓN EN C++ Francisco Martínez del Río 2 Copyright c 2015 Francisco Martínez del Río Licensed under the Creative Commons Attribution-NonCommercial
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 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 II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas
Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Agenda 2.1 Familiarización con el ambiente de programación 2.2 Análisis de la estructura de un programa 2.3 Envío de mensajes a la salida estándar
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 detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesSintaxis básica, variables y 7pos
Contenidos Sintaxis básica, variables y 7pos Curso de Programación en Java! Sintaxis básica! Variables y 7pos! Entrada/Salida básica! Operadores y expresiones Jesús Montes Sánchez jmontes@fi.upm.es Estructura
Más detallesIntroducción al tipo de dato ARRAY
CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 6 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 6 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Clase
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 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 detallesProgramación 2. Grado en Estadística Aplicada. Curso 2012-2013. Generación de números pseudoaleatorios. Manejo de ficheros de texto.
Programación 2 Grado en Estadística Aplicada Curso 2012-2013 Generación de números pseudoaleatorios. Manejo de ficheros de texto. Jesús Correas jcorreas@fdi.ucm.es Departamento de Sistemas Informáticos
Más detallesIntroducción al lenguaje C
Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;
Más detalles1. Gestión de E/S. 2. Clases básicas. 3. E/S estándar. 4. Manejo de ficheros. Entrada/Salida en C++
Entrada/Salida en C++ 1. Gestión de E/S. 2. Clases básicas. 3. E/S estándar. 4. Manejo de ficheros. Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas. Gestión de Entrada/Salida Principios generales
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 detallesLENGUAJE DE PROGRAMACION I. Ing. JAVIER ECHEGARAY ROJO Ing. WILDER ROMAN MUNIVE. Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive Pag 1
Ing. JAVIER ECHEGARAY ROJO Ing. WILDER ROMAN MUNIVE Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive Pag 1 CAPITULO 3. ENTRADA Y SALIDA BÁSICA Usando la librería estandar de entrada y salida, seremos
Más detallesFACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
Más detallesTIPOS DE DATOS BASICOS EN LENGUAJE C
TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char
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 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 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 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 detallesLenguajes de programación
Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas
Más detallesClases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;
Clases en Java ESCRIBIENDO CLASES rmroman@itesm.mx Declaración de clases en Java public class Alumno private int matricula; public void mostrardatos() System.out.println("Matrícula: " + matricula); Firma
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 detallesOPERADORES Y EXPRESIONES
OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador
Más detallesTEMA 2. Agenda. Fundamentos de JAVA
TEMA 2 Fundamentos de JAVA V1.3 Manuel Pereira González Agenda Introducción Historia de Java Características Principales Hello World Tipos Operadores Control de Flujo E/S básica Atributos y Métodos Resumen
Más detallesLenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa
Más detallesINTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
Más detalleswww.aprendoencasa.com Curso Introducción JAVA Pág.: 1
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación
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 detallesRepública Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores
República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda Prof. Elías Cisneros. Lenguaje C++ Contadores y Acumuladores Usted es libre de: * Copiar, distribuir y comunicar públicamente
Más detallesFundamentos de Informática E.U.P. Universidad de Sevilla
Fundamentos de Informática E.U.P. Universidad de Sevilla Capítulo 3: FUNDAMENTOS DE PROGRAMACIÓN ÍNDICE (1) INTRODUCCIÓN A LA PROGRAMACIÓN IMPERATIVA Programación en lenguaje C INSTRUCCIÓN DE ASIGNACIÓN
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: clase
Más detallesINTRODUCCIÓN AL LENGUAJE C
INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado
Más detallesMemoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez
Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.
Más detallesIntroducción al laboratorio de Programación I
Introducción al laboratorio de Programación I Manuel Montenegro montenegro@fdi.ucm.es es Despacho B12 Compilación Es el proceso de transformación de un programa escrito en un lenguaje de alto nivel (en
Más detallesUbicación e historia
Introducción a Java Ubicación e historia http:// ://java.sun.com/ JDK (Java Development Kit) JDK 1.0, 1995 JDK 1.1, 1996. Modificación en manejo de eventos; nuevas bibliotecas (reflexión, métodos remotos,...)
Más detallesExamen Septiembre Curso 2001-2002 -- Programación en C++ Pág. 1
Examen Septiembre Curso 2001-2002 -- Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Convertidor Dec->Hex y Hex->Dec (5.0 ptos.)... 1 1.1.1 Apartado A (4.0 ptos.)... 1 1.1.2 Apartado B (1.0
Más detallesIntroducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez
Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.
Más detallesINICIACIÓN A LA PROGRAMACIÓN EN C
INICIACIÓN A LA PROGRAMACIÓN EN C Estructura de un programa sencillo en lenguaje c: Librería estándar de entrada salida Llave de apertura para delimitar el cuerpo de la función Llave de cierre para delimitar
Más detallesFundamentos de Programación con el Lenguaje de Programación C++
UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Informática Fundamentos de Programación con el Lenguaje de Programación C++ Vicente Benjumea y Manuel Roldán 18 de junio de 2015 2 Esta
Más detallesContenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE
Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar
Más detalles324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2
324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN:
Más detallesTEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN
TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de
Más detallesCaracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación
1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos
Más detallesProgramación en C+ +/ Funciones
Programación en C++/Funciones 1 Programación en C+ +/ Funciones Estructuras Streams Funciones Definiendo una función Una función es un conjunto de líneas de código que realizan una tarea específica y puede
Más detalles