3.284 cursos gratis
6.263.460 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Manual de programación > Estructuras de datos (parte 1)

Manual de programación

Autor: Manuel Angel Lopez Zurita
Curso:  4,17/5 4,17/5 (3 opiniones) |2202 alumnos|Fecha publicación: 31/01/2008

Capítulo 10:

 Estructuras de datos (parte 1)

Hasta este momento sólo ha trabajado con variables, ahora bien, a veces resulta necesario guardar muchos datos y se desea no tener que crear un número muy elevado de variables.

Vea un ejemplo en el que se desea tratar las notas de una clase de 10 alumnos, tanto guardar los valores como calcular la media de las notas.

1.            programa nota_media
2.               definir alumno01 como entero
3.               definir alumno02 como entero
4.               definir alumno03 como entero
5.               definir alumno04 como entero
6.               definir alumno05 como entero
7.               definir alumno06 como entero
8.               definir alumno07 como entero
9.               definir alumno08 como entero
10.            definir alumno09 como entero
11.            definir alumno10 como entero
12.            definir media como real
13.     
14.            escribir_pantalla("Indique la nota del alumno 01")
15.            alumno01=leer_teclado()
16.            escribir_pantalla("Indique la nota del alumno 02")
17.            alumno02=leer_teclado()
18.            escribir_pantalla("Indique la nota del alumno 03")
19.            alumno03=leer_teclado()
20.            escribir_pantalla("Indique la nota del alumno 04")
21.            alumno04=leer_teclado()
22.            escribir_pantalla("Indique la nota del alumno 05")
23.            alumno05=leer_teclado()
24.            escribir_pantalla("Indique la nota del alumno 06")
25.            alumno06=leer_teclado()
26.            escribir_pantalla("Indique la nota del alumno 07")
27.            alumno07=leer_teclado()
28.            escribir_pantalla("Indique la nota del alumno 08")
29.            alumno08=leer_teclado()
30.            escribir_pantalla("Indique la nota del alumno 09")
31.            alumno09=leer_teclado()
32.            escribir_pantalla("Indique la nota del alumno 10")
33.            alumno10=leer_teclado()
34.            media= (alumno01+alumno02+alumno03+alumno04+alumno05+__
35.            alumno06+alumno07+alumno08+alumno09+alumno10/10
36.            escribir_pantalla("La media de las notas es " + __
37.           convertir_cadena(media))
38.            finprograma

Como se habrá visto en el ejemplo anterior, es necesario crear algún tipo de estructura para poder guardar la información y poder tratarla de una manera más agradable.

Esta estructura de datos recibe el nombre de matriz, vector, array o tabla. Se define con un nombre y tantos índices como dimensiones tenga el vector. Se accede a esta estructura mediante los [ ], y entre los [ ] se indica la posición.

Ejemplo:

definir dias_de_semana como vector[1..10] de cadena /*array unidimensional*/

definir quiniela como vector[1..12][1..3] de caracter       /*array bidimensional*/

definir tablero_ajedrez como vector [1..8][1..8] de entero /*array bidimensional*/  

Vea como queda el ejemplo anterior:

1.            programa nota_media_matriz
2.               definir notas como vector[1..10] de entero
3.               definir indice como entero
4.               definir media como real
5.        
6.               media=0
7.               para indice=1 hasta 10
8.                     escribir_pantalla("Indique la nota del alumno " + __
9.                     convertir_cadena(indice))
10.                  notas[indice]=leer_teclado()
11.                  media=media+notas[indice]
12.            finpara
13.            media=media/10
14.            escribir_pantalla("La media de las notas es " + __
15.            convertir_cadena(media))
16.            finprograma

Calcule el determinante de la matriz de 3 por 3.

1.            programa determinante
2.               definir indicex como entero
3.               definir indicey como entero
4.               definir determinante como entero
5.               definir datos como vector[1..3][1..3] de entero
6.               /*recogida de datos*/
7.               para indicex=1 hasta 3
8.                     para indicey=1 hasta 3
9.                           escribir_pantalla("Indique el elemento [" + __
10.                        convertir_cadena(indicey) + "],[" + convertir_cadena(indicex)+ "]")
11.                        datos[indicey][indicex]=leer_teclado()
12.                  finpara
13.            finpara
14.            /*calcular el determinante*/
15.            determinante=(datos[1][1]*datos[2][2]*datos[3][3]) + __
16.             (datos[1][2]*datos[2][3]*datos[3][1]) + __
17.             (datos[2][1]*datos[3][2]*datos[1][3]) - __
18.             (datos[1][3]*datos[2][2]*datos[3][1]) - __
19.             (datos[2][3]*datos[3][2]*datos[1][1]) - __
20.             (datos[1][2]*datos[2][1]*datos[3][3])
21.            escribir_pantalla("El determinante es " + __
22.            convertir_cadena(determinante))
23.            finprograma

Indicar si el  número de 10 dígitos introducido en un vector de 10 posiciones es capicúa.

1.            programa capicua
2.               definir indice como entero
3.               definir numero[1..10] como caracter
4.               definir resultado como booleano
5.        
6.               /*recoger información del número*/
7.               para indice=1 hasta 10
8.                     escribir_pantalla("Indique la posición " + __
9.                     convertir_cadena(indice) + ":")
10.                  numero[indice]=leer_teclado()
11.            finpara
12.     
13.            /*evaluar si el número es capicua*/
14.            resultado=Verdadero
15.            para indice=1 hasta 5
16.                  resultado=resultado Y (numero[indice]==numero[10-indice])
17.            finpara
18.     
19.            /*mostrar el resultado de si es capicua o no*/
20.            si (resultado==Verdadero) entonces
21.                  escribir_pantalla("El número es capicua")
22.            si no
23.                  escribir_pantalla("El número no es capicua")
24.            finsi
25.            finprograma

Una característica de los vectores es que todos los elementos poseen el mismo tipo elemental, es decir, que en un vector de enteros, todos los elementos son enteros.

Capítulo anterior - Sentencia bucle (parte 3)
Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 3 opiniones. Opina sobre este curso.


Cursos similares a Manual de programación


Cursos Valoración Alumnos Vídeo
Sistemas Informativos. Diseño y creación (1/2)
Diseño de sistemas informativos. El proceso de creación de los sistemas informativos es el centro de esta primera parte del curso. Desarrollamos u... [08/04/09]
3/5 2.888  
Usabilidad web
La usabilidad es el principal elemento con el cual debe contar toda página Web. Yo defino Usabilidad como la capacidad de una aplicación de ser agradable, eficiente y fá... [17/07/06]
 4,25/5 1.763  
Primeros pasos con XML y XSL
XML es el acrónimo del inglés eXtensible Markup Language cuyo objetivo principal es conseguir una página web más semántica. Inicialmente nace como sucesor del HTML, separ... [10/09/04]
 4,25/5 6.827  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail