Sei sulla pagina 1di 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

GUIA PRCTICA ESTRUCTURA: MODULO: No. GUIA: PROGRAMACION ORIENTADA A OBJETOS Programacin en C UNO (1)

Fecha: 27/10/2011 Pgina 1

Ttulo: De la Temtica de acuerdo a la estructura curricular que se les entreg al iniciar nuestro curso. Cada gua debe tener al interior encabezado. Observaciones para el desarrollo de las guas en las que ud. Se comprometi a mejorar. Mejorar las guas que les entrego a continuacin en esta clase. Por favor las guas deben contemplar los siguientes puntos para cada una de las guas. Introduccin No lleva objetivos como punto. Estos se manifiestan implcitamente en la introduccin Objetivos Glosario de trminos referentes a la temtica de cada gua Actividades propuestas Implcitamente la gua presenta actividades que se van desarrollando como lo hemos hecho en las clases. Favor demostrar con ms grficas o pantallazas los procesos de las guas Pero es importante que ud. Plantee o proponga otras actividades. Disear Evaluaciones de cada gua. Cuestionario, preguntas de relacin, preguntas de falso y verdadero y de distractores. Bibliografa para cada gua. Muchas gracias por su colaboracin y les solicito gran calidad en el desarrollo de esta actividad. Cordial saludo. Recuerden que los aprecio mucho. 300 2 68 06 18. Estoy para servirles. Nos vemos en las clases.

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 1 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS GUIA N 1 LENGUAJE C


INTRODUCCIN

Fecha: 27/10/2011 Pgina 2

El propsito de esta gua es establecer conceptos bsicos sobre la historia del lenguaje de programacin C. Otro de los propsitos es reconocer el ambiente de trabajo para hacer un programa mediante el uso del IDE de visual Studio con el programa visual C++

Conceptualizar estructuras de programacin en Visual C++ y Visualizar c/u de ellas mediante cdigo que puede ser trasladado al paquete de desarrollo para la ejecucin del programa. HISTORIA LENGUAJE C
El lenguajes C naci en los Laboratorios Bell de AT&T y ha sido estrechamente asociado con el Sistema Operativo UNIX, ya que su desarrollo se realiz en este sistema y debido a que tanto UNIX como el propio compilador de C y la casi totalidad de los programas y herramientas de UNIX, fueron escritos en C. Su eficacia y claridad han hecho que el lenguaje asembler apenas haya sido utilizado en UNIX. Este lenguaje est inspirado en el lenguaje B escrito por Ken Thompson en 1970 con intencin de recodificar el UNIX, que en la fase de arranque esta escrito en asembler, en vistas a su transportabilidad a otras mquinas. B era un lenguaje evolucionado e independiente de la mquina, inspirado en los lenguajes BCPL concedido por Martin Richard en 1967. En 1972, Dennis Ritchie, toma el relevo y modifica el lenguaje B, creando el lenguaje C y reescribiendo el UNIX en dicho lenguaje. La novedad que proporcion el lenguaje C sobre el B fue el diseo de tipos y estructuras de datos. Una de las particularidades de C es su riqueza de operadores, Puede decirse que prcticamente dispone de un operador para cada una de las posibles operaciones en cdigo mquina. Algunas caractersticas de ste lenguaje:

Programacin estructurada Abundancia en operadores y tipos de datos. Ral Ernesto Ortiz Garzn Pgina 2 de 41

Ingeniero

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


Fecha: 27/10/2011 Pgina 3

Codificacin en alto y bajo nivel simultneamente. Reemplaza ventajosamente la programacin en ensamblador (assembler). Utilizacin natural de las funciones primitivas del sistema. No est orientado a ningn rea en especial. Produccin de cdigo objeto altamente optimizado. Facilidad de aprendizaje.

Como todo leguaje tambin tiene desventajas como las que podemos sealar a continuacin:

Carece de instrucciones de entrada/salida, de instrucciones para manejo de cadenas de caracteres, con lo que este trabajo queda para la biblioteca de rutinas, con la consiguiente prdida de transportabilidad La excesiva libertad en la escritura de los programas puede llevar a errores en la programacin que, por ser correctos sintcticamente no se detectan a simple vista Por otra parte las precedencias de los operadores convierten a veces las expresiones en pequeos rompecabezas.

LENGUAJE DE PROGRAMACION C Usted debe tener en claro lo siguiente: Lenguaje de programacin: Es un lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qu es y qu no es un lenguaje de programacin. Se asume generalmente que la traduccin de las instrucciones a un cdigo que comprende la computadora debe ser completamente sistemtica. Normalmente es la computadora la que realiza la traduccin. Existen dos clases de lenguajes de programacin: Lenguajes de bajo nivel: Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas binarias. Dar una instruccin a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de seales se denomina cdigo mquina. El cdigo representa normalmente datos y nmeros e instrucciones para manipularlos. Un modo ms fcil de comprender el cdigo mquina es Ingeniero Ral Ernesto Ortiz Garzn Pgina 3 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 4

dando a cada instruccin un mnemnico, como por ejemplo STORE, ADD o JUMP. Esta abstraccin da como resultado el ensamblador, un lenguaje de muy bajo nivel que es especfico de cada microprocesador. Lenguajes de alto nivel: El lenguaje de alto nivel es aquel que interpreta el usuario y/o programador para comunicarse con la mquina. Lenguaje c: C (Informtica), lenguaje de programacin desarrollado en 1972 por el estadounidense Dennis Ritchie en los Laboratorios Bell. Debe su nombre a que su predecesor inmediato haba sido llamado lenguaje de programacin B. Aunque muchos consideran que C es un lenguaje ensamblador ms independiente de la mquina que un lenguaje de alto nivel, su estrecha asociacin con el sistema operativo UNIX, su enorme popularidad y su homologacin por el American National Standards Institute (ANSI) lo han convertido quiz en lo ms cercano a un lenguaje de programacin estandarizado en el sector de microordenadores o microcomputadoras y estaciones de trabajo. C es un lenguaje compilado que contiene un pequeo conjunto de funciones incorporadas dependientes de la mquina. El resto de las funciones de C son independientes de la mquina y estn contenidas en bibliotecas a las que se puede acceder desde programas escritos en C. Estos programas estn compuestos por una o ms funciones definidas por el programador, por lo que C es un lenguaje de programacin estructurada.

PRINCIPIOS PARA PROGRAMAR EN C Recomendaciones:


Para programar en c utilizaremos un programa que viene adicionalmente en el paquete de VISUAL STUDIO versin 6.0, el programa se llama VISUAL C++. Una vez estando en el programa C++ crearemos nuestro documento FILE, NEW, en el momento en que damos la orden de crear el nuevo documento aparecera una ventana con diferentes pestaas, solamente utilizaremos la primera FILES, en esta pestaa aparecern varias opciones la cual tomaremos C++ SOURSE FILES, despus nos ubicndonos en la casilla FILE NAME en la cual daremos nombre a nuestro documento, debajo esta la casilla para la localizacin del documento, finalmente damos OK, y aparecer el documento en blanco listo para recibir instrucciones.

Primeros pasos para programar en c: Hay que tener en cuenta que una biblioteca en c son el conjunto de cdigos internos que vienen dentro del lenguaje de programacin para ser activados. Ingeniero Ral Ernesto Ortiz Garzn Pgina 4 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 5

Digitar el carcter numeral (#) (preprocesador), quiere decir que el smbolo alista el procesador para que el programa se ejecute. En seguida del carcter numeral (#) va la palabra include, declara la biblioteca a incluir. La biblioteca que se va a incluir se declara entre los signos < > (mayor que y menor que). La biblioteca que se va a incluir debe ir con la extensin .h. En la siguiente lnea daremos main () para dar inicio a nuestro programa, debajo del main debe abrirse la llave { para indicar que se est abriendo el main, y cuando terminemos nuestro programa se cierra con la llave }. Ejemplo: Se va hacer el ejercicio en c que imprima el mensaje: mi primer programa en c, y se va a explicar paso a paso: 1) Digitamos el carcter que va al alistar el procesador: # 2) Declaramos las bibliotecas: #include<iostream.h> 3) Iniciamos el programa con su respectiva llave abierta: #include<iostream.h> main() { 4) Abrimos el carcter {

NOTA: recuerde que todos los cdigos deben ir en letra minscula.

GUIA N
INTRODUCCION

2 if

En esta gua se presentara las instrucciones en visuales c++ necesarias para la programacin de los programas con los casos condicionales if. Determinar que instrucciones se utilizan para los cuatro casos de una condicin if.

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 5 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


DESARROLLO OPERACIONES LOGICAS

Fecha: 27/10/2011 Pgina 6

Es la comparacin entre dos valores. Es aquella que entrega un valor booleano cuyo resultado es de tipo booleano que expresa un resultado, puede ser verdadero o falso, 1 o 0, que se obtiene a travs de esa operacin lgica a travs de dos operaciones, puede ser numrico, carcter, alfanumrico, etc. Su funcin es comparar datos. Se dividen en dos: Operaciones lgicas simples que son: <, >,=, , y . Operaciones lgicas compuestas: Es el resultado de la comparacin entre dos

operaciones lgicas simples. Entre ellos encontramos: Conjuncin o y Disyuncin o o

A continuacin se presentan las operaciones lgicas usadas en C para cualquier tipo de condicin Operacin Lgica < > = Menor o igual Mayor o igual diferenta Nomenclatura en C < > == <= >= !=

Estructura de Seleccin If/else


Son aquellas que se activan por seleccin. De varias opciones solo se selecciona una. Tambin llamadas de bifurcacin.

La estructura de seccin if ejecuta una accin indicada solo cuando la condicin es verdadera; de lo contrario la accin es pasada por alto. La

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 6 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 7

estructura de programacin if/else permite que el programador especifique que se ejecuten acciones distintas cuando la condicin sea verdadera que cuando la condicin sea falsa. Por ejemplo: Si/if la nota del estudiante es mayor que o igual a 60 Imprima paso De lo contrario/else Imprima fallo #include<iostream.h> main() { int a,b,suma; cout<<"digite el valor de a "; cin>>a; cout<<"digite el valor de b "; cin>>b; if(a>b) { cout<<"\n a es mayor que b\t "; } else suma=a+b; cout<<"el valor de la suma es \t"<<suma<<endl; cout<<"\n b es mayor que a\t"; } }
Caso I Para el caso 1 C usa la siguiente estructura de instrucciones: #include <iostream.> Main () {

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 7 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


S1; S2; . . . . Sn; If (c) { S1c; S2c; . . . . Snc; } } c= condicin. S= sentencia Caso II Para el caso dos, En C se presenta la siguiente estructura de instrucciones. #include <iostream.> Main () { S1; S2; . . . . Sn; If (c) { S1c; S2c; .

