Estructuras de Datos Introducción. Proceso (Programa ) Datos de Entrada Datos de salida El proceso computacional.

Slides:



Advertisements
Presentaciones similares
ESTRUCTURAS DE CONTROL
Advertisements

Instrucciones Básicas Entrada de Información
Arrays Fundamentos de Programación I
Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.
Estructuras de decisión en C
MANUAL EXPRESS DE C J.M.sevilla.
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Funciones. Programación, Algoritmos y Estructuras de Datos.
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Programación 1 Presentación de c++
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Aprende C en una lluviosa tarde de domingo (en algo más de un par de horas) Sintaxis del lenguaje C para implementar un programa imperativo.
ESTRUCTURAS DE SECUENCIA
Vectores en java.
Introducción a clases Programación Orientada a Objetos.
Tema 3 Entrada y Salida.
Tema 9 Estructuras.
Fundamentos de 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.
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Índice. Revisando conceptos acerca de la memoria.
Estructuras.
1 3Tablas o matrices 3.1. Concepto Las tablas corresponden al concepto matemático de matriz. Todos sus elementos deben ser del mismo tipo y se accede a.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Descomposición Modular. Funciones
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
METODOLOGÍA DE LA PROGRAMACIÓN
Unidad VI Registros (estructuras, uniones y enumeraciones)
Microsoft© Visual Basic . Net.
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.
Programación en Lenguaje C
El lenguaje de programación C - Vectores y matrices -
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.
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
Programación en C para electrónicos
PARCIAL DE JUNIO DEL 2014 LENGUAJE DE PROGRAMACIÓN UN LENGUAJE SE PUEDE DEFINIR COMO UN CONJUNTO DE PALABRAS Y FORMAS DE EXPRESIÓN POR MEDIO DE.
Elementos básicos del lenguaje
ESTRUCTURA DE DECISION LOGICA EN LENGUAJE C
Términos algoritmo diseñar algoritmo implementar algoritmo
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Registros Departamento de Computación
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
Metodología de Programación Clase 1 Leonel Lagos V
PRINCIPIOS DE PROGRAMACIÓN

Algoritmo.
CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos.
2011/1 - CLASE 12. AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 14 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados.
ESTRUCTURAS DE DECISION MULTIPLE
Gabriela Araya Baez Estudiante Ingenieria Civil Industrial.
TIPOS DE DATOS Estructuras de control y repetición PARCIAL III.
Características de “C” Esta conformado por un Ambiente Integrado. Es un Lenguaje de Nivel medio.Es un compilador. Contiene un conjunto de palabras reservadas.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
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
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Programación I :: Prof. Yeniffer Peña Conceptos Avanzados de Programación Presentación.
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.
Transcripción de la presentación:

Estructuras de Datos Introducción

Proceso (Programa ) Datos de Entrada Datos de salida El proceso computacional

Programa: Un conjunto de instrucciones especificadas en un lenguaje de programación que definen el proceso que se efectúa sobre los datos Al ejecutarse el programa, se lleva a cabo un proceso computacional

Los programas están constituidos por instrucciones que invocan a las operaciones elementales. Ej: Operación elemental de mover un dato de un “sitio” a otro. Instrucción que la invoca: mov origen,destino (ensamblador) La memoria es donde son ejecutados los programas

Las variables: - Son un espacio de memoria - Almacenan un dato - Se puede cambiar el dato que almacenan durante el trascurso del programa mediante una asignación - Pertenecen a un tipo de dato  Ver luego

Operadores: Permiten aplicar una función predefinida por el lenguaje sobre uno o más valores de algún tipo nativo llamados operandos. Ej: +, -,*,/ etc. Los términos o expresiones son construcciones que permiten representar un valor Ej: 10/2 Se construyen mediante operadores.

Ejemplos en C/C++ int a;//Se declara la vble entera a float b;//Se declara la vble real b char sexo= ' m ' ; //Declara y asigna la vble sexo a=5;//Se asigna a a el valor 5 b=1+ 2*(4/3);//Se asigna a b el valor de una expresión a=a+ b*4;//Se asigna a a el valor de una expresión ¿Después de la última asignación cuánto vale a? Para evitar pérdida de decimales se debe realizar: b=1+ 2* (float)4/3;

Entrada (por teclado) y salida de datos (por pantalla): Ej. En C: int a; printf("Entre un número entero"); scanf("%d",&a); fflush(stdin); printf("El valor de a es %d",a); Nota: scanf tiene otros problemas aparte del manejo del buffer…

También por medio de cout y cin (C++): int a; cout << "Entre un número entero"; cin >> a; cout << "El valor de a es" << a;

Estructuras de Control de flujo Decisión: if(condición) { //Código del if } else { //Código del else } Puede haber if’s anidados… switch (expresión * ) { case constante1: bloque de código; break; case constante2: bloque de código; break; default: bloque de código; } * Entera o un (sólo uno) carácter El uso de break es opcional en el default

Iteración: Ciclo for: for(int vble=valor; condición;vble+incremento) { //Código dentro del ciclo } Ciclo while: while(condición) { //Código del ciclo } Ciclo do while: do{ //Código del ciclo } while(condición);

Funciones: Son agrupaciones de instrucciones que llevan a cabo una tarea específica. Declaración: tipo_de_vble_de_retorno nombre_funcion ( tipo_arg_1 nombre_arg_1,..., tipo_arg_n nombre_arg_n) { /*Código de la función*/ return nombre_variable_retorno; } Debe ser del mismo tipo que tipo_de_vble_de_retorno

Un tipo de datos es un conjunto de elementos con características comunes, sobre los cuales se definen determinadas operaciones. Consta de dos partes: - Un conjunto de valores - Un conjunto de operaciones sobre dichos valores Al conjunto de valores que incluye un tipo de dato se le conoce como dominio o rango

Tipos de datos nativos Los tipos de datos nativos son aquellos ofrecidos por un lenguaje de programación. Ej: En C/C++: TipoOperaciones: int suma, resta, producto etc. doublesuma, resta, producto etc. charconcatenar, longitud, etc. Por ejemplo el rango de int es a 32767

Tipos de datos definidos por el usuario: Simples: A través de typedef: Ej: typedef int edad; //Define el tipo de dato edad miedad = 14; //Vble de tipo edad “Complejos”: Las clases  Énfasis en Curso de Objetos

Los tipos de datos también se pueden clasificar así: Tipos de datos Escalares Son aquellos tipos de datos cuyos miembros están compuestos por un solo ítem (dato). Ej: int, float,char etc. Tipos de datos Agregados Son aquellos que están compuestos por más de un elemento de información (dato), a cada uno de estos elementos se les conoce como miembros o componentes. Ejemplo: Las estructuras y uniones en C/C++

Estructuras: Las estructuras son tipos de datos compuestos formados por varios datos llamados campos o miembros, cada uno de los cuales posee su propio espacio en memoria. Pueden incluso haber estructuras dentro de estructuras  Ver ejemplo luego

Para declarar una estructura en C++ se utiliza la siguiente sintaxis: struct nombre_de_estructura { Campos de la estructura; };

struct estudiante { char nombre[20]; char apellido[20]; float nota; int id; }; … struct estudiante pedro; // Vble de tipo estructura // estudiante

También es posible: struct estudiante { char nombre[20]; char apellido[20]; float nota; int id; } juan, luisa; //Declara la estructura y 2 vbles

También se puede aplicar typedef: struct estudiante { char nombre[20]; char apellido[20]; float nota; int id; }; typedef struct estudiante alumno; alumno est1,est2, estaux; //Vbles de tipo alumno (es decir estructuras estudiante)

Para acceder a cada uno de los campos de la estructura se utiliza: vbleEstructura.campo Ej: juan.nota=4.0; cin>> juan.nombre; cout<<juan.nombre<<" "<<juan.nota;

Definición: Un elemento estándar (stdelement) es un tipo de dato que tiene como característica distintiva un campo llamado clave que lo diferencia de todos los demás elementos de su tipo y lo hace único. Ejemplo: un campo cédula en una estructura persona. Estos elementos son los más usados al definir tipos de datos para crear estructuras de datos con ellos y próximamente serán vistos.

Uniones: Son similares a las estructuras, la diferencia es que los campos comparten el mismo espacio de memoria. union nombre_de_union { Campos de la union; };

union persona { char nombre[20]; char inicial; } p; cin>> p.nombre; //Suponga se ingresa Pedro, entonces: cout << p.inicial; //Imprime ‘P’. /*¿Si en vez de inicial hubiese un campo declarado también de 20 caracteres que saldría? */

#include union prueba { int a; int b; int c; }p; void main (void) { p.a=10; cout << p.a << p.b << p.c; } Imprime #include union prueba { int a; float b; char c; }p; void main (void) { p.a=8; cout << p.a; // Imprime 8 cout << p.b; // Valor inesperado cout << p.c; // Valor Inesperado } Imprime e-04

Arreglos o Vectores: Son un conjunto de posiciones adyacentes de memoria para almacenar datos del mismo tipo que tienen el mismo nombre y se diferencian en el índice. Para declarar un arreglo en C++ se utiliza la sintaxis: tipo_de_dato nombre_arreglo [dimension]; Los índices van desde 0 hasta dimension-1.

int arreglo[10]; arreglo[3]=50; //Asigna el valor 50 al 4 to elemento del arreglo cout<<"El cuarto elemento es"<<arreglo[3]; Se pueden también definir por ejemplo vectores de estructuras  Luego se verán…

Clases: Énfasis en el curso de Objetos (herencia, sobrecarga de operadores etc.) Son similares a las estructuras Para definir una clase en C++ se utiliza la siguiente sintaxis: class nombre_de_clase { private: Campos_de_la_clase; public: Constructor; Declaración_de_funciones; };

Ejemplo: Especificación de una clase punto: #include class punto { private: int color; int coordenada_x; int coordenada_y; public: punto(int color, int X, int Y); //Constructor void cambiar_color(int nuevo_color); int consultar_color(); };

Implementación de las funciones: punto::punto(int color1, int X, int Y) { color=color1; coordenada_x=X; coordenada_y=Y; } void punto::cambiar_color(int nuevo_color) { color=nuevo_color; } int punto::consultar_color() { return color; } Constructor

Declararación de una variable (objeto) de tipo punto e invocación de sus funciones (métodos): void main(void) { punto alpha( 23, 100, 80 ); cout << alpha.consultar_color(); alpha.cambiar_color( 50 ); cout << alpha.consultar_color(); }