Estructuras de Datos Manipulación de la Especificación de la Lista en C++

Slides:



Advertisements
Presentaciones similares
Programación Orientada a Objetos (con Java)
Advertisements

Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.
Funciones y recursividad
ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I PROFESORA: NELWI BÁEZ.
Procedimientos y Funciones
Defina una clase TempMinEstacion que encapsule la representación de las temperaturas mínimas registradas en una estación meteorológica en un período y.
Tipos de Datos Básicos y Estructurados
Bucle for.
Notas de metodología. Apellidos y nombre: ___________________________
CS1101X Programming Methodology
Introducción al lenguaje C++
ANEXO II LISTADO DE LOS EXÁMENES Y ANÁLISIS COMPLEMENTARIOS ESPECÍFICOS DE ACUERDO A LOS AGENTES DE RIESGO PRESENTES EN EL AMBIENTE DE TRABAJO Con frecuencia.
 Funciones predefinidas en las listas Se puede definir rangos en las listas. Ejemplo: [1..10] que es la lista del 1 hasta el 10 El operador ++ concatena.
Algoritmo y Estructura de Datos I
Ejercicios Fogueo.
Estructuras de Datos Cont. C++ y Tipos de Datos. Ejemplo: Vector de Objetos #include class estudiante { private: int aCarne; char aNombre[20]; float aNota;
Análisis y programación 13051A. * Como se había comentado anteriormente, un vector es un arreglo o colección de datos donde los datos se almacenan de.
Vectores en java.
ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I PROFESORA: NELWI BÁEZ.
Ejercicios Fogueo. Ejercicio Fogueo for 1 ¿Qué muestra el siguiente código? for(int count=0; count
Funciones Computación.
Sincronización de Procesos Introducción a Semáforos
Estructuras de repetición
Diseño de algoritmos “Estructuras”
Paso de Vectores como Parámetros
Lenguaje C.
Estructuras de Iteracion (Repetitivas ) while , for,, do-while
3.1 Declaración de tablas en C
Curso Programación en Java
UNIDAD V Arreglos y Cadenas
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
Programación III Clase 08 Arreglos.
Introducción a la Programación “Ejercicios” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Algoritmos para Ordenar datos
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.
Ordenación y Búsquedas1UVM Ordenación y Búsqueda.
Preparado por: Nelliud D. Torres Enero/2003 Versión 1.0
Búsqueda. Búsqueda Secuencial Es el método de búsqueda más sencillo En un arreglo o lista ligada consiste en ir visitando cada uno de sus elementos y.
BASE DE DATOS Ing. Miguel Jaime. Puntos Básicos Dato Base de Datos Tabla Campo Abstraccion Encapsulamiento Normalizacion.
CC30A Algoritmos y Estructuras de Datos
METODOLOGÍA DE LA PROGRAMACIÓN
Tipo de Datos Básicos.
PUNTEROS Ing Anghello Quintero.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
Ingreso y asignación de cursos en SRC Registro y Control de Personal Contratado Septiembre 2011.
Resumen Fundamentos de Programación/ Programación I
Introducción a la Programación “El lenguaje C” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
El Concepto de Tipo Los tipos permiten indicar la característica de los valores (datos) manipulados en un programa. Toda variable tiene asociado un tipo.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Un ejemplo de uso de estos operadores: int a, b, c; a = 0xd3; b = 0xf5; c = 0x1e; d =a |b; d =b &c; d =a ^c; d = ~c; d =c 4 Equivale a
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González ELO329.
CAPITULO V ARREGLOS Y CADENAS.
Introducción a la Programación “Conceptos Básicos” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO326: Seminario II 2do. Sem
Metodología de Programación Clase 1 Leonel Lagos V
Ejemplos: float R[10] = {2, 32, 4.6, 2, 1, 0.5, 3, 8, 0, 12}; float S[] = {2, 32, 4.6, 2, 1, 0.5, 3, 8, 0, 12}; int N[] = {1, 2, 3, 6}; int M[][3] = {
ARREGLOS (arrays).
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.
Sentencia de Lectura. Qué es? Cuando en un algoritmo necesitamos recibir del usuario algún dato como: un numero, la edad, etc. Lo anterior debemos recibirlo.
ARREGLOS. La sintaxis para declarar e inicializar un array será: Tipo_de_variable[ ] Nombre_del_array = new Tipo_de_variable[dimensión]; También podemos.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
TIPOS DE DATOS Estructuras de control y repetición PARCIAL III.
Programación en Visual Basic Laboratorios Lección #2 Por Antonio F. Huertas.
OBJETIVOS DEFINIR LA ESTRUCTURA DE ARREGLOS. DECLARAR ARREGLOS EN C.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
ESTRUCTURAS DE CONTROL REPETITIVAS
Usando for, while y do while
Tema 8 Arreglos Parte 1.
Simple Likelihood Ratio Calculations
Transcripción de la presentación:

Estructuras de Datos Manipulación de la Especificación de la Lista en C++

Ejemplo 1: Asuma un tipo lista, ¿Qué hace la siguiente función? int contar_nota(lista L, float nota) { int count=0; L.a_primero(); for(int i=1; i<=L.tamanno(); i++) { if(L.actual().VeraNota()==nota){ count++;} L.a_siguiente(); } return count; }

void borra_lista(lista &L) { int n=L.tamanno(); L.a_primero(); for(int i=1; i<=n; i++) { L.borre(); } void borra_lista(lista &L) { int n=L.tamanno(); L.a_primero(); for(int i=1; i<=n; i++) { L.borre(); L.a_siguiente(); } OJO: Falla cuando ha borrado el último Ejemplo 2:

Recordando a_siguiente L.a_siguiente(): Se sitúa en el elemento siguiente al actual. PRE:  L  L  {NULL}  i = Cursor POST: if(i = n){Cursor = i} else{Cursor = i + 1} Genera error cuando la lista es vacía

Ejemplo 3: ¿Qué hace la siguiente función? void concatenar(lista &L1, lista &L2) { L1.a_ultimo(); L2.a_primero(); for(int i=1; i<=L2.tamanno(); i++) { //Inserta elem. actual de L2 después del actual de L1 L1.inserte_despues(L2.actual()); //El cursor de L1 queda en el elem. recién insertado L2.a_siguiente(); //Avanza en el cursor de L2 }

Ejemplo 4: void borra_impares(lista &L) { int n=L.tamanno(); L.a_primero(); L.borre(); L.a_siguiente(); for(int i=2; i<n; i=i+2) { L.borre(); L.a_siguiente(); } Ojo recordar que: La operación borre() deja el cursor señalando el elemento anterior al que se borra excepto si el elemento a borrar es el primero, en tal caso el cursor se queda en la primera posición.

Ejemplo 5: void eliminar_perdedores(lista &L, float notap) { int t=L.tamanno(); L.a_primero(); for(int i=1; i<=t; i++) { if(L.actual().VeraNota()<notap) { if(L.actual() == 1){ L.borre();} else{ L.borre();L.a_siguiente();} } else { L.a_siguiente();} } Ejercicio: Eliminar los perdedores pero partiendo desde el último (de atrás hacia delante)

Ejemplo 6: Suponga se permiten elementos repetidos void pode(lista &L) { estudiante comp; for(int s=1; s<=L.tamanno(); s++) { L.a_iesimo(s); comp=L.actual(); for(int r=s+1; r<=L.tamanno(); r++) { L.a_siguiente(); if( comp.key() == L.actual().key() ) { L.borre(); r--; }