Fecha: 27/10/2011 Pgina 8

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 8 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


. . . Snc; } Sn1; Sn2; . . . . Snn; } Caso III En el caso 3 las instrucciones se escriben de la siguiente forma. #include <iostream.> Main () { S1; S2; . . . . Sn; If (c) { S1c; S2c; . . . . Snc; } Else { S1f; S2f; .

Fecha: 27/10/2011 Pgina 9

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 9 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


. . . Snf; } } Caso IV En el caso 4 del if se presenta las siguientes instrucciones. #include <iostream.> Main () { S1; S2; . . . . Sn; If (c) { S1c; S2c; . . . . Snc; } Else { S1f; S2f; . . . . Snf; } Sn1; Sn2;

Fecha: 27/10/2011 Pgina 10

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 10 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


. . . . Snn; } Caso V El caso 5 los anidados en c son de la siguiente forma #include <iostream.> Main () { S1; S2; . . . . Sn; If (c) { S1c; If (c1) { S1c1; S1c1; If (c2) { S1c1; S1c2; } Else { S1f; S2f; . . . . Snf }

Fecha: 27/10/2011 Pgina 11

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 11 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


} } }

Fecha: 27/10/2011 Pgina 12

GUIA N 3

MIENTRAS QUE
INTRODUCCION En esta gua se presentara las instrucciones en visual c++ necesarias para la programacin de productos de software para el caso repetitivo mientras que. Igualmente en esta gua se presentan las instrucciones en visuales c++ necesarias para la programacin de productos de software para el caso condicional del haga mientras que. Determinar que instrucciones se usan en la condicin repetitiva del haga.

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 12 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 13

Determinar que instrucciones se usan en la condicin repetitiva del haga mientras que (do while).

Estructura de repeticin While Una estructura de repeticin le permite al programador especificar que se repita una accin, en tanto cierta condicin se mantenga verdadera. While/ Mientras queden elementos en mi lista de compras Adquiero el elemento siguiente de y lo tacho de la lista Esto describe la repeticin que ocurre durante una salida de compras. La condicin, hay mas items en mi lista de compras puede ser verdadera o falsa. Si es verdadera, entonces la accin se ejecutara en forma repetida , en tanto la condicin sea verdadera. El enunciado o enunciados en la estructura de repeticin while constituyen el cuerpo del while. El cuerpo puede ser un enunciado sencillo o compuesto. Eventualmente, la condicin se har falsa cuando se hay adquirido el ultimo item de la lista y se halla tachado de la misma. Llegado a ese punto la repeticin se termina, y se ejecutara el enunciado que sigue despus de la estructura de repeticin. #include<iostream.h> main() { int c; cout<< "digite un numero de 1-9"<<endl; cin>>c;
Ingeniero Ral Ernesto Ortiz Garzn Pgina 13 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS while (c<=10) { cout<<c<<endl; c=c+1; } }
DESARROLLO CONDICION REPETITIVA DEL MIENTRAS QUE En el mientras que esta representado por la condicin while.

Fecha: 27/10/2011 Pgina 14

El bucle while se ejecuta mientras una condicin es cierta. Cuando esta condicin se torna falsa, el bucle termina su operacin. Esta es la estructura de instrucciones #include <iostream.> Main () { S1; S2; . . . . Sn; while (c) { S1c; S2c; . . . . Snc; } Sn1; Sn2; . .

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 14 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


. . Snn; }

Fecha: 27/10/2011 Pgina 15

CASO para el haga mientras que.


DESARROLLO CONDICION REPETITIVA DEL HAGA MIENTRAS QUE En C el haga esta representado por la condicin Do while. Esta es la estructura de instrucciones #include <iostream.> Main () { Do { S1; S2; . . . . Sn; } while (c); { S1c; S2c; . . . . Snc; } Sn1; Sn2; . . .

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 15 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


. Snn; }

Fecha: 27/10/2011 Pgina 16

estructura de repeticin do / while la estructura de repeticin do / while es similar a la estructura while. En la estructura while, la condicin de continuacin de ciclo se prueba al principio, al principio del ciclo, antes de ejecutarse el cuerpo del mismo. La estructura do / while prueba la condicin de continuacin del ciclo, despus de ejecutar el cuerpo del ciclo, y por lo tanto, el cuerpo del ciclo se ejecutara por lo menos una vez. Cuando termina do / while, la ejecucin continuara con el enunciado que parezca despus de la clusula while. Do { Enunciado } While ( condicin );
Ejercicio Escriba dos programas en C que entregue en su ejecucin el siguiente resultado

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 16 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 17

Disear uno utilizando la funcin while y el otro utilizando la funcin do while

GUIA N 4 Ingeniero Ral Ernesto Ortiz Garzn Pgina 17 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


SELECCIONE SEGN EL CASO
INTRODUCCION

Fecha: 27/10/2011 Pgina 18

En esta gua se presentara las instrucciones en visual c++ necesarias para la programacin con las sentencias switch. OBJETIVOS Determinar la estructura de instrucciones para una sentencia switch. DESARROLLO SENTENCIAS SWITCH Se puede programar con un grupo de sentencias if then else anidadas, aunque ello puede ser de complicada lectura. Para evitarlo nos puede ayudar la sentencia switch. A continuacin se presenta un ejemplo de la utilizacin del for en un programa. Esta es la estructura de instrucciones qu se presenta mediante el siguiente ejemplo. #include<iostream.h> main() { do { int op,c; cout<<"1 salidas\n"; cout<<"2 variables\n"; cout<<"3 seleccione el caso\n"; cout<<"4 ciclicos\n"; cout<<"5 salir\n"; cout<<"seleccione opcion\n"; cin>> op; switch (op) { case 1: cout<<"hola\n"; break; case 2: int a; cin>>a;

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 18 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


cout<<a; break; case 3: int x,y; cin>>x; cin>>y; if (x>y) { cout<<"x>y"; cout<<x+y; } break; case 4: int p; for (p=1; p<10;p++) { cout<<p<<endl; } break; case 5: int c; c=2; break; default: cout<<"digite de nuevo"; }while (c=1); }

Fecha: 27/10/2011 Pgina 19

La sentencia break provoca que se termine la ejecucin de una iteracin o para salir de la sentencia switch. En cada case se escribe las instrucciones de un programa desde que se definen el tipo de variables.

La estructura de seleccione segn el caso switch En forma ocasional, un algoritmo puede contener una serie de decisiones, en
Ingeniero Ral Ernesto Ortiz Garzn Pgina 19 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 20

las cuales una variable o expresin se probara por separado contra cada uno de los valores constantes enteros que pueda asumir, y se tomaran diferentes acciones. Para esta forma de toma de decisiones se proporciona una estructura de varias opciones donde se selecciona segn el caso switch. La estructura switch esta formada de una serie de etiquetas case, y de un caso opcional default. #include<iostream.h> void main() { int op,d; do { cout<< " 1.salidas \n"; cout<< " 2.variables \n"; cout<< " 3.selectivas \n"; cout<< " 4.ciclicas \n"; cout<< " 5.salir \n"; cin>>op; switch (op) { case 1: cout<<" hola "<<endl; break; case 2: int a; cin>>a; cout<<a<<endl; break; case 3: int x,y; cin>>x; cin>>y;
Ingeniero Ral Ernesto Ortiz Garzn Pgina 20 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 21

if (x>y) { cout<< " x>y "<<endl; cout<< x+y <<endl; } break; case 4: int p; for ( p=1 ; p<10;p++) { cout<<p<<endl; } break; case 5: cout<< "para salir digite 2 para continuar 1 "<<endl; cin>>d; break; default: cout<< "por defecto"; } }while (d == 1); } 6. los enunciados break el enunciado break se utiliza para modificar el flujo de control. El enunciado break cuando se utiliza o ejecuta en una estructura while, for, do / while, o switch, causa salida inmediata de dicha estructura. La ejecucin del programa continua con el primer enunciado despus de la estructura. Los usos comunes del enunciado break son para escapar en forma prematura de un ciclo, o para salir del resto de una estructura switch.

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 21 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 22

GUIA FUNCIONES

Las funciones permiten al programador modularizar un programa. Todas las variables declaradas de funcin son variables locales son conocidas solo en la funcin en la cual estn definidas, aunque por otro lado existen otras variable globales que se definen antes del cuerpo del programa (main), y adems cabe mencionar que toda funcin distinta a void debe poseer un return. Ejemplo: #include <iostream.h> int f(int); /* variables globales */ int a; int f1(); void main( ) { cout<< " digite los datos "<<endl; cout<< f(a) + f1() <<endl; } int f(int f) { int a; /* variables locales */ cout<< " digite el primer valor "<<endl; cin>>a; a=a+f; return a; /* como la funcion no es de tipo void sino int debe tener return */
Ingeniero Ral Ernesto Ortiz Garzn Pgina 22 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 23

} int f1( ) { int a; cout<< " digite el segundo valor "<<endl; cin>>a; return a; } Existen varios intereses que dan motivo a la funcionalizacion de un programa. Uno seria la reutilizacin de software, ya que con buena identificacin y definicin de funciones, los programas pueden ser creados partiendo de funciones estandarizadas, que ejecuten tareas especificas, en vez de ser elaborados usando cdigo personalizado. Adems otro motivo es evitar en un programa repeticin de cdigo. Empaquetar cdigo en forma de funcin, permite que se ejecute dicho cdigo, desde distintas posiciones en un programa, simplemente llamando dicha funcin. # include <iostream.h> void f(); void main () { f(); } void f() { cout<< " Hello Jedi Master Rick \n\n\n"<< endl; }

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 23 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 24

Gua 6 ESTRUCTURAS DE DATOS Objetivos: Entender de manera muy basica y especifica todo lo relacionado con estructura de datos y sus componentes. Desarrollo: Definicin de estructura de datos: Es una conexin de datos que se caracteriza por su organizacin y las opciones que describe. Existen diferentes tipos: -extructuras simples -datos estructurados -datos estaticos Hablemos ahora acerca de las listas. Listas: Es como una estructura de un dato para poderlo manipular. Existen dos tipos de listas Ingeniero Ral Ernesto Ortiz Garzn Pgina 24 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


1. Listas lineales = entre estas estn las : a) Estticas. b) Dinmicas. 2. Listas no lineales = Solo estn las: a) las dinmicas

Fecha: 27/10/2011 Pgina 25

Memoria esttica: Es donde los datos se ban a la fija en un espacio fisicote la memoria Memoria no esttica: Estructura no fija. TAD = tipo de acceso de dato. Arreglos: Es un conjunto de datos organizados en una lista en orden consecutiva. Existen dos tipos de arreglos que son: -Vectores. -Matrices.

Las matrices se clasifican en tres: -Bidimensionales. -tridimensionales. -Multidimencionales.

VECTORES

Para realizar un arreglo en su manipulacin se debe realizar los siguientes pasos: 1) Definir el tamao en la memoria. Ingeniero Ral Ernesto Ortiz Garzn Pgina 25 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


2) Definir el tipo de dato. 3) Nombre del arreglo.

Fecha: 27/10/2011 Pgina 26

A.

B.

inicial a c d

final e f g

Todo esto es una funcin donde se guardan y se manipulan datos y en C++ se define as: Main ( ); { Int a [5];

Un arreglo es un grupo de posiciones de memoria relacionadas entre si, por el hecho de que todas tienen el mismo nombre y son del mismo tipo. Para referirse a una posicin en particular o elemento dentro del arreglo, se especifica el nombre del arreglo y el numero de posiciones del elemento particular dentro del mismo. 10 20 30 40 50 60 70 80 90 100 110 130 c(0) c(1) c(2) c(3) c(4) c(5) c(6) c(7) c(8) c(9) c(10) c(11) En la anterior figura se muestra un arreglo de una sola dimensin ( a quien tambin se le conoce con el nombre de vector) llamado c, este arreglo contiene doce elementos. Cualquiera de estos elementos puede ser referenciado dndole el nombre del arreglo seguido a por el numero de posicin de dicho elemento en particular en parntesis cuadrados o corchetes ( [] ).

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 26 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 27

Los arreglos ocupan espacio en memoria. El programador especifica el tipo de cada elemento y el numero de elementos requerido por cada arreglo de tal forma que la computadora pueda reservar la cantidad apropiada de memoria. Para indicarle a la computadora que reserve 12 doce elementos para el arreglo entero c: Int c [12]; A su vez los arreglos pueden ser declarados para que contengan otros tipos de datos, por ejemplo un arreglo de tipo char que puede ser utilizado para almacenar una cadena de caracteres. #include <iostream.h> void main() { int i; int vector [] = {3,8,7,5,20}; for (i=0;i<=4;i++) { cout<< vector[i]<<endl; } }

Matrices Por consiguiente una matriz tambin se le considera un arreglo de posiciones de memoria, tan solo que se diferencian de los arreglos anteriormente mencionados por las dimensiones que manejan un ejemplo podra ser una

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 27 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 28

matriz bidimensional, compuesta por dos dimensiones X y Y, a su mismo existen aquellas de tres dimensiones y por ultimo las multidimensionales. Ejemplo: M [],[]; 123 A B C Esta figura representa una matriz bidimensional compuesta por dos ejes X y Y, representados por A ,B, C Filas y Columnas 1,2,3, los datos se encuentran almacenados en cada una de las posiciones, para cuando se desee acceder a alguno de ellos se deben ingresar las dos coordenadas de tanto filas como columnas Ejm: M [A],[1]; o M [B],[3]; M [C],[1]; etc.. 10 20 30 40 50 60 70 80 90 # include <iostream.h> void main() { int i,j; int mat [3][3]; cout<< Digite los valores para llenar la matriz <<endl; for (i=0;i<3;i++) { for (j=0;j<3;j++) cin>>mat[i][j]; } for (i=0;i<3;i++) { cout<< " \t "; cout<< " \n ";
Ingeniero Ral Ernesto Ortiz Garzn Pgina 28 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS for (j=0;j<3;j++) { cout<< " \t "; cout<< " \n "; cout<<mat[i][j]<<endl; } } }

Fecha: 27/10/2011 Pgina 29

GUIA 7 for
INTRODUCCION

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 29 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 30

En esta gua se presentara las instrucciones en visual c++ necesarias para la programacin de los software para el caso condicional for. OBJETIVOS Determinar que instrucciones se usan en la condicin repetitiva for. DESARROLLO CONDICION REPETITIVA FOR

Estructura de repeticin for


El bucle for consiste de la palabra clave for seguida de una expresin entre parntesis. Esta expresin se compone realmente de tres campos cada uno separado por un punto y coma. El primer campo contiene la expresin "indice = 0" y se le llama campo de inicializacin. Cualquier expresin en este campo se ejecuta antes del inicio del bucle, en trminos generales se puede decir que no existe lmite en el contenido del primer campo ya que es posible contener varios enunciados separados por comas sin embargo es buena prctica de programacin mantener las cosas simples. El segundo campo, que en este caso contiene "indice < 6 " es la prueba que se hace al principio de cada ciclo del bucle y puede ser cualquier expresin que pueda evaluarse a verdadero falso. La expresin del tercer campo se ejecuta en cada ciclo del bucle pero solo hasta que se hayan ejecutado todas las instrucciones contenidas dentro del cuerpo principal del bucle, en este campo, como en el primero es posible contener varias expresiones separadas por comas.

A continuacin se presenta un ejemplo de la utilizacin del for en un programa.

La estructura de repeticin for maneja de manera automtica todos los detalles de la repeticin controlada por contador. for (c = 1, c<=10, c ++) La estructura for inicia su ejecucin, con una variable de control c que inicializa en 1. A continuacin se verifica la condicin de continuacin del
Ingeniero Ral Ernesto Ortiz Garzn Pgina 30 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 31

ciclo c< =10. dado que el valor inicial de c es 1, se satisface esta condicin. A continuacin la variable es incrementada por la expresin C+ +, y el ciclo empieza otra vez, dado que la variable c ahora es 2, el valor final aun no es excedido, y el programa se ejecuta una y otra vez hasta que c incremente a su valor final 11, lo que har que termine la repeticin.

Esta es la estructura de instrucciones #include <iostream.h> main () { int c; } for (c=0 ; c<=20 ; C++); { cout<<c<<endl; } }

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 31 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


GUIA N 8 Vectores
INTRODUCCION

Fecha: 27/10/2011 Pgina 32

En esta gua se presenta la definicin de vectores en C y la forma de aplicarlo en un programa. OBJETIVOS Definir que es un vector en c. Determinar la estructura de instrucciones en C para una aplicacin de vectores. DESARROLLO VECTORES

Los vectores son arreglos para manejar varios datos bajo un identificador. Para definir los vectores se realiza primero definiendo la cantidad de los datos que va ha contener el vector previamente se definen los tipos de datos que va contener este. Por ejemplo int vector [5] ; int vector [5] ; /* Crea un vector de cinco enteros */ /* Crea un vector de cinco enteros */

Los elementos de un vector empiezan en cero y terminan en dimensin - 1. Para acceder al elemento i de un vector, se utiliza la expresin Vector [ i ] A continuacin se presenta el seudocdigo para el ingreso de datos de un vector. Hacer para I = 1 a 10 Leer vec[I] Fin-para Hacer mientras I <= 10 Leer vec[I]

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 32 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


Fin-mientras I=1 Repetir Leer vec[I] I=I+1 Hasta-que I>10

Fecha: 27/10/2011 Pgina 33

GUIA N 9 matrices Ingeniero Ral Ernesto Ortiz Garzn Pgina 33 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


INTRODUCCION

Fecha: 27/10/2011 Pgina 34

En esta gua se presentara la definicin de matrices en C y la forma de aplicarlo en un programa. OBJETIVOS Definir para que es una matriz en c. Determinar la estructura de instrucciones en C para una aplicacin de matrices.

Entender mediante ejercicios la clasificacin de matrices bidimensionales las caractersticas generales de matrices. Entender mediante ejercicios la clasificacin de matrices tridimensionales las caractersticas generales de matrices.
MATRICES

DESARROLLO

Las matrices son arreglos para manejar varios datos bajo un identificador pero estos arreglos a diferencia de los vectores manejan mas de una dimensin. Para definir las matrices se realiza primero definiendo la cantidad de los datos que va ha contener la matriz tanto en filas como en columnas. Por ejemplo int matriz [5] [5] ; / Crea una matriz de 5*5 de tipo entero

Los elementos de una matriz empiezan en cero Para acceder al elemento i de las filas de una matriz y al elemento j referentes a las columnas, se utiliza la expresin matriz [ i ] [ j ] a continuacin se presenta un ejemplo. #include<iostream.h> void main() { int mat [3] [3]

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 34 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 35

Definicin de matrices bidimensionales: Es un arreglo de 2 dimensiones como por ejemplo: en lo que esta dividida principalmente las ciudades de hoy en da para llegar a un sitio especifico. La ciudad esta dividida en calles y carreteras carreteras y calles. Otro ejemplo puede ser el programa Excel que esta dividido en filas y columnas. Un dibujo claro es: Columnas 1 1 2 3 4 5 Filas Sub. ndice [ ] Por ejemplo un recorrido de una matris bidimensional puede ser: main ( ) int i, j; int mat [3][3]; for (i=0; I <=5; i++) { For (j=0; j<=5; j++) Cin>>mat [i][j]; Veamos el siguiente dibujo para enfocar acerca de una matriz tridimensional 2 3 4 5

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 35 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 36

Profundidad Alto

Ancho

Una manera de recorrer una matriz tridimensional en C++ es: Main( ) Int i, j, k; Int mat[3][3][3] For( i=0; i<3; i++) For(j=0;j<3; j++) For( k=0; k<3;k++) Cin>>mat[i][j][k]

EJERCICIOS SOBRE AREGLOS


1. Elaborar un programa que reciba dos arreglos a/ / y b// y un numero n que indique la capacidad mxima del arreglo b// y permita concatenar los arreglos. La concatenacin debe quedar almacenada en el arreglo b// - Si la longitud del arreglo b// no es suficiente para la concatenacin, los arreglos deben quedar con los datos originales y se debe retomar el numero 1. - Si el proceso se pudo realizar, se debe retomar el numero 1 Ejemplo: Si el contenido del arreglo a// es:

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 36 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 37

II O I A 0 1 2 3 4 5 6 7 8 9 Y el contenido del arreglo b// es: A M I G O O 1 2 3 4 5 6 7 8 9 Y la mxima capacidad de b// es n.- 20 se debe devolver el nmero 1 y el arreglo b// queda con los siguientes datos: A M I G O II O L A O 1 2 3 4 5 6 7 8 9 Yel arreglo (a) no debe sufrir modificaciones. 2. Elaborar un programa que lea un conjunto de caracteres y los almacene en un arreglo Siempre se cumple que el nmero de caracteres y los almacene en un arreglo. Cada carcter debe almacenarse en un elemento de arreglo a11 El conjunto total de los caracteres leidos forma una palabra El programa debe escribir SI ES PALINDROME si lo es y NO ES PALINDROME si no lo es. 3. Elaborar un programa que lea un nmero y los almacene en un arreglo. . Se cumple que n 200 . despus de leer todos los nmeros el programa debe comparar el contenido de cada uno de los elementos con el valor O . Si un elemento tiene un valor diferente de O , dicho valor debe desplazarse hacia el elemento de la izquierda . Al final del proceso todos los nmeros diferentes de O esten almacenados al comienzo del arreglo y todos los nmeros O al final del arreglo No se permite el uso de otro arreglo en el programa . Los nmeros diferentes de O deben quedar en el mismo orden en que leyeron Ejemplo: si 10 y el contenido del arreglo all es: 1 9 4 0 0 3 0 0 1 2 0 1 2 3 4 5 6 7 8 9 Al final del proceso, el contenido del arreglo aII es: 1 9 4 3 1 2 0 0 0 0 0 1 2 3 4 5 6 7 8 9 4. Elaborar un programa que reciba un arreglo de caracteres y retire del arreglo los caracteres duplicados Ejemplo: Si el contenido del arreglo aII es: 4 3 8 1 9 2 2 4 6 4 3 11 0 1 2 3 4 5 6 7 8 9 Al final del proceso, el contenido del arreglo aII es: 4 3 8 1 9 2 6 11

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 37 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS

Fecha: 27/10/2011 Pgina 38

0 1 2 3 4 5 6 5. Elaborar un programa que intercale ascendentemente dos arreglos, aII y Bii los arreglos intercalados deben quedar el arreglo cII - El numero de elementos del arreglo a es m y el numero de elementos del arreglo b es nym son menores o iguales a 50. El arreglo c debe definirse con 100 caracteres de longitud mxima. Ejemplo: si el contenido del arreglo a es: 4 3 0 2 1 3 8 2 0 1 2 3 4 5 6 Y el contenido del arreglo b es: 3 1 5 8 2 3 0 1 2 3 4 El arreglo c debe quedar as: 0 1 1 2 2 2 3 3 3 3 4 5 8 0 1 2 3 4 5 6 7 8 9 10 11 12 13 A medida que se vayan almacenando los elementos en el arreglo Cii deben quedar intercalados ascendentemente, evitando clasificar el arreglo c.

7 5 8

GUIA N 10 APUNTADORES
INTRODUCCION En esta gua se presentara mediante un ejemplo el uso de los punteros. OBJETIVOS Determinar la estructura de instrucciones en programa que usa punteros.. DESARROLLO

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 38 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


Antes de tratar sobre los punteros, hablemos tambin del componente Struct

Fecha: 27/10/2011 Pgina 39

Struct : es una variable compleja donde se almacenan varias variables que contengan registros. Por ejemplo en C++ se realiza de la siguiente manera. Struct fecha { Int dia; Int mes; Int ao; }calendario; Cout<<dijite el dia en que naciste <<ende. Cin>>calendario.dia; Cout<<mes Cin>>calendario.mes; La sentencia struct permite que en los tipos abstractos de datos de listas enlazadas mediante el uso de estructuras de datos apuntadores, podamos crear los nodos para realizar las respectivas operaciones.
PUNTEROS Un puntero es un tipo especial de variable, que almacena el valor de una direccion de memoria, esta direccion puede ser la de una variable individual, pero mas frecuentemente sera la de un elemento de un array, una estructura u objeto de una clase. Los punteros, al igual que una variable comun, pertenecen a un tipo (type), se dice que un puntero 'apunta a' ese tipo al que pertenece. A continuacin se presentan dos ejemplos de uso de funciones.

A continuacin se presenta un ejemplo para una aplicacin de punteros. #include <stdio.h> #include <stdlib.h> Struct nodo { Int dato; Struct nodo *sig; }; Main() { Struct nodo *nod, *temp, *temp2; Int valor; op, ban=0 Char op While (ban==0) Ingeniero Ral Ernesto Ortiz Garzn Pgina 39 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


{ Printf(\n1.insertar:); Printf(\n2.imprimir:); Printf(\n3.eliminar:); Printf(\n4.salir:); Printf(\n1.digite opcion deseada:); Scanf(&d,&op1); swicht (op1) { Case 1:op=s; While (op==s||op==S) { Printf(Digita numero entero); Scanf(%D,&valor); Nod=(struct nodo*) malloc (sizeof (struct nodo)); If (nod !NULL) { Nod->dato=valor; Nod ->sig=cab; Cab=nod; } Else Printf( %d no isertado. Memoria no disponible !!!\n, valor; Printf(si desea continuar digiteS/s: ); Scanf(%s ,&op); } Break; Case 2:if (cab==NULL) printf( la lista esta vacia !!!); Else { Printf(la lista es.); Temp2 = cab; While (cab =NULL) { Printf(% - ,cab ->dato); cab = cab -> sig; Printf(NULL\n); Cab =temp2; } Ingeniero Ral Ernesto Ortiz Garzn

Fecha: 27/10/2011 Pgina 40

Pgina 40 de 41

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMACIN ORIENTADA A OBJETOS


Break; Case 3: If (cab !=NULL) { Temp=cab; cab=can->sig;free (temp); } Else Printf( la lista est. Vacia!!); break; Default: If (op==4) {printf(FIN); ban1; } Else Printf(opcion no valida) Break; } } //return(0); }

Fecha: 27/10/2011 Pgina 41

Ingeniero

Ral Ernesto Ortiz Garzn

Pgina 41 de 41

Potrebbero piacerti anche