Bienvenidos a un nuevo curso. Ahora estoy en el ciclo de grado superior: Desarrollo de aplicaciones multiplataforma. Y voy a ser parte del experimento de la formación dual. Estaré haciendo practicas durante un año, y a la vez finalizando la formación.

Deseadme suerte.

miércoles, 29 de octubre de 2014

Programación

0

Solución: traspuesta de una matriz
procedimiento trasponer (E/S m: matriz, E n: entero)
{Traspone la matriz m de dimensión nxn}
variables
     fila, columna: entero;
     auxiliar: real;
principio
     para fila:=1 hasta n hacer
    {En cada fila considera los elementos situados a la derecha de la diagonal}
         para columna:= fila+1 hasta n hacer
         {permuta cada elemento con su simétrico}
          auxiliar:=m[fila, columna];
          m[fila, columna]:=m[columna, fila];
          m[columna, fila]:=auxiliar;
          fpara
     fpara
fin

Solución: producto de dos matrices
procedimiento multiplicar_matrices (E m1: matriz, E m2: matriz, E a: entero, E b: entero, E c: entero, S m: matriz)
{multiplica las matrices m1 y m2 de dimensiones axb y bxc, asignando el resultado a la matriz m que tendrá una dimensión axc}
variables
     fila, columna, i: entero;
principio
     para fila:=1 hasta a hacer
     {Considera cada una de las filas}
          para columna:=1 hasta c hacer
          {Multiplica escalarmente la fila por la columna}
               m[fila, columna]:=0.0;
               para i:=1 hasta b hacer
                    m[fila, columna]:=m[fila,columna]+m1[fila,i]*m2[i,columna];
               fpara
         fpara
    fpara
fin

Vectores en C
En C el tipo usado como índice así como los valores que puede tomar ese índice están totalmente restringido: sólo se puede usar el tipo entero y el indice tomará valores enteros empezando en 0.
Es decir, si me quiero declarar un vector v de cualquier tipo de datos de 20 componentes, necesariamente los índices utilizados irán de 0 a 19 y los datos estarán guardados en v[0], v[1], ..., v[19].
Al estar tan limitado el tipo de datos que se puede utilizar como índice y los valores que puedo escoger (que no puedo), no es necesario declararme un tipo de datos de tipo vector sino que directamente puedo declararme una variable especificando el tipo de componenetes y el número de componentes.
Ejemplos:
- int v[10], /* Estoy declarando un vector de 10 componentes (0...9) de tipo entero*/
-float w[100] /*Estoy declarando un  vector de 100 componentes (0...99) de tipo real*/
-char y[50][40] /* Estoy declarando una matriz de dimensiones 50x40 (50 filas de 0.49 y 40 columnas 0.39) El hecho de que sean 50 filas y 40 columnas lo estpoy decidiendo yo por el tratamiento que haré, podría considerarlo al revés, aunque normalmente se consideran primero las filas y luego las columnas*/
Para usarlos en el programa, sin más indicamos la variable vector afectada y ponemos entre corchetes la componenete que queremos usar, (Con los ejemplos anteriores: v[5], w[43], y[7][4].
Con una componente de un vector puedo hacer exactamente lo mismo que con una variable que sea del mismo tipo de datos que el vector en cuestión.

Cadenas de caracteres en C
Recordar que dijimos que una cadena de caracteres en C no es más que un vector de caracteres que guarda el carácter especial '\0' en alguna de sus componentes, indicando que esa es la posición en la que termina la cadena.
Podemos acceder a cada una de esas componentes como si fueran simples vectores, siempre y cuando respetemos que la cadena termine con ese carácter especial.

Related Posts:

  • Explicaciones Introducen un texto por pantalla. ej. Hola, yo soy un texto. 1234 Y presionan enter. Hasta que no presionan enter el texto no va a parar hasta una se… Read More
  • Continuación de punteros Punteros y matrices Es la misma idea que cuando hemos hablado de vectores y punteros. Una matriz es un puntero al primer elemento más una reserva d… Read More
  • Usar elementos XHTML desde C Página recomendada Se debe instalar la libreria libxml-config -- cflags / -- libs Nos dirigimos al instalador MinGW: … Read More
  • Tema 5cFunción Open Uso de fopen() FILE*fich; fich=fopen("ejemplo.txt", "r"); if (fich==NULL)      printf("Error en la apertura del fichero\… Read More
  • Punteros en CDespués de 9 días de faltar a clase por aumento de trabajo (pocas vacaciones he tenido.. :( ) Hay varias cosas que necesitare para poner al día el blo… Read More

0 comentarios:

Publicar un comentario

Etiquetas actuales

BD (67) DEF (64) PROG (64) SQL (44) Java (29) PRACTICAS (20) php (18) DI (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) HTML (13) SGE (12) ERP (9) CONSULTAS (8) css (8) Linux (5) XML (5) Android (4) PDM (4) C (3) NetBeans (3) PSP (3) SMARTY (3) comandos (3) HOOK (2) POST (2) XSD (2) cURL (2) JS (1) MEDIA-QUERYS (1) PDO (1) RESPONSIVE (1) TPL (1) TRADUCCIÓN (1) app_inventor (1)

Todas las etiquetas

EJER (78) BD (67) DEF (64) PROG (64) SQL (44) c# (40) Programación (39) Ficheros (36) Java (29) bases de datos (21) PRACTICAS (20) lenguajes de marcas (19) AD (18) Entorno de desarrollo (18) php (18) PROCEDIMIENTOS (17) DI (16) FORM (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) lenguaje C (16) E/R (14) HTML (13) SGE (12) Sistemas informáticos (10) ERP (9) CONSULTAS (8) TRANSACCIONES (8) TRIGGER (8) VISUAL BASIC (8) css (8) FUNCIONES (7) html5 (6) Ada (5) EXAMEN (5) Linux (5) XML (5) estructuras (5) Android (4) DISEÑO (4) INTERFAZ (4) LOG (4) OpenBravo (4) PDM (4) ACTUALIZAR (3) C (3) DIAGRAMA (3) Directorios (3) NEW (3) NOR (3) NetBeans (3) OLD (3) PSP (3) SMARTY (3) comandos (3) css3 (3) AISLAMIENTOS (2) C++ (2) CONTROLERRORES (2) ELIMINAR (2) HOOK (2) INSERTAR (2) INST (2) MULTITABLA (2) POST (2) RECURSIVIDAD (2) SUBCONSULTAS (2) VISTAS (2) XSD (2) cURL (2) punteros (2) AJENA (1) BLOQUEOS (1) Byte (1) CREACION (1) CRM (1) Configuración (1) Controles (1) Datos (1) GOTFOCUS (1) IMAGENES (1) INDICES (1) JS (1) Lenght (1) MEDIA-QUERYS (1) Mingw (1) MonoDeveloped (1) OPTIMISTA (1) PDO (1) PESIMISTA (1) RESPONSIVE (1) SPEAK (1) Scanner (1) Serializacion (1) Streams (1) System (1) TPL (1) TRADUCCIÓN (1) USUARIOS (1) UseSystemPasswordChar (1) app_inventor (1) char (1) examenes (1) libreoffice (1) make (1) redes (1)