Fundamentos de Programación

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Abstracción de Datos Arrays.
PROGRAMACIÓN ESTRUCTURADA EN PSEUDÓCODIGO
Estructuras en C++ Roger Morera Fallas.
Estructuras de control
Fundamentos de la Programación Estructurada
Programación I Teoría III
Tipos de Datos Básicos y Estructurados
Variables Prof. Gonzalo Pastor.
MANEJO DE ARRAYS EN C.
INFORMATICA I Arreglos 1 CLASE 17.
PROGRAMACION DE ESTRUCTURAS DE DATOS
ESTRUCTURAS DE SECUENCIA
Unidad 3 Punteros.
Ingeniero Anyelo Quintero
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Arreglos: Vectores en JAVA
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Tema 6: Clases Antonio J. Sierra.
Tema 3 Entrada y Salida.
Tema 9 Estructuras.
Semana 5 Subprogramas..
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Arreglos.
Índice. Revisando conceptos acerca de la memoria.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
TIPOS DE DATOS ABSTRACTOS
ESTRUCTURA DE DATOS EN JAVA
Clase 10: Estructuras de datos y arreglos.
METODOLOGÍA DE LA PROGRAMACIÓN
Tipo de Datos Básicos.
El lenguaje de programación C - Vectores y matrices -
Aplicación de estructuras de datos
75.40 Algoritmos y Programación I
Fundamentos de Programación
Vectores y Matrices.
FUNDAMENTOS DE PROGRAMACIÓN Unidad II. Elaborar programas en pseudolenguaje, de acuerdo a requerimientos. Unidad II.
Programación en C para electrónicos
Tipo de dato Arreglo en C Uso del for con arreglos
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Vectores y Matrices.
Introducción a la Programación “Conceptos Básicos” Semestre de Otoño 2006 Claudio Gutiérrez Soto.
Principios de programación LIA. Suei Chong Sol, MCE. Sentencias de Control Repetitivas.
Introducción a la Programación “Conceptos Básicos” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Matrices Prof. Flor Narciso Departamento de Computación
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
PROBABILIDAD Y ESTADÍSTICA
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
INTRODUCCION A LA PROGRAMACION
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
Arreglos unidimensionales
Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular.
Programación de computadoras Hugo Vega 2013 CCANTO ASTO, LUZ SANCHO RIVAS, GERALDINE QUIJANO ROMERO ALESSANDRA.
Ingeniería en Software Facultad de Ingeniería 2014
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Arreglos Ejemplo paso a paso. Planteamiento Como estudiante de ingeniería, quieres usar tus habilidades de programador para llevar un registro de tus.
ARREGLOS O ARRAYS.
MEMORIA DINÁMICA.
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
OBJETIVOS DEFINIR LA ESTRUCTURA DE ARREGLOS. DECLARAR ARREGLOS EN C.
Ing. Haydeli del Rosario Roa Lopez
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
Transcripción de la presentación:

Fundamentos de Programación Arreglos

Estructura de Datos Como una sola entidad… Como un solo tipo de dato… Se puede considerar un conjunto de datos, Como una sola entidad… Como un solo tipo de dato… De esta forma, se reduce la complejidad de un problema. Un programa esta formado por: Estructuras de control y llamadas a funciones (el algoritmo de nuestro programa). Datos, con sus respectivos tipos, ya sean estos atómicos o complejos, juntos forman una jerarquía (la estructura de datos del programa). PROGRAMA = ALGORITMO + ESTRUCTURA DE DATOS

Jamás olvidar que un arreglo tiene un tipo ¿Qué es un Arreglo? Basándonos en los tipos de datos atómicos, podemos crear otros más complejos. Un arreglo es una colección, o grupo de datos, donde: Cada dato tiene su posición (primero, segundo, tercero…) Y todos los datos del grupo son del mismo tipo, es decir, o todos son enteros, o todos son reales, etc. La mejor forma de visualizar un arreglo es: Como un grupo de cajas, una detrás de otra NO EXISTEN ARREGLOS “MEZCLADOS” Jamás olvidar que un arreglo tiene un tipo ... Donde cada caja representa un dato del arreglo o un elemento. Podemos concluir que un arreglo tiene: Tamaño: cuantas cajas va a tener, el número de datos. Tipo: cuál es el tipo de todos los datos del arreglo. Nombre: el único nombre bajo el cual vamos a dirigirnos al mismo.

Declaración de Arreglos Al declarar una variable cualquiera siempre indicamos: tipo y nombre. Por ejemplo: int a; Para declarar un arreglo, se debe indicar Tipo Nombre y Tamaño Un arreglo de 10 elementos enteros, se declara: int ArregloEnteros[10]; Y lo podemos visualizar: Jamás olvidar, el tamaño de un arreglo es una constante 1 2 3 4 5 6 7 8 9 ArregloEnteros Cada elemento del grupo va a estar identificado por un valor numérico, llamado índice. En C el primer elemento de un arreglo tiene el índice 0. Siempre, para indicar el tamaño de un arreglo, se utilizara una constante, jamás una variable.

Manejo de Arreglos Tenemos ahora 10 enteros bajo un mismo nombre ¿Como accedemos a uno de esos datos? Usamos el nombre del arreglo y el índice que identifica al elemento: nombre_arreglo[indice] Si se desea asignar el valor de 2 al primer elemento del arreglo: arregloEntero[0] = 2; arregloEntero[1] = 9; arregloEntero[4] = 1: 1 2 3 4 5 6 7 8 9 ArregloEnteros Cada elemento es en efecto una variable del tipo declarado para el arreglo Es muy importante recordar que: El índice de un elemento, no es el valor (contenido) de dicho elemento. El índice puede ser cualquier expresión que retorne un valor entero. Para asignar a todos los elementos del arreglo, un mismo valor, lo mas práctico es usar un lazo for: for(i = 0; i < 10; i++) { arregloEntero[ i ] = 0; }

Leer e Imprimir un Arreglo Acabamos de ver un ejemplo para acceder a todos los elementos de una arreglo de una forma práctica. Si tenemos 10 elementos en un arreglo, y queremos pedir que los ingresen por teclado, debemos repetir el ingreso 10 veces: for(i = 0; i < 10; i++) { scanf(“%d”,&a); arregloEnteros[i] = a; } Así mismo, para imprimir todos los elementos de un arreglo, deberíamos repetir el proceso de imprimir, pero diez veces: for(i = 0; i < 10; i++) { printf(“Elemento %d:%d\n”, i, ArregloEnteros[i]); }

Ejercicio Programa que permite el ingreso de las notas de un curso de 20 alumnos. Una vez ingresados, debe mostrarse el promedio de las mismas. #include <stdio.h> #define MAX 20 void main(){ double notas[MAX]; double total, promedio; int i,a; total = 0; for(i = 0; i < MAX; i++){ printf("Ingrese Alumno %d:",i+1); scanf(“%d”,&a); notas[i]=a; } for(i = 0; i < MAX; i++) { total = total + notas[i]; promedio = (double)total / (double)MAX; printf("Promedio: %.2f",promedio); getch(); El usuario del programa no tiene porque saber que los índices van desde 0, se le pueden mostrar desde 1

Arreglos Para Tabular En lugar de almacenar valores en los elementos de un arreglo, algunas aplicaciones usan los arreglos para almacenar “índices”, que permiten llevar estadísticas, de un dato en particular. Por ejemplo: Se pidió a 40 estudiantes que calificaran la calidad de la comida de la cafetería en una escala del 1 al 10 (1 es terrible y 10 excelente). Escriba un programa en C que pida las 40 respuestas y luego muestre un resumen del resultado.

Inicialización de un Arreglo Un arreglo en C también se puede inicializar de las siguientes formas: Crear un arreglo de 3 elementos Inicializando cada elemento: int A[]={11,2,8}; ó int A[3]={11,2,8}; Inicializando todos los elementos con el mismo valor: int A[3]={0};

Arreglos Multidimensionales En C, los elementos de un arreglo pueden ser de cualquier tipo Esto quiere decir que los elementos de un arreglo pueden ser a su vez, arreglos. Arreglos de arreglos, se conocen como arreglos multidimensionales. El mas común de estos, es el de dos dimensiones, conocido también como Matriz o Tabla. Un ejemplo de una matriz, es un tablero de tres en raya. Este es un arreglo de 3 elementos, donde cada elemento es un arreglo, de tres elementos también. int A[3][3]; A[0] A[1] A[2] A[0][0] A[1][0] A[2][0] A[0]1] A[1][1] A[2][1] A[0][2] A[1][2] A[2][2]

Inicialización Un arreglo multidimensional también se puede inicializar static double MatrizIdentidad[3][3] = { {1,0,0}, {0,1,0} {0,0,1} }; Así podemos inicializar todos los elementos de una matriz desde el inicio, sin necesidad de usar lazos anidados.

Búsqueda en un Arreglo Se refiere al proceso para encontrar un elemento particular en un arreglo. Una de las estrategias mas comunes y simples para buscar un dato en un arreglo es: Revisar uno por uno los elementos del mismo, este método se conoce como búsqueda lineal. Escribir una función que determine si un valor dado se encuentra en un arreglo de elementos enteros, y si es así, indique su posición-

Solución Dato a buscar: 58 19 12 1 2 58 100 3 4 45 25 A[0] A[1] A[2] int EncontrarElemento(int valor, int arreglo[ ] ,int n) { for(i=0; i <10; i++) if (valor = = arreglo [ i ] ) return(i); } return(-1);

Operador sizeof Depende de cada máquina Un char ocupa un byte. ¿Cuantos bytes ocupa un entero? ¿un real? ¿una cadena? Depende de cada máquina Podemos averiguarlo usando el operador sizeof. sizeof(int) devuelve el número de bytes que necesita un dato de tipo int. CUIDADO: sizeof es un operador, no una función.

¿Cómo calcular el tamaño de un arreglo? 1000 1008 1016 1024 1032 Arreglo[0] Arreglo[1] Arreglo[2] Arreglo[3] Arreglo[4] Si inicializamos una arreglo sin indicar su ancho… ¿Cómo podemos saber el ancho, para futuros usos en el programa? sizeof(Arreglo) devuelve 32 sizeof(Arreglo[0]) devuelve el desfase: 8 sizeof(Arreglo)/sizeof(Arreglo[0]) devuelve 4, justo el número de elementos del arreglo.