Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMarta Ferreyra Aranda Modificado hace 7 años
1
Tema 3. Fundamentos para la construcción de código a partir del algoritmo
Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis y modelado algorítmico previo.
2
Arreglos Arreglos Muchas aplicaciones requieren el procesamiento de múltiples datos que tienen características comunes. En tales situaciones es a menudo conveniente colocar los datos en un arreglo (o array), donde todos comparten el mismo nombre (por ejemplo x). Los datos individuales pueden ser caracteres, enteros, números en punto flotante, etc. Sin embargo, todos deben ser del mismo tipo de datos.
3
Arreglos Arreglos Cada elemento del arreglo (cada dato individual) es referenciado mediante la especificación del nombre del arreglo seguido por uno o más índices, con cada índice encerrado entre paréntesis cuadrados. Cada índice debe ser expresado como un entero no negativo. Así en un arreglo de n elementos, los elementos del arreglo son : El valor de cada índice puede ser expresado como una constante entera, una variable entera o una expresión entera más compleja.
4
Arreglos Arreglos El número de índices determinan la dimensión del arreglo. Por ejemplo, x[i] hace referencia a un elemento del arreglo unidimensional x. Análogamente, y[i][j] hace referencia a un elemento del arreglo bidimensional y. Se pueden formular arreglos de mayor dimensión, añadiendo índices adicionales de la misma manera (por ejemplo, z[i] [j] [k]).
5
Arreglos Definición de Arreglos Los arreglos se definen como las variables normales, acompañando a cada nombre de arreglo con una especificación de tamaño (número de elementos). En términos generales, una definición de arreglo unidimensional puede expresarse como: tipoDato arreglo[expresión]; Donde: tipoDato es el tipo de datos, arreglo es el nombre del arreglo y expresión es una expresión entera positiva que indica el número de elementos del arreglo.
6
Arreglos Ejemplos: int x[100]; char texto [80]; static float n[12]; Una cadena de caracteres, es en realidad un arreglo de caracteres…
7
Arreglos Inicializar Arreglos Para inicializar los valores de un arreglo, estos deben aparecer en el orden en que serán asignados a los elementos individuales del arreglo, encerrados entre llaves y separados por comas. La forma general es: tipoDato arreglo[expresión] = {valor 1, valor 2, . . ., valorN}; Donde valor1 se refiere al valor del primer elemento del arreglo, valor2 al valor del segundo elemento, y así sucesivamente. La presencia de la expresión, que indica el número de elementos del arreglo, es opcional cuando están presentes los valores iniciales.
8
Arreglos Ejemplos: int digitos[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; float x[6] = {0, 0.25, 0, -0.50, 0, 0}; char color [4] = {' R ', 'O‘,'J‘,'O '} ; Todos los elementos del arreglo que no tienen asignados valores iniciales explícitos serán puestos automáticamente a cero. Esto incluye al resto de los elementos de un arreglo en el que un cierto número de elementos tienen asignados un valor distinto de cero. Ejemplo: int valores[10] = {3, 3, 3}; float datos[6] = {-0.3, 0, 0.25};
9
Arreglos Inicializar Arreglos El tamaño del arreglo no necesita ser especificado explícitamente cuando se incluyen los valores iniciales como una parte de la definición del arreglo. Con un arreglo numérico, el tamaño del arreglo será fijado automáticamente igual que el número de valores incluidos dentro de la definición. int digitos[ ] = {1, 2, 3, 4, 5, 6}; float x[ ] = {0, 0.25, 0, -0.5};
10
Arreglos Arreglos de caracteres Las cadenas de caracteres (arreglos de caracteres) son manejadas de modo algo diferente. En particular, cuando se le asigna una cadena de caracteres constante a un arreglo como parte de la definición, la especificación del tamaño del arreglo normalmente se omite. El tamaño adecuado será asignado automáticamente. Esto incluirá la provisión para el carácter nulo '\0', que se añade automáticamente al final de cada cadena de caracteres. char color[ ] = "ROJO";
11
Arreglos Procesar Arreglos En C no se permiten operaciones que involucren arreglos completos. Así, si a y b son arreglos similares (mismo tipo de datos, misma dimensión y mismo tamaño), operaciones de asignación, de comparación, etc. deben realizarse elemento por elemento. Esto se hace normalmente dentro de un ciclo, donde cada pasada por el ciclo se usa para procesar un elemento del arreglo. El número de pasadas por el ciclo será por tanto igual al número de elementos del arreglo a procesar.
12
Arreglos Ejemplo:
13
Arreglos Ejemplo:
14
Arreglos Algunas veces es conveniente definir el tamaño de un arreglo en términos de una constante simbólica en vez de una cantidad entera fija. Esto hace más fácil modificar un programa que utiliza un arreglo, ya que todas las referencias al tamaño máximo del arreglo (por ejemplo, en ciclos for o en definiciones de arreglos) pueden ser alteradas cambiando simplemente el valor de la constante simbólica.
15
Arreglos Ejercicios: Inicialice un arreglo de 10 elementos enteros, realice e imprima la sumatoria.
16
Arreglos
17
Arreglos Ejercicios: Modifica el programa anterior, sustituyendo o agregando las instrucciones necesarias para que, en lugar de tener el arreglo definido, el usuario sea el que incorpore los números.
18
Arreglos
19
Arreglos Ejercicios: Modifica el programa anterior, sustituyendo o agregando las instrucciones necesarias para que, después de agregar los números que estarán en el arreglo, los muestre en sentido inverso.
20
Arreglos
21
Tarea 7: Arreglos Realizar los siguientes programas en C.
Usando un arreglo de caracteres o cadena dado por el usuario, indicar cuantas letras tiene. Modificar el código anterior para que se indique también cuantas de sus letras son A. Pedir una línea de texto, e imprimirla invertida. Se manda por correo únicamente los archivos fuente ( .c ) Se trabaja en parejas.
22
Arreglos Arreglos multidimensionales Los arreglos multidimensionales se definen prácticamente de la misma manera que los arreglos unidimensionales, excepto que se requiere un par separado de corchetes para cada índice. Así, un arreglo bidimensional requerirá dos pares de corchetes, un arreglo tridimensional requerirá tres pares de corchetes, y así sucesivamente. En términos generales, la definición de un arreglo multidimensional se puede escribir como: tipoDato arreglo[expresión1] [expresión2] ... [expresiónN]; donde tipoDato es su tipo de datos, arreglo el nombre del arreglo, y expresión1, expresión2,…,expresiónN son expresiones enteras positivas que indican el número de elementos del arreglo asociados con cada índice.
23
Arreglos Arreglos multidimensionales Un arreglo unidimensional de n elementos puede ser visto como una lista de valores (o un vector). Análogamente, un arreglo bidimensional de m x n puede ser visto como una tabla (o una matriz) de valores que tienen m renglones y n columnas. Extendiendo esta idea, un arreglo tridimensional puede verse como un conjunto de tablas (por ejemplo, un libro en el cual cada página es una tabla), y así sucesivamente.
24
Arreglos Arreglos multidimensionales
25
Arreglos Ejemplo float tabla[50] [50]; char pagina[24] [80]; double registros [100] [66] [255]; Se debe tener cuidado en el orden en que los valores iniciales se asignan a los elementos del arreglo multidimensional. La regla es que el último índice (extremo derecho) es el que se incrementa más rápidamente, y el primer índice (extremo izquierdo) es el que se incrementa más lentamente. Así los elementos de un arreglo bidimensional deben ser asignados por filas, esto es, primero serán asignados los elementos de la primera fila, luego los elementos de la segunda, y así sucesivamente. int valores[3] [4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
26
Arreglos Arreglos multidimensionales El orden natural en el que los valores iniciales son asignados se puede alterar formando grupos de valores iniciales encerrados entre llaves ( { ... }). Los valores dentro de cada par interno de llaves serán asignados a los elementos del arreglo cuyo último índice varíe más rápidamente. Si hay pocos elementos dentro de cada par de llaves, al resto de los elementos de cada fila se le asignarán ceros. Por otra parte, el número de valores dentro de cada par de llaves no puede exceder del tamaño de fila definido.
27
Arreglos Arreglos multidimensionales int valores [3] [4] = { {l, 2, 3, 4} , {5, 6,7, 8} , {9, 10, 11, 12} }; Para un arreglo tridimensional: int t[2] [3] [4] = { { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} } , { {21, 22, 23, 24}, {25, 26, 27, 28 }, {29, 30, 31, 32} } } ;
28
Arreglos Ejercicios: Representar una matriz identidad en un arreglo bidimensional de 5x5 e imprimirla en pantalla con un formato adecuado
29
Arreglos
30
Arreglos Ejercicios: Pedir al usuario el tamaño N de la matriz Identidad a representar de N x N
31
Arreglos
32
Arreglos Ejercicios: Pedir al usario el tamaño M y N de una matriz de M x N y después pedir todos los elementos de la matriz. Al final imprimirla.
33
Arreglos
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.