02 programacion pucv 2013 - arreglos unidimensionales final
Post on 23-Oct-2015
27 Views
Preview:
TRANSCRIPT
ESTRUCTURAS DE DATOS EN C
1) ARREGLOS UNIDIMENSIONALES
Escuela de Ingeniería Informática
L.GRIFFITHS.M@GMAIL.COM
FUNDAMENTOS DE PROGRAMACIÓN
ESTRUCTURA DE DATOS EN C
• Conjunto de variables organizadas lógicamente en la memoria que pueden ser de diferente o igual tipo y que se encuentran relacionadas entre si.
FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
Estructuras de datos se caracterizan por:
Tipo de elementos que contienen
Relación que existe entre sus elementos
Operaciones definidas sobre ella
FUNDAMENTOS DE PROGRAMACIÓN
ESTRUCTURAS DE DATOS EN C
Arreglos Unidimensionales
(vectores)
Arreglos Bidimensionales
(matrices)
Cadenas de Caracteres
(string)
Registros (struct)
33
12
10
MEMORIA
1005AA 1005AB 1005AC
10 , 12 , 33
FUNDAMENTOS DE PROGRAMACIÓN
12 10 33
ARREGLOS UNIDIMENSIONALES
(VECTORES)
Conjunto finito de elementos homogéneos
Se almacenan en posiciones consecutivas
de memoria
DECLARACIÓN DE UN ARREGLO UNIDIMENSIONAL EN C
<tipo> <nombre> [<tamaño>];
Cualquier tipo válido
Cualquier nombre válido Corchetes
obligatorios
Constante que especifica el
tamaño
EJEMPLO: int A [100];
FUNDAMENTOS DE PROGRAMACIÓN
10 33 120 130 343 112
Longitud física = 9
Longitud lógica = 6
A =
FUNDAMENTOS DE PROGRAMACIÓN
LONGITUD DE UN ARREGLO
Longitud física (N)
Cantidad MÁXIMA de elementos que puede almacenar el arreglo
Longitud lógica (M)
Cantidad de elementos REALMENTE almacenados en el arreglo
M <= N
INICIALIZACIÓN DE UN ARREGLO EN C • C permite inicializar un arreglo con valores en su declaración.
Sintaxis : tipo id_arreglo[tamaño] = {valor1, valor2, ……, valor n};
Ejemplo: int A[6]={10,120,33,130,112,343};
FUNDAMENTOS DE PROGRAMACIÓN
10 33 120 130 343 112
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
INDEXACIÓN DE ARREGLOS EN C • Mecanismo mediante el cual se puede acceder al elemento almacenado
en cada posición del arreglo.
• En C la indexación es en base 0.
10 33 120 130 343 112
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
FUNDAMENTOS DE PROGRAMACIÓN
A =
ACCESO A CADA ELEMENTO EN EL ARREGLO • Sintaxis : id_arreglo[indice] , donde índice es una variable ordinal
Ejemplo:
int A[6]; A[0]=45;
FUNDAMENTOS DE PROGRAMACIÓN
45
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
ACCESO A CADA ELEMENTO EN EL ARREGLO • El nombre o identificador del arreglo es un puntero a un conjunto de
datos de un cierto tipo.
Ejemplo int A[6]; //A = @A[0] Por lo tanto A[4]=20; //es equivalente a *(A+4)=20;
FUNDAMENTOS DE PROGRAMACIÓN
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO • Esta operación permite acceder a cada posición del arreglo para
procesar el elemento en ella almacenado una única vez.
FUNDAMENTOS DE PROGRAMACIÓN
10 33 120 130 343 112
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para
almacenar un valor en ella.
FUNDAMENTOS DE PROGRAMACIÓN
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para
almacenar un valor en ella.
FUNDAMENTOS DE PROGRAMACIÓN
1
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para
almacenar un valor en ella.
FUNDAMENTOS DE PROGRAMACIÓN
1 15
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para
almacenar un valor en ella.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para
almacenar un valor en ella.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para
almacenar un valor en ella.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para
almacenar un valor en ella.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 5 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
Programa que permite almacenar 10 valores en un vector de enteros.
#include <stdio.h> int main() { int Numeros [10], i; for (i=0;i<10;i++) { printf("Ingrese elemento %d : ",i+1); scanf("%d",&Numeros[i]); } return 0; }
FUNDAMENTOS DE PROGRAMACIÓN
RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para leer el
valor en ella contenido.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 5 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para leer el
valor en ella contenido.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 5 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para leer el
valor en ella contenido.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 5 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para leer el
valor en ella contenido.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 5 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para leer el
valor en ella contenido.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 5 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para leer el
valor en ella contenido.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 5 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)
• Esta operación permite acceder a cada posición del arreglo para leer el
valor en ella contenido.
FUNDAMENTOS DE PROGRAMACIÓN
1 34 15 52 5 12
0 1 2 3 4 5
Primera posición 0
Última posición N-1 (N=6)
posiciones
A =
• Programa que permite almacenar 10 valores en un vector de enteros y luego mostrarlo.
#include <stdio.h> int main() { int Numeros [10]; int i; //POBLAR for (i=0;i<10;i++) { printf("Ingrese elemento %d : ",i+1); scanf("%d",&Numeros[i]); } //MOSTRAR for (i=0;i<10;i++) printf(“%d “,Numeros[i]); return 0; }
FUNDAMENTOS DE PROGRAMACIÓN
1. Escriba un programa en C que permita: Inicializar un arreglo con 5 valores reales
Calcular el promedio de elementos en el arreglo
Determinar la posición del mayor elemento en el arreglo
Determinar el menor elemento en el arreglo
Sumar los elementos que ocupan posiciones pares en el arreglo
FUNDAMENTOS DE PROGRAMACIÓN
2. Un número se dice palíndromo si se lee igual de izquierda a derecha que de derecha a izquierda:
Ejemplo : Si el número es 81318 • Este es un número palíndromo!. Escriba un programa en lenguaje C que permita leer
un número e indicar si es o no es un número es palíndromo. Utilice Arreglos para en su solución.
3. Escriba un programa en C que permita leer un número e indicar si contiene o no dígitos repetidos. Utilice Arreglos para en su solución.
Ejemplo : Si el número es 81318 tiene dígitos repetidos
FUNDAMENTOS DE PROGRAMACIÓN
4. Un número se dice circular si es posible recorrerlo de la siguiente manera:
• Se toma el dígito de más a la izquierda y su valor indicará la cantidad de veces que se debe contar hacia la derecha, esta “cuenta“ se detiene en un dígito del número el cual también indicará la cantidad de veces que se debe contar hacia la derecha y así sucesivamente. Este proceso da origen un número circular si todos los dígitos del número se consideran tan solo una vez (como número originador de un conteo) y además se retorna al dígito de más a la izquierda que fue el que comenzó el conteo.
• Valide que no existan dígitos repetidos. Ejemplo : Si el número es 81362 (1) 8 1 3 6 2 (2) 8 1 3 6 2 (3) 8 1 3 6 2 (4) 8 1 3 6 2 (5) 8 1 3 6 2 (6) 8 1 3 6 2 • Este es un número circular!. Escriba un programa en lenguaje C que permita decidir si
un número es circular. Utilice Arreglos en su solución.
FUNDAMENTOS DE PROGRAMACIÓN
top related