SlideShare uma empresa Scribd logo
1 de 75
METODOLOGÍA DE
PROGRAMACIÓN, DESARROLLO
DE PROGRAMAS EN JAVA
Lic. Diego Fabian Gómez
OBJETIVOS
• Resolver problemas mediante el uso de una
computadora
• Entender las etapas en la resolución de un
problema.
• Conocer el concepto de algoritmo
• Examinar las técnicas de resolución de
problemas.
• Procesar un programa en JAVA.
BREVE HISTORIA DE JAVA
• Java surgió en 1991 dentro de la empresa Sun Microsystems
como un lenguaje de programación sencillo y universal
destinado a electrodomésticos.
• La reducida potencia de cálculo y memoria de los
electrodomésticos llevó a desarrollar un lenguaje sencillo que
pudiera generar código de tamaño muy reducido.
• Java desarrolla un código “neutro” que no depende del tipo
de electrodoméstico, el cual se ejecuta sobre una “máquina
virtual”, denominada Java Virtual Machine (JVM).
• La JVM interpreta el código neutro (independiente del
procesador) convirtiéndolo a código propio de la máquina
concreta.
• En realidad, ninguna empresa de electrodomésticos se
interesó por el nuevo lenguaje.
BREVE HISTORIA DE JAVA
• A finales de 1995 Java se reconvirtió en un lenguaje de
programación utilizable en Internet (en la World Wide Web). Para
ello se incorporó una JVM en Netscape Navigator 2.0,
produciendo una verdadera revolución en el mundo de los
ordenadores.
• En Septiembre de 1996 se utilizó Java en la matrícula de los
alumnos de la ESIISS.
• La promesa de Java consiste en llegar a ser el “nexo universal”
que conecte a los usuarios con la información, esté donde esté
esta información: “Write once, run everywhere”
• Java 1.1 apareció a principios de 1997 mejorando mucho la
primera versión del lenguaje
• Java 1.2 (Java 2) apareció a finales de 1998 incorporando nuevos
elementos. Según sus creadores en Sun Microsystems, ésta es
la primera versión realmente profesional.
RESOLUCIÓN DE PROBLEMAS
• El proceso para resolver problemas con una computadora
implica la escritura de un programa y su posterior ejecución:
• ANÁLISIS: El problema o la situación se examina considerando la
especificación de los requerimientos indicados por el cliente,
respecto al programa.
DISEÑO DEL ALGORITMO: Una vez que se analice el problema
se diseña una solución que se dirija a un algoritmo o método que
lo resuelva correctamente.
CODIFICACIÓN: La solución se escribe en la sintaxis de algún
lenguaje de alto nivel, obteniendo un programa fuente que a
continuación será compilado.
COMPILACION Y EJECUCION: Que el programa se agrupa, se
compila, se obtiene el programa objeto y si no existen errores se
ejecuta.
RESOLUCIÓN DE PROBLEMAS
• VERIFICACIÓN Y EJECUCIÓN: El programa se comprueba
rigurosamente y se eliminan todos los errores que aparezca a
dichos erratas se le denomina bugs
• MANTENIMIENTO: El programa se actualiza y se modifica cada
ves que sea necesario para que se cumplan todas las
necesidades de los usuarios; en esta fase se utilizan y mejoran los
algoritmos realizando los cambios si los requisitos así lo exigen.
DOCUMENTACION: Escritura de las diferentes fases del ciclo de
vida del software, escribiendo en limpio el análisis, el diseño y la
codificación. Se elaboran los manuales de usuario y el técnico,
también las normas para el mantenimiento.
ANÁLISIS DEL PROBLEMA
• Esta fase requiere definir el problema y especificar
claramente las tareas que el programa debe realizar y el
resultado o solución que se espera, esta etapa se divide en
varias fases
– Comprender el problema lo más fielmente posible
– Entender y describir los requerimientos o requisitos del programa. Es
necesario aclarar si el programa requiere interacción con el usuario para
leer datos de entrada y especificar los formatos de salida o resultados.
– especificar los datos supone describirlos y Sí representarlos en su
formato correspondiente.
– el programa produce una salida se debe especificar Cómo generar y dar
formato a los resultados.
DISEÑO DEL ALGORITMO
• Después de analizar el problema y la descripción
de las especificaciones necesarias, El Paso
siguiente es diseñar un algoritmo que lo resuelva
para esto la computadora necesita que se le
indique las tareas acciones a ejecutar.
• Un algoritmo es un método para resolver un
problema mediante una serie de pasos precisos,
definido y finitos.
• La especificación del orden en el que se realizan las
instrucciones o acciones del programa, se
denomina control de programas; este control se
realiza con instrucciones secuenciales o repetitivas
DISEÑO DEL ALGORITMO
• Cualquier software bien diseñado consta de un programa principal siendo
este el módulo de nivel más alto que llama a los subprogramas que son de
nivel más bajo.
– El proceso implica ejecutar los siguientes pasos hasta que el programa
concluye:
• Programa un módulo
• Comprobarlo
• Depurarlo
• Combinar módulos
DISEÑO DEL ALGORITMO
• Hacer un pseudocodigo que imprima los números del 1 al 100.
• PROGRAMA contador1
• ENTORNO:
• c <- 0
• ALGORITMO:
• Borrar_pantalla( )
• MIENTRAS c < 101 HACER
• ESCRIBIR c
• c <- c + 1
• FINMIENTRAS
• FINPROGRAMA
CODIFICACIÓN
• La codificación es la escritura en leguaje de programación de
la representación del algoritmo desarrollada en la fase de
diseño y análisis.
• Es entonces pasar a un lenguaje de programación, en el caso
de JAVA se guarda en un archivo de texto con la extensión de
JAVA. Luego se de debe compilar el código fuente.
COMPILACIÓN – INTERPRETACION
DE UN PROGRAMA JAVA
• El programa fuente debe traducirse a lenguaje máquina; este
proceso lo debe realizar con el compilador y el sistema operativo,
que prácticamente se encarga de ello. La ejecución del código
fuente en el compilador verifica la exactitud y corrección de la
sintaxis del programa fuente.
VERIFICACIÓN Y DEPURACIÓN DE
UN PROGRAMA JAVA
• La verificación o depuración de un programa es el proceso de su
ejecución con una amplia variedad de datos de entrada llamados
test o prueba que determinarán si el programa tiene errores
(bugs).
• Errores que se pueden hallar en la verificación son:
– Errores de compilación
– Errores de ejecución
– Errores lógicos
DOCUMENTACIÓN Y
MANTENIMIENTO
• La documentación de un programa consiste en describir los pasos
a seguir en el proceso de resolución; su importancia destaca por
su decisiva influencia en el producto final.
• La documentación puede ser interna o externa.
CREACIÓN DE UN PROGRAMA EN
JAVA
CREACIÓN DE UN PROGRAMA EN JAVA
• Java tiene dos tipos de programas:
aplicaciones y applets.
• Una applet es un programa que se ejecuta
como parte de una página web.
• Una aplicación en JAVA es como
cualquier otro programa que se ejecuta en
una computadora determinada.
CREACIÓN DE UN PROGRAMA EN JAVA
• Una aplicación en JAVA es un conjunto de
clases, las clases contienen datos y
métodos para su manipulación.
EJECUCIÓN DE UN PROGRAMA EN JAVA
• Edición del programa.
• Compilación del programa.
• Carga del programa en memoria.
• Verificación de bytecodes y ejecución del
programa.
Código fuente
(editor)
Compil
ador
Generación
Bytecode
Cargador
Interprete
Ejecución
Biblioteca de
clases
ACTIVIDAD
• Hacer la resolución del siguiente problema usando el
pseudocódigo (MÍNIMO 20) y mostrar los pasos en JAVA:
– Ir a cine a ver la película “DeadPool”
• Hacer el pseudocódigo y su respectivo programa en JAVA
– Hacer un programa que imprima la suma de los 100 primeros
números.
– Hacer un pseudocódigo que imprima los números impares hasta el
100 y que imprima cuantos impares hay.
– Hacer un pseudocódigo que imprima todos los números naturales que
hay desde la unidad hasta un numero que introducimos por teclado.
• Realice un ejemplo de un Array.
• Realice un ejemplo de una Matriz.
• De un ejemplo de una Pila.
3° CLASE
ELEMENTOS DE JAVA
ELEMENTOS BÁSICOS DE JAVA
• Objetivos:
– Formar identificadores básicos del lenguaje
– Escribir expresiones en Java
– Escribir la sintaxis de expresiones aritméticas.
Estructura General
• Cada programa se compone de una o más clases y
obligatoriamente main () debe ser uno de los métodos de la clase
principal.
• Debe tener una serie de declaraciones import que permitan incluir
archivos que consten de clases y datos predefinidos.
• Un programa debe incluir:
– Declaraciones para importar clases de los paquetes
– Declaraciones de clases.
– El método main()
– Métodos definidos por el usuario dentro de las clases.
– Comentarios del programa.
Estructura General
Declaración import
• En Java, las clases se agrupan en paquetes (packages) que definen utilidades o
grupos temáticos, y que se encuentran en el disco con su mismo nombre.
• Para incorporar y utilizar las clases de un paquete en un programa se utiliza la
declaración import.
• Ejemplo:
– Import java.awt.Graphics;
– Esta trae la clase Graphics del paquete awt.
• La sintaxis general de la declaración import es:
– Import nombrePaquete.nombreClase;
• Los paquetes pueden ser definidos por el programador para agrupar las clases
creadas.
– Ejemplo:
– Si ha definido la un paquete llamado Casa, con las clases Climatizador, Computador, Nevera, Tv, se
pueden hacer las siguientes declaraciones:
– import casa.Computador;
– import casa.Never
– O también:
– import casa.*;
Declaración clases
• El programa debe tener al menos una clase, la principal, que incluya el método
main () y si es necesario otros métodos y variables. generalmente indicando el
acceso; seguida por su indicador, la palabra reservada class, su nombre y sus
miembros: variables y métodos;
• por ejemplo:
• class Potencia
• {
• int n, p;
• public static void main(String [] ar)
• {
• int r, e;
• int n, p;
• n = 7;
• p = e = 5;
• r = 1;
• for ( ; p > 0; p--)
• r = r*n;
• System.out.println("Potencia de " + n + "^" + e + " = " + r);
• }
• }
Declaración clases
• El archivo donde se guarde el programa anterior debe tener como nombre
potencia.java; el nombre del archivo fuente siempre será el mismo que el de la
clase principal, es decir, la que contiene main(), y la extensión java.
• class Sumatorio
• {
• int n, p;
• public int sumar()
• {
• int k, e;
• n = 71;
• p = e = 5;
• return n+k+e+p;
• }
• }
• Las declaraciones dentro de una clase indican al compilador que los métodos definidos
• por el usuario o variables son comunes a todos los miembros de su clase. En la clase
• Sumatorio las variables n, p se pueden utilizar en cualquier método de la clase; sin
• embargo, k y e, situados en el método sumar(), sólo se pueden utilizar dentro de ese
• método.
Método main()
• Cada programa Java tiene un método main() como punto inicial de entrada al
programa cuya estructura es:
• public static void main(String [] ar)
• {
• ... bloque de sentencias
• }
• Un programa puede tener sólo un método main(); hacer dos métodos
• main() produce un error, aunque estén en clases diferentes.
• El argumento de main() es una colección (array) de cadenas que
• permiten introducir datos sucesivos de caracteres en la línea de ejecución
• del programa; por ejemplo, suponga que tiene el programa Nombres,
entonces la
• ejecución puede ser:
• java Nombres Luis Gerardo Fernando
Método main()
• En esta ejecución Luis, Gerardo y Fernando
están asignados a ar[0], ar[1] y ar[2] y el
programa se puede referir a esas cadenas.
• Java exige que este método se declare como
public static void;
• Sólo se puede llamar a otro método static
y hacer referencias a variables de la
misma clase.
Método main()
• En esta ejecución Luis, Gerardo y Fernando
están asignados a ar[0], ar[1] y ar[2] y el
programa se puede referir a esas cadenas.
• Java exige que este método se declare como
public static void;
• Sólo se puede llamar a otro método static
y hacer referencias a variables de la
misma clase.
Método main()
• El programa siguiente se compone de tres métodos que se
• invocan sucesivamente: obtenerdatos(), alfabetizar() y
verpalabras.
• // declaraciones import
• class Programa
• {
• public static void main(String [] ar)
• {
• obtenerdatos();
• alfabetizar();
• verpalabras();
• }
• ...
• }
Método main()
• El programa siguiente se compone de tres métodos que se
• invocan sucesivamente: obtenerdatos(), alfabetizar() y
verpalabras.
• // declaraciones import
• class Programa
• {
• public static void main(String [] ar)
• {
• obtenerdatos();
• alfabetizar();
• verpalabras();
• }
• ...
• }
Métodos definidos por el usuario
• Todos los programas se construyen a partir de una o
más clases compuestas por una serie de variables y
métodos que se integran para crear una aplicación;
todos los métodos contienen una o más sentencias de
Java, generalmente creadas para realizar una única
tarea, como imprimir en pantalla, escribir un archivo o
cambiar el color de la pantalla; es posible declarar un
número casi ilimitado de métodos en una clase de
Java.
Métodos definidos por el usuario
• Si la llamada es desde un objeto de la clase, se invoca
al método precedido del objeto y el selector punto (.).
ejemplo, se crea un objeto de la clase Sumatorio y se
invoca al método sumar():
• Sumatorio sr = new Sumatorio();
• sr.sumar();
Métodos definidos por el usuario
• Todos los métodos tienen nombre y una lista de valores atribuidos,
llamados parámetros o argumentos, se puede asignar cualquier
nombre a un método pero normalmente se procura que dicho nombre
describa su propósito.
• Los métodos en Java se especifican en la clase a la que pertenecen;
su definición es la estructura del mismo.
• tipo_retorno nombreMetodo (lista_de_parámetros) principio del
método
• {
• sentencias cuerpo del método
• return expresión valor que devuelve
• } y fin del método
• tipo_retorno Es el tipo de valor, o void devuelto por la función
• nombre_función Nombre del método
• lista_de_parámetros Lista de parámetros, o void, pasados al método;
se conoce también como argumentos o argumentos formales.
Métodos definidos por el usuario
• A veces, para referirse a un método, se menciona el prototipo que
tiene; esto es simplemente su cabecera:
• tipo_retorno nombreMetodo (lista_de_parámetros);
Ejemplo de prototipo:
• void contarArriba(int valor);
• La palabra reservada void significa
que el método no devuelve un valor;
el nombre del método es
contarArriba y tiene un argumento de
tipo entero, int valor.
Métodos definidos por el usuario
• Java también proporciona clases con métodos predefinidos
denominados clases de biblioteca, organizados en paquetes;
estos métodos están listos para ser llamados en todo momento,
aunque requieren la incorporación del paquete donde se
encuentran, o bien sólo la clase del paquete. La invocación de uno
de ellos desde la clase a la que pertenecen o desde el objeto; por
ejemplo, para llamar al método que calcula la raíz cuadrada y
mostrar el resultado debe escribir:
• double r = 17.8;
• System.out.println(Math.sqrt(r));
Ejemplo
• Éste es un programa formado por una clase que
contiene dos métodos además de main(): calcula() y
mostrar(); el primero determina el valor de una función
para un valor dado de x; el segundo muestra el
resultado; main() llama a cada uno de los métodos
auxiliares, especificados como static por las
restricciones de main(); la función se evalúa utilizando
el seno de la clase Math; ésta se encuentra en el
paquete java.lang, el cual se importa automáticamente.
Ejemplo
• class Evaluar
• {
• public static void main(String [] ar)
• {
• double f;
• f = calcula();
• mostrar(f);
• }
• static double calcula()
• {
• double x = 3.14159/4.0;
• return x*Math.sin(x) + 0.5;
• }
• static void mostrar(double r)
• {
• System.out.println("Valor de la función: " + r);
• }
• // termina la declaración de la clase
• }
Comentarios
• Un comentario es información que se añade en las líneas del programa para proporcionar datos
que son ignorados por el compilador y no implican la realización de alguna tarea concreta; su
uso es totalmente opcional, aunque recomendable.
• /*
• Programa : Saludo.java
• Programador : Nombre
• Descripción : Primer programa Java
• Fecha creación : 23-02-2016
• Revisión : Ninguna
• */
“Hola Mundo” en Java
“Hola Mundo” orient. a objetos
• El ejemplo del “Hola Mundo” es un mal ejemplo
de la orientación a objetos porque:
• Se crea una clase pero no se crea un objeto de la
clase
• El intérprete llama al método main de la clase
pero no manda ningún mensaje a una instancia
de una clase
• Un ejemplo orientado a objetos debería incluir:
• – La creación de objetos además de la definición
de clases
• – El llamamiento a métodos de instancia (no
estáticos) sobre el objeto creado
Actividad
• Consultar los siguientes términos y dar un ejemplo de cada uno:
– TOKEN
• IDENTIFICADORES
• PALABRAS RESERVADAS
• LITERALES
• OPERADORES
• OTROS SEPARADORES
• Haga el listado de los signos de puntuación usados en JAVA y para que
sirven cada uno.
• Desarrollar los siguientes ejercicios usando JAVA.
– Introducir tantas frases como queramos y contarlas.
– Solo permita introducir S o N.
– Introducir un numero por teclado. Que nos diga si es positivo o negativo.
– Introducir un numero por teclado. Que nos diga si es par o impar.
ESTRUCTURA DE DATOS
• En la práctica, la mayor parte de la información útil no aparece aislada
en forma de datos simples, sino que lo hace de forma organizada y
estructurada.
• Los diccionarios, guías, enciclopedias, etc; son colección de datos que
serían inútiles si no estuvieran organizadas de acuerdo con unas
determinadas reglas. Además, tener estructurada la información supone
ventajas adicionales, al facilitar el acceso y el manejo de los datos.
• Por ello parece razonable desarrollar la idea de la agrupación de datos,
que tenga un cierto tipo de estructura y organización interna.
• El corazón de un sistema son sus datos, que se introducen a través de
una de entrada del sistema y se almacena posteriormente en los
archivos.
• Los datos individualmente no tienen ningún significado, pero cuando
lógicamente existe relación entre ellos, se establece información
significativa.
ESTRUCTURA DE DATOS
PROGRAMACIÓN = ESTRUCTURA DE DATOS + ALGORITMOS
ESTRUCTURA DE DATOS
• Un tipo de Dato simple, no esta compuesto de otras estructuras, que
no sean los bits, y que por tanto su representación sobre el
computador es directa, sin embargo existe unas operaciones de
cada tipo, que en cierta manera los caracterizan.
• Una estructura de datos es una colección de datos que se
caracterizan por su organización y las operaciones que se definen en
ellos.
• Por tanto una estructura de datos vendrá caracterizada tanto por
unas ciertas relaciones entre los datos que la constituyen.
• Ejemplo: Orden de los componentes de un vector de números
Reales.
ESTRUCTURA DE DATOS
• Se le llama dato de tipo estructurado a una entidad,
con un solo identificador constituido por datos de
otro tipo, de acuerdo con las reglas que definen
cada una de las estructuras de datos.
• Ejemplo:
• Una cadena esta formada por una sucesión de caracteres, una matriz por
datos simples organizados en forma de filas y columnas y un archivo esta
constituido por registros, estos por campos que componen a su vez de
datos simples.
• Un dato puede ser tanto un entero como una matriz.
TIPOS DE DATOS
ESTRUCTURADOS
• Según su posición:
• Estructuras Contiguas o físicas:
– Son aquellas que al representarse en el hardware del computador lo hacen situando sus
datos en áreas adyacentes de memoria.
– Los datos se relacionan por sus vecindad o por su posición relativa dentro de la estructura.
• Estructuras Enlazadas:
– Son estructuras cuyos datos no tienen por qué situarse de forma contigua en la memoria,
en las estructuras enlazadas los datos se relacionan unos con otros mediante punteros.
• Según su variabilidad de tamaño:
• Estructuras estáticas:
– Son aquellas en las que el tamaño ocupado en memoria se definen con anterioridad a la
ejecución del programa que los usa. De forma que su dimensión no puede modificarse
durante la misma.
• Ejemplo: Una matriz
TIPOS DE DATOS
ESTRUCTURADOS
• Estructuras dinámicas:
– Estas pueden crecer o decrecer en tamaño durante la ejecución,
dependiendo de las necesidades de la aplicación, sin que el programador
pueda o deba determinarlo previamente.
– No tienen limitaciones en su tamaño, salvo la restricción de la memoria
disponible en el computador.
ESTRUCTURAS DE DATOS
CONTIGUAS
• Cadenas:
– La cadena es la estructura más simple y se define como una se cuenca
de caracteres que se interpretan como un dato único. Su longitud puede
ser fija o variable.
– En este tipo de datos se puede almacenar una palabra, frases, etc.
– La longitud de una cadena se puede determinar bien indicando al
principio de la misma el número de caracteres que contiene, bien
situando un carácter especial denominado fin-de-cadena.
• Ejemplo:
– Representar las siguientes cadenas:
• Capital 94
• Jaca 99
ESTRUCTURAS DE DATOS
CONTIGUAS
ESTRUCTURAS DE DATOS
CONTIGUAS
• En el segundo caso el carácter elegido como fin-de-cadena ha
sido el #. La cadena que no contiene ningún carácter se
denomina cadena vacía de longitud es 0, no se debe
confundir por una cadena formada sólo por blancos (o
espacios) cuya longitud es igual al número de blancos que
contiene.
• Una variable de tipo cadena de tamaño 10 puede guardar
cadenas de 10 caracteres, pero también de menos si se indica
en dónde terminan los caracteres de la cadena.
• Ejemplo:
– Jaca 99
ESTRUCTURAS DE DATOS
CONTIGUAS
ESTRUCTURAS DE DATOS
CONTIGUAS
• Una variable de tipo cadena de tamaño 10 puede guardar
cadenas de 10 caracteres, pero también de menos si se indica
en dónde terminan los caracteres de la cadena.
• Ejemplo:
– Jaca 99
ESTRUCTURAS DE DATOS
CONTIGUAS
• Operaciones que se pueden realizar sobre los datos tipo
cadena:
• Asignación:
• Guardar una cadena en una variable tipo cadena. Como en
toda asignación a una variable, la cadena que se guarda
puede ser una constante una variable tipo cadena o una
expresión que produzca un dato tipo cadena.
• Ejemplo:
• Nombre -- “Pepe”
• Nombre -- mi-nombre-de-pila
ESTRUCTURAS DE DATOS
CONTIGUAS
• Operaciones que se pueden realizar sobre los datos tipo
cadena:
• Concatenación:
• Formar una cadena a partir de dos ya existentes,
yuxtaponiendo los caracteres de ambas. Si se denota por // al
operador “concatenación”, el resultado de:
• Ejemplo:
• “ab” // “cd” es “abcd”
ESTRUCTURAS DE DATOS
CONTIGUAS
• Operaciones que se pueden realizar sobre los datos tipo
cadena:
• Extracción de subcadena:
• Permite formar una cadena (subcadena) a partir de otra ya
existente. La subcadena se forma tomando un tramo
consecutivo de la cadena inicial
• Ejemplo:
• Si NOMBRE es una variable de tipo cadena que contiene
“JUAN PEDRO ORTEGA” y denotamos por (n:m) la extracción
de m caracteres tomados a partir del lugar n, entonces
NOMBRE (6:5) es una subcadena de contiene “PEDRO”.
ESTRUCTURAS DE DATOS
CONTIGUAS
Un caso particular de extracción que se utiliza a menudo es
extraer un único carácter, Por ello se suele proporcionar un
método directo: el nombre seguido por el lugar que ocupa
dentro de la cadena.
Ejemplo:
NOMBRE(6) = “P” = NOMBRE(6:1)
ESTRUCTURAS DE DATOS
CONTIGUAS
• Operaciones que se pueden realizar sobre los datos tipo
cadena:
• Obtención de longitud:
• La longitud de una cadena es un dato de tipo entero, cuyo
valor es el número de caracteres que contiene ésta. En el
primero de los dos métodos anteriores de representación de
cadenas, la longitud se obtiene consultando el número de la
primera casilla; en el segundo método la longitud es el
número de orden que ocupa el carácter de fin-de-cadena,
menos uno.
ESTRUCTURAS DE DATOS
CONTIGUAS
• Operaciones que se pueden realizar sobre los datos tipo
cadena:
• Comparación de cadenas:
• Consiste en comparar las cadenas carácter a carácter
comenzando por el primero de la izquierda, igual que consulta
un diccionario.
• El orden de comparación viene dado por el código de E/S del
computador que normalmente es el código ASCII.
• Ejemplo
• “Jose” < “Julio”
ARRAYS
• Es un conjunto de datos del mismo tipo almacenados en la
memoria en posiciones adyacentes. Sus componentes
individuales se llaman elementos y se distinguen entre ellos
por el nombre del array seguido de uno o varios índices o
subíndices.
• Se pueden procesar ya sea individual como el conjunto
minimos del array.
• Se debe declarar el número de elementos cuando este se
crea, definiendo el número de dimensiones o número de
índices.
• Especificar el límite máximo y el mínimo del array,
denominando el rango.
TIPOS DE ARRAYS
• UNIDIMENSIONAL (VECTORES)
• BIDIMENSIONAL (MATRICES)
• MULTIDIMENSIONALES
• También conocido como arrays de dimensión 1, 2 ó n.
• Ejemplo:
• Número de dimensiones 2, rango (3;5) y el número total de
elementos es 15.
TIPOS DE ARRAYS
• VECTORES
• Por simplicidad y mayor frecuencia de uso los vectores es el
tipo de array más usado.
• Las notaciones algorítmicas que se usan son:
• Nombre_vector = vector(inf .. sup) de tipo
• Nombre_vector nombre valido del vector
• Inf .. Sup límites inferior y superior
• Tipo tipo de los elementos del vector.
TIPOS DE ARRAYS
• VECTORES
• Ejemplo:
• La declaración de un vector supone una reserva de espacio.
• NUMEROS = vector (1..10) de real
• FORTRAN BASIC
• REAL X(10) DIM X(10) AS SINGLE
• PASCAL C
• X: array(1..10) of real float x(10)
TIPOS DE ARRAYS
• Es importante señalar que podemos implementar arrays
cuyos elementos sean a su vez cadenas o elementos de otro
tipo.
• Ejemplo:
• Tipo: palabra = cadena(16)
• COCHES = vector (1..9) de palabra
• Esto permite en un solo vector manipular hasta 9 cadenas
conteniendo como máximo 16 caracteres cada una.
OPERACIONES SOBRE ARRAYS
• Las operaciones sobre elementos del vector son:
• Asignación:
Tiene el mimo significado que la asignación de un valor a una variable no
dimensionada, ya que un vector con su índice representa la misma entidad
que una variable no dimensionada.
A(20)  5 asigna el valor 5 al elemento 20 del vector A
A(17)  B asigna el valor de la variable B al elemento 17 del vector A
OPERACIONES SOBRE ARRAYS
• Las operaciones sobre elementos del vector son:
• Acceso secuencial o recorrido del vector:
• Consiste en acceder a los elementos de un vector para
someterlos a un determinado proceso, como leer o escribir.
• A la operación de efectuar una acción general sobre todos los
elementos de un vector se le denomina recorrido y se utilizan
estructuras repetitivas.
OPERACIONES SOBRE ARRAYS
• Ejemplo 1:
• Escribir un algoritmo para recorrer secuencialmente un vector
H de 10 elementos (haciendo la lectura y escritura de cada
uno) primero con un bucle desde y luego con un bucle
mientras.
OPERACIONES SOBRE ARRAYS
OPERACIONES SOBRE ARRAYS
• Ejemplo 2:
• Supongamos que queremos procesar los primeros de un
vector PUNTOS, previamente declarado, realizando las
siguientes operaciones desde 1 hasta LIMITE (donde este
valor debe necesariamente ser menor que el límite superior
del rango):
• a) lectura del array
• b) cálculo de la suma de los valores del array
• c) cálculo de la media de los valores.
• Escribe el algoritmo correspondiente.
OPERACIONES SOBRE ARRAYS
Estructura de datos

Mais conteúdo relacionado

Mais procurados

Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Diagrama de actividad
Diagrama de actividadDiagrama de actividad
Diagrama de actividadJose Arellano
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Estructura modular
Estructura modularEstructura modular
Estructura modularjuan_180
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a EventosLaura
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwareTtomas Carvajal
 
Analizar mediante-ejemplos-de-la-vida-real-el-concepto-de-procesos
Analizar mediante-ejemplos-de-la-vida-real-el-concepto-de-procesosAnalizar mediante-ejemplos-de-la-vida-real-el-concepto-de-procesos
Analizar mediante-ejemplos-de-la-vida-real-el-concepto-de-procesosJose Armando Velazquez Mijangos
 
Estándares, Modelos y Normas Internacionales de Redes
Estándares, Modelos y Normas Internacionales de RedesEstándares, Modelos y Normas Internacionales de Redes
Estándares, Modelos y Normas Internacionales de RedesJose Adalberto Cardona Ortiz
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSjaimeizq
 
Arquitecturas de protocolos
Arquitecturas de protocolosArquitecturas de protocolos
Arquitecturas de protocolosmplr1590
 

Mais procurados (20)

Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Diagrama de actividad
Diagrama de actividadDiagrama de actividad
Diagrama de actividad
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Estructura modular
Estructura modularEstructura modular
Estructura modular
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a Eventos
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de software
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Diapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacionDiapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacion
 
Analizar mediante-ejemplos-de-la-vida-real-el-concepto-de-procesos
Analizar mediante-ejemplos-de-la-vida-real-el-concepto-de-procesosAnalizar mediante-ejemplos-de-la-vida-real-el-concepto-de-procesos
Analizar mediante-ejemplos-de-la-vida-real-el-concepto-de-procesos
 
Estándares, Modelos y Normas Internacionales de Redes
Estándares, Modelos y Normas Internacionales de RedesEstándares, Modelos y Normas Internacionales de Redes
Estándares, Modelos y Normas Internacionales de Redes
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOS
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Arquitecturas de protocolos
Arquitecturas de protocolosArquitecturas de protocolos
Arquitecturas de protocolos
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 

Destaque

Clase I Estructura de Datos
Clase I Estructura de Datos Clase I Estructura de Datos
Clase I Estructura de Datos guestc906c2
 
Tema 1-1: datos y tipos de datos
Tema 1-1: datos y tipos de datosTema 1-1: datos y tipos de datos
Tema 1-1: datos y tipos de datosRufi Flores
 
Estructurade datos
Estructurade datosEstructurade datos
Estructurade datosDavidElizama
 
Nucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicasNucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicascarsanta
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
Entendiendo estructura de datos
Entendiendo estructura de datosEntendiendo estructura de datos
Entendiendo estructura de datosyacomas
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasIARINAIA
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 
Sesion 02 algoritmos y estructura de datos
Sesion 02  algoritmos y estructura de datosSesion 02  algoritmos y estructura de datos
Sesion 02 algoritmos y estructura de datosimagincor
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSEvans Balcazar
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datosmariajuly
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instruccionesrcarrerah
 
Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Videoconferencias UTPL
 

Destaque (20)

Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Clase I Estructura de Datos
Clase I Estructura de Datos Clase I Estructura de Datos
Clase I Estructura de Datos
 
Tema 1-1: datos y tipos de datos
Tema 1-1: datos y tipos de datosTema 1-1: datos y tipos de datos
Tema 1-1: datos y tipos de datos
 
Estructuras de Datos C++
Estructuras de Datos C++Estructuras de Datos C++
Estructuras de Datos C++
 
Estructurade datos
Estructurade datosEstructurade datos
Estructurade datos
 
Nucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicasNucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicas
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
Estructura de datos pdf
Estructura de datos pdfEstructura de datos pdf
Estructura de datos pdf
 
Entendiendo estructura de datos
Entendiendo estructura de datosEntendiendo estructura de datos
Entendiendo estructura de datos
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colas
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
Sesion 02 algoritmos y estructura de datos
Sesion 02  algoritmos y estructura de datosSesion 02  algoritmos y estructura de datos
Sesion 02 algoritmos y estructura de datos
 
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOSPRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
PRINCIPIOS DEL DISEÑO DE ESTRUCTURAS DE DATOS
 
Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datos
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
 
Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)
 
Jerarquiadeoperaciones
JerarquiadeoperacionesJerarquiadeoperaciones
Jerarquiadeoperaciones
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datos
 

Semelhante a Estructura de datos (20)

Unidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre AlgoritmosUnidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre Algoritmos
 
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTMLPASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
 
Informatica
InformaticaInformatica
Informatica
 
programación :)
programación :)programación :)
programación :)
 
Presentación literal 5
Presentación literal 5Presentación literal 5
Presentación literal 5
 
Presentación literal 5
Presentación literal 5Presentación literal 5
Presentación literal 5
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Algoritmos - Curso UNE
Algoritmos - Curso UNEAlgoritmos - Curso UNE
Algoritmos - Curso UNE
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Presentacion
PresentacionPresentacion
Presentacion
 
Presentacion2
Presentacion2Presentacion2
Presentacion2
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Actividad 7
Actividad 7Actividad 7
Actividad 7
 
Actividad 7
Actividad 7Actividad 7
Actividad 7
 
Actividad 7
Actividad 7Actividad 7
Actividad 7
 
Trabajo de romero
Trabajo de romeroTrabajo de romero
Trabajo de romero
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Laura Michell♥
Laura Michell♥Laura Michell♥
Laura Michell♥
 
Presentacion info
Presentacion infoPresentacion info
Presentacion info
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 

Mais de Uniminuto - San Francisco

Taller 32020 inducc ion estudiantes uvdgenesis
Taller 32020 inducc ion estudiantes uvdgenesisTaller 32020 inducc ion estudiantes uvdgenesis
Taller 32020 inducc ion estudiantes uvdgenesisUniminuto - San Francisco
 
Cambio de contrasena estudiantes nuevos.docx
Cambio de contrasena estudiantes nuevos.docxCambio de contrasena estudiantes nuevos.docx
Cambio de contrasena estudiantes nuevos.docxUniminuto - San Francisco
 
Proyecto sintesis grado sexto tercer periodo 2016
Proyecto sintesis grado sexto tercer periodo 2016Proyecto sintesis grado sexto tercer periodo 2016
Proyecto sintesis grado sexto tercer periodo 2016Uniminuto - San Francisco
 
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosCu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosUniminuto - San Francisco
 

Mais de Uniminuto - San Francisco (20)

Taller 32020 inducc ion estudiantes uvdgenesis
Taller 32020 inducc ion estudiantes uvdgenesisTaller 32020 inducc ion estudiantes uvdgenesis
Taller 32020 inducc ion estudiantes uvdgenesis
 
2019 ind estudiantes uvd2 sesiones
2019 ind estudiantes uvd2 sesiones2019 ind estudiantes uvd2 sesiones
2019 ind estudiantes uvd2 sesiones
 
Cambio de contrasena estudiantes nuevos.docx
Cambio de contrasena estudiantes nuevos.docxCambio de contrasena estudiantes nuevos.docx
Cambio de contrasena estudiantes nuevos.docx
 
1. induccion sstga 2018 (version 4)
1. induccion sstga 2018 (version 4)1. induccion sstga 2018 (version 4)
1. induccion sstga 2018 (version 4)
 
Pastoral y bienestar
Pastoral y bienestarPastoral y bienestar
Pastoral y bienestar
 
Proyección social
Proyección socialProyección social
Proyección social
 
Presentación planeación
Presentación planeaciónPresentación planeación
Presentación planeación
 
Dayf
DayfDayf
Dayf
 
Uniminuto
UniminutoUniminuto
Uniminuto
 
Uniminuto
UniminutoUniminuto
Uniminuto
 
Modulo2 - Calidad
Modulo2 - CalidadModulo2 - Calidad
Modulo2 - Calidad
 
Investigación
InvestigaciónInvestigación
Investigación
 
201750 aplicación de encuestas gbi[12469]
201750 aplicación de encuestas gbi[12469]201750 aplicación de encuestas gbi[12469]
201750 aplicación de encuestas gbi[12469]
 
Presentaciones 3.1
Presentaciones 3.1Presentaciones 3.1
Presentaciones 3.1
 
Funcionamiento interno de un pc
Funcionamiento interno de un pcFuncionamiento interno de un pc
Funcionamiento interno de un pc
 
Proyecto sintesis grado sexto tercer periodo 2016
Proyecto sintesis grado sexto tercer periodo 2016Proyecto sintesis grado sexto tercer periodo 2016
Proyecto sintesis grado sexto tercer periodo 2016
 
Formulas en excel
Formulas en excelFormulas en excel
Formulas en excel
 
Try catch finally
Try catch finallyTry catch finally
Try catch finally
 
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosCu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
 
Fórmulas en excel
Fórmulas en excelFórmulas en excel
Fórmulas en excel
 

Último

DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...Martin M Flynn
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 

Último (20)

El Bullying.
El Bullying.El Bullying.
El Bullying.
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 

Estructura de datos

  • 1. METODOLOGÍA DE PROGRAMACIÓN, DESARROLLO DE PROGRAMAS EN JAVA Lic. Diego Fabian Gómez
  • 2. OBJETIVOS • Resolver problemas mediante el uso de una computadora • Entender las etapas en la resolución de un problema. • Conocer el concepto de algoritmo • Examinar las técnicas de resolución de problemas. • Procesar un programa en JAVA.
  • 3. BREVE HISTORIA DE JAVA • Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. • La reducida potencia de cálculo y memoria de los electrodomésticos llevó a desarrollar un lenguaje sencillo que pudiera generar código de tamaño muy reducido. • Java desarrolla un código “neutro” que no depende del tipo de electrodoméstico, el cual se ejecuta sobre una “máquina virtual”, denominada Java Virtual Machine (JVM). • La JVM interpreta el código neutro (independiente del procesador) convirtiéndolo a código propio de la máquina concreta. • En realidad, ninguna empresa de electrodomésticos se interesó por el nuevo lenguaje.
  • 4. BREVE HISTORIA DE JAVA • A finales de 1995 Java se reconvirtió en un lenguaje de programación utilizable en Internet (en la World Wide Web). Para ello se incorporó una JVM en Netscape Navigator 2.0, produciendo una verdadera revolución en el mundo de los ordenadores. • En Septiembre de 1996 se utilizó Java en la matrícula de los alumnos de la ESIISS. • La promesa de Java consiste en llegar a ser el “nexo universal” que conecte a los usuarios con la información, esté donde esté esta información: “Write once, run everywhere” • Java 1.1 apareció a principios de 1997 mejorando mucho la primera versión del lenguaje • Java 1.2 (Java 2) apareció a finales de 1998 incorporando nuevos elementos. Según sus creadores en Sun Microsystems, ésta es la primera versión realmente profesional.
  • 5. RESOLUCIÓN DE PROBLEMAS • El proceso para resolver problemas con una computadora implica la escritura de un programa y su posterior ejecución: • ANÁLISIS: El problema o la situación se examina considerando la especificación de los requerimientos indicados por el cliente, respecto al programa. DISEÑO DEL ALGORITMO: Una vez que se analice el problema se diseña una solución que se dirija a un algoritmo o método que lo resuelva correctamente. CODIFICACIÓN: La solución se escribe en la sintaxis de algún lenguaje de alto nivel, obteniendo un programa fuente que a continuación será compilado. COMPILACION Y EJECUCION: Que el programa se agrupa, se compila, se obtiene el programa objeto y si no existen errores se ejecuta.
  • 6. RESOLUCIÓN DE PROBLEMAS • VERIFICACIÓN Y EJECUCIÓN: El programa se comprueba rigurosamente y se eliminan todos los errores que aparezca a dichos erratas se le denomina bugs • MANTENIMIENTO: El programa se actualiza y se modifica cada ves que sea necesario para que se cumplan todas las necesidades de los usuarios; en esta fase se utilizan y mejoran los algoritmos realizando los cambios si los requisitos así lo exigen. DOCUMENTACION: Escritura de las diferentes fases del ciclo de vida del software, escribiendo en limpio el análisis, el diseño y la codificación. Se elaboran los manuales de usuario y el técnico, también las normas para el mantenimiento.
  • 7. ANÁLISIS DEL PROBLEMA • Esta fase requiere definir el problema y especificar claramente las tareas que el programa debe realizar y el resultado o solución que se espera, esta etapa se divide en varias fases – Comprender el problema lo más fielmente posible – Entender y describir los requerimientos o requisitos del programa. Es necesario aclarar si el programa requiere interacción con el usuario para leer datos de entrada y especificar los formatos de salida o resultados. – especificar los datos supone describirlos y Sí representarlos en su formato correspondiente. – el programa produce una salida se debe especificar Cómo generar y dar formato a los resultados.
  • 8. DISEÑO DEL ALGORITMO • Después de analizar el problema y la descripción de las especificaciones necesarias, El Paso siguiente es diseñar un algoritmo que lo resuelva para esto la computadora necesita que se le indique las tareas acciones a ejecutar. • Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos, definido y finitos. • La especificación del orden en el que se realizan las instrucciones o acciones del programa, se denomina control de programas; este control se realiza con instrucciones secuenciales o repetitivas
  • 9. DISEÑO DEL ALGORITMO • Cualquier software bien diseñado consta de un programa principal siendo este el módulo de nivel más alto que llama a los subprogramas que son de nivel más bajo. – El proceso implica ejecutar los siguientes pasos hasta que el programa concluye: • Programa un módulo • Comprobarlo • Depurarlo • Combinar módulos
  • 10. DISEÑO DEL ALGORITMO • Hacer un pseudocodigo que imprima los números del 1 al 100. • PROGRAMA contador1 • ENTORNO: • c <- 0 • ALGORITMO: • Borrar_pantalla( ) • MIENTRAS c < 101 HACER • ESCRIBIR c • c <- c + 1 • FINMIENTRAS • FINPROGRAMA
  • 11. CODIFICACIÓN • La codificación es la escritura en leguaje de programación de la representación del algoritmo desarrollada en la fase de diseño y análisis. • Es entonces pasar a un lenguaje de programación, en el caso de JAVA se guarda en un archivo de texto con la extensión de JAVA. Luego se de debe compilar el código fuente.
  • 12. COMPILACIÓN – INTERPRETACION DE UN PROGRAMA JAVA • El programa fuente debe traducirse a lenguaje máquina; este proceso lo debe realizar con el compilador y el sistema operativo, que prácticamente se encarga de ello. La ejecución del código fuente en el compilador verifica la exactitud y corrección de la sintaxis del programa fuente.
  • 13. VERIFICACIÓN Y DEPURACIÓN DE UN PROGRAMA JAVA • La verificación o depuración de un programa es el proceso de su ejecución con una amplia variedad de datos de entrada llamados test o prueba que determinarán si el programa tiene errores (bugs). • Errores que se pueden hallar en la verificación son: – Errores de compilación – Errores de ejecución – Errores lógicos
  • 14. DOCUMENTACIÓN Y MANTENIMIENTO • La documentación de un programa consiste en describir los pasos a seguir en el proceso de resolución; su importancia destaca por su decisiva influencia en el producto final. • La documentación puede ser interna o externa.
  • 15. CREACIÓN DE UN PROGRAMA EN JAVA
  • 16. CREACIÓN DE UN PROGRAMA EN JAVA • Java tiene dos tipos de programas: aplicaciones y applets. • Una applet es un programa que se ejecuta como parte de una página web. • Una aplicación en JAVA es como cualquier otro programa que se ejecuta en una computadora determinada.
  • 17. CREACIÓN DE UN PROGRAMA EN JAVA • Una aplicación en JAVA es un conjunto de clases, las clases contienen datos y métodos para su manipulación.
  • 18. EJECUCIÓN DE UN PROGRAMA EN JAVA • Edición del programa. • Compilación del programa. • Carga del programa en memoria. • Verificación de bytecodes y ejecución del programa.
  • 20. ACTIVIDAD • Hacer la resolución del siguiente problema usando el pseudocódigo (MÍNIMO 20) y mostrar los pasos en JAVA: – Ir a cine a ver la película “DeadPool” • Hacer el pseudocódigo y su respectivo programa en JAVA – Hacer un programa que imprima la suma de los 100 primeros números. – Hacer un pseudocódigo que imprima los números impares hasta el 100 y que imprima cuantos impares hay. – Hacer un pseudocódigo que imprima todos los números naturales que hay desde la unidad hasta un numero que introducimos por teclado. • Realice un ejemplo de un Array. • Realice un ejemplo de una Matriz. • De un ejemplo de una Pila.
  • 22. ELEMENTOS BÁSICOS DE JAVA • Objetivos: – Formar identificadores básicos del lenguaje – Escribir expresiones en Java – Escribir la sintaxis de expresiones aritméticas.
  • 23. Estructura General • Cada programa se compone de una o más clases y obligatoriamente main () debe ser uno de los métodos de la clase principal. • Debe tener una serie de declaraciones import que permitan incluir archivos que consten de clases y datos predefinidos. • Un programa debe incluir: – Declaraciones para importar clases de los paquetes – Declaraciones de clases. – El método main() – Métodos definidos por el usuario dentro de las clases. – Comentarios del programa.
  • 25. Declaración import • En Java, las clases se agrupan en paquetes (packages) que definen utilidades o grupos temáticos, y que se encuentran en el disco con su mismo nombre. • Para incorporar y utilizar las clases de un paquete en un programa se utiliza la declaración import. • Ejemplo: – Import java.awt.Graphics; – Esta trae la clase Graphics del paquete awt. • La sintaxis general de la declaración import es: – Import nombrePaquete.nombreClase; • Los paquetes pueden ser definidos por el programador para agrupar las clases creadas. – Ejemplo: – Si ha definido la un paquete llamado Casa, con las clases Climatizador, Computador, Nevera, Tv, se pueden hacer las siguientes declaraciones: – import casa.Computador; – import casa.Never – O también: – import casa.*;
  • 26. Declaración clases • El programa debe tener al menos una clase, la principal, que incluya el método main () y si es necesario otros métodos y variables. generalmente indicando el acceso; seguida por su indicador, la palabra reservada class, su nombre y sus miembros: variables y métodos; • por ejemplo: • class Potencia • { • int n, p; • public static void main(String [] ar) • { • int r, e; • int n, p; • n = 7; • p = e = 5; • r = 1; • for ( ; p > 0; p--) • r = r*n; • System.out.println("Potencia de " + n + "^" + e + " = " + r); • } • }
  • 27. Declaración clases • El archivo donde se guarde el programa anterior debe tener como nombre potencia.java; el nombre del archivo fuente siempre será el mismo que el de la clase principal, es decir, la que contiene main(), y la extensión java. • class Sumatorio • { • int n, p; • public int sumar() • { • int k, e; • n = 71; • p = e = 5; • return n+k+e+p; • } • } • Las declaraciones dentro de una clase indican al compilador que los métodos definidos • por el usuario o variables son comunes a todos los miembros de su clase. En la clase • Sumatorio las variables n, p se pueden utilizar en cualquier método de la clase; sin • embargo, k y e, situados en el método sumar(), sólo se pueden utilizar dentro de ese • método.
  • 28. Método main() • Cada programa Java tiene un método main() como punto inicial de entrada al programa cuya estructura es: • public static void main(String [] ar) • { • ... bloque de sentencias • } • Un programa puede tener sólo un método main(); hacer dos métodos • main() produce un error, aunque estén en clases diferentes. • El argumento de main() es una colección (array) de cadenas que • permiten introducir datos sucesivos de caracteres en la línea de ejecución • del programa; por ejemplo, suponga que tiene el programa Nombres, entonces la • ejecución puede ser: • java Nombres Luis Gerardo Fernando
  • 29. Método main() • En esta ejecución Luis, Gerardo y Fernando están asignados a ar[0], ar[1] y ar[2] y el programa se puede referir a esas cadenas. • Java exige que este método se declare como public static void; • Sólo se puede llamar a otro método static y hacer referencias a variables de la misma clase.
  • 30. Método main() • En esta ejecución Luis, Gerardo y Fernando están asignados a ar[0], ar[1] y ar[2] y el programa se puede referir a esas cadenas. • Java exige que este método se declare como public static void; • Sólo se puede llamar a otro método static y hacer referencias a variables de la misma clase.
  • 31. Método main() • El programa siguiente se compone de tres métodos que se • invocan sucesivamente: obtenerdatos(), alfabetizar() y verpalabras. • // declaraciones import • class Programa • { • public static void main(String [] ar) • { • obtenerdatos(); • alfabetizar(); • verpalabras(); • } • ... • }
  • 32. Método main() • El programa siguiente se compone de tres métodos que se • invocan sucesivamente: obtenerdatos(), alfabetizar() y verpalabras. • // declaraciones import • class Programa • { • public static void main(String [] ar) • { • obtenerdatos(); • alfabetizar(); • verpalabras(); • } • ... • }
  • 33. Métodos definidos por el usuario • Todos los programas se construyen a partir de una o más clases compuestas por una serie de variables y métodos que se integran para crear una aplicación; todos los métodos contienen una o más sentencias de Java, generalmente creadas para realizar una única tarea, como imprimir en pantalla, escribir un archivo o cambiar el color de la pantalla; es posible declarar un número casi ilimitado de métodos en una clase de Java.
  • 34. Métodos definidos por el usuario • Si la llamada es desde un objeto de la clase, se invoca al método precedido del objeto y el selector punto (.). ejemplo, se crea un objeto de la clase Sumatorio y se invoca al método sumar(): • Sumatorio sr = new Sumatorio(); • sr.sumar();
  • 35. Métodos definidos por el usuario • Todos los métodos tienen nombre y una lista de valores atribuidos, llamados parámetros o argumentos, se puede asignar cualquier nombre a un método pero normalmente se procura que dicho nombre describa su propósito. • Los métodos en Java se especifican en la clase a la que pertenecen; su definición es la estructura del mismo. • tipo_retorno nombreMetodo (lista_de_parámetros) principio del método • { • sentencias cuerpo del método • return expresión valor que devuelve • } y fin del método • tipo_retorno Es el tipo de valor, o void devuelto por la función • nombre_función Nombre del método • lista_de_parámetros Lista de parámetros, o void, pasados al método; se conoce también como argumentos o argumentos formales.
  • 36. Métodos definidos por el usuario • A veces, para referirse a un método, se menciona el prototipo que tiene; esto es simplemente su cabecera: • tipo_retorno nombreMetodo (lista_de_parámetros); Ejemplo de prototipo: • void contarArriba(int valor); • La palabra reservada void significa que el método no devuelve un valor; el nombre del método es contarArriba y tiene un argumento de tipo entero, int valor.
  • 37. Métodos definidos por el usuario • Java también proporciona clases con métodos predefinidos denominados clases de biblioteca, organizados en paquetes; estos métodos están listos para ser llamados en todo momento, aunque requieren la incorporación del paquete donde se encuentran, o bien sólo la clase del paquete. La invocación de uno de ellos desde la clase a la que pertenecen o desde el objeto; por ejemplo, para llamar al método que calcula la raíz cuadrada y mostrar el resultado debe escribir: • double r = 17.8; • System.out.println(Math.sqrt(r));
  • 38. Ejemplo • Éste es un programa formado por una clase que contiene dos métodos además de main(): calcula() y mostrar(); el primero determina el valor de una función para un valor dado de x; el segundo muestra el resultado; main() llama a cada uno de los métodos auxiliares, especificados como static por las restricciones de main(); la función se evalúa utilizando el seno de la clase Math; ésta se encuentra en el paquete java.lang, el cual se importa automáticamente.
  • 39. Ejemplo • class Evaluar • { • public static void main(String [] ar) • { • double f; • f = calcula(); • mostrar(f); • } • static double calcula() • { • double x = 3.14159/4.0; • return x*Math.sin(x) + 0.5; • } • static void mostrar(double r) • { • System.out.println("Valor de la función: " + r); • } • // termina la declaración de la clase • }
  • 40. Comentarios • Un comentario es información que se añade en las líneas del programa para proporcionar datos que son ignorados por el compilador y no implican la realización de alguna tarea concreta; su uso es totalmente opcional, aunque recomendable. • /* • Programa : Saludo.java • Programador : Nombre • Descripción : Primer programa Java • Fecha creación : 23-02-2016 • Revisión : Ninguna • */
  • 41.
  • 42.
  • 43.
  • 44. “Hola Mundo” en Java “Hola Mundo” orient. a objetos • El ejemplo del “Hola Mundo” es un mal ejemplo de la orientación a objetos porque: • Se crea una clase pero no se crea un objeto de la clase • El intérprete llama al método main de la clase pero no manda ningún mensaje a una instancia de una clase • Un ejemplo orientado a objetos debería incluir: • – La creación de objetos además de la definición de clases • – El llamamiento a métodos de instancia (no estáticos) sobre el objeto creado
  • 45.
  • 46. Actividad • Consultar los siguientes términos y dar un ejemplo de cada uno: – TOKEN • IDENTIFICADORES • PALABRAS RESERVADAS • LITERALES • OPERADORES • OTROS SEPARADORES • Haga el listado de los signos de puntuación usados en JAVA y para que sirven cada uno. • Desarrollar los siguientes ejercicios usando JAVA. – Introducir tantas frases como queramos y contarlas. – Solo permita introducir S o N. – Introducir un numero por teclado. Que nos diga si es positivo o negativo. – Introducir un numero por teclado. Que nos diga si es par o impar.
  • 47. ESTRUCTURA DE DATOS • En la práctica, la mayor parte de la información útil no aparece aislada en forma de datos simples, sino que lo hace de forma organizada y estructurada. • Los diccionarios, guías, enciclopedias, etc; son colección de datos que serían inútiles si no estuvieran organizadas de acuerdo con unas determinadas reglas. Además, tener estructurada la información supone ventajas adicionales, al facilitar el acceso y el manejo de los datos. • Por ello parece razonable desarrollar la idea de la agrupación de datos, que tenga un cierto tipo de estructura y organización interna. • El corazón de un sistema son sus datos, que se introducen a través de una de entrada del sistema y se almacena posteriormente en los archivos. • Los datos individualmente no tienen ningún significado, pero cuando lógicamente existe relación entre ellos, se establece información significativa.
  • 48. ESTRUCTURA DE DATOS PROGRAMACIÓN = ESTRUCTURA DE DATOS + ALGORITMOS
  • 49. ESTRUCTURA DE DATOS • Un tipo de Dato simple, no esta compuesto de otras estructuras, que no sean los bits, y que por tanto su representación sobre el computador es directa, sin embargo existe unas operaciones de cada tipo, que en cierta manera los caracterizan. • Una estructura de datos es una colección de datos que se caracterizan por su organización y las operaciones que se definen en ellos. • Por tanto una estructura de datos vendrá caracterizada tanto por unas ciertas relaciones entre los datos que la constituyen. • Ejemplo: Orden de los componentes de un vector de números Reales.
  • 50. ESTRUCTURA DE DATOS • Se le llama dato de tipo estructurado a una entidad, con un solo identificador constituido por datos de otro tipo, de acuerdo con las reglas que definen cada una de las estructuras de datos. • Ejemplo: • Una cadena esta formada por una sucesión de caracteres, una matriz por datos simples organizados en forma de filas y columnas y un archivo esta constituido por registros, estos por campos que componen a su vez de datos simples. • Un dato puede ser tanto un entero como una matriz.
  • 51. TIPOS DE DATOS ESTRUCTURADOS • Según su posición: • Estructuras Contiguas o físicas: – Son aquellas que al representarse en el hardware del computador lo hacen situando sus datos en áreas adyacentes de memoria. – Los datos se relacionan por sus vecindad o por su posición relativa dentro de la estructura. • Estructuras Enlazadas: – Son estructuras cuyos datos no tienen por qué situarse de forma contigua en la memoria, en las estructuras enlazadas los datos se relacionan unos con otros mediante punteros. • Según su variabilidad de tamaño: • Estructuras estáticas: – Son aquellas en las que el tamaño ocupado en memoria se definen con anterioridad a la ejecución del programa que los usa. De forma que su dimensión no puede modificarse durante la misma. • Ejemplo: Una matriz
  • 52. TIPOS DE DATOS ESTRUCTURADOS • Estructuras dinámicas: – Estas pueden crecer o decrecer en tamaño durante la ejecución, dependiendo de las necesidades de la aplicación, sin que el programador pueda o deba determinarlo previamente. – No tienen limitaciones en su tamaño, salvo la restricción de la memoria disponible en el computador.
  • 53. ESTRUCTURAS DE DATOS CONTIGUAS • Cadenas: – La cadena es la estructura más simple y se define como una se cuenca de caracteres que se interpretan como un dato único. Su longitud puede ser fija o variable. – En este tipo de datos se puede almacenar una palabra, frases, etc. – La longitud de una cadena se puede determinar bien indicando al principio de la misma el número de caracteres que contiene, bien situando un carácter especial denominado fin-de-cadena. • Ejemplo: – Representar las siguientes cadenas: • Capital 94 • Jaca 99
  • 55. ESTRUCTURAS DE DATOS CONTIGUAS • En el segundo caso el carácter elegido como fin-de-cadena ha sido el #. La cadena que no contiene ningún carácter se denomina cadena vacía de longitud es 0, no se debe confundir por una cadena formada sólo por blancos (o espacios) cuya longitud es igual al número de blancos que contiene. • Una variable de tipo cadena de tamaño 10 puede guardar cadenas de 10 caracteres, pero también de menos si se indica en dónde terminan los caracteres de la cadena. • Ejemplo: – Jaca 99
  • 57. ESTRUCTURAS DE DATOS CONTIGUAS • Una variable de tipo cadena de tamaño 10 puede guardar cadenas de 10 caracteres, pero también de menos si se indica en dónde terminan los caracteres de la cadena. • Ejemplo: – Jaca 99
  • 58. ESTRUCTURAS DE DATOS CONTIGUAS • Operaciones que se pueden realizar sobre los datos tipo cadena: • Asignación: • Guardar una cadena en una variable tipo cadena. Como en toda asignación a una variable, la cadena que se guarda puede ser una constante una variable tipo cadena o una expresión que produzca un dato tipo cadena. • Ejemplo: • Nombre -- “Pepe” • Nombre -- mi-nombre-de-pila
  • 59. ESTRUCTURAS DE DATOS CONTIGUAS • Operaciones que se pueden realizar sobre los datos tipo cadena: • Concatenación: • Formar una cadena a partir de dos ya existentes, yuxtaponiendo los caracteres de ambas. Si se denota por // al operador “concatenación”, el resultado de: • Ejemplo: • “ab” // “cd” es “abcd”
  • 60. ESTRUCTURAS DE DATOS CONTIGUAS • Operaciones que se pueden realizar sobre los datos tipo cadena: • Extracción de subcadena: • Permite formar una cadena (subcadena) a partir de otra ya existente. La subcadena se forma tomando un tramo consecutivo de la cadena inicial • Ejemplo: • Si NOMBRE es una variable de tipo cadena que contiene “JUAN PEDRO ORTEGA” y denotamos por (n:m) la extracción de m caracteres tomados a partir del lugar n, entonces NOMBRE (6:5) es una subcadena de contiene “PEDRO”.
  • 61. ESTRUCTURAS DE DATOS CONTIGUAS Un caso particular de extracción que se utiliza a menudo es extraer un único carácter, Por ello se suele proporcionar un método directo: el nombre seguido por el lugar que ocupa dentro de la cadena. Ejemplo: NOMBRE(6) = “P” = NOMBRE(6:1)
  • 62. ESTRUCTURAS DE DATOS CONTIGUAS • Operaciones que se pueden realizar sobre los datos tipo cadena: • Obtención de longitud: • La longitud de una cadena es un dato de tipo entero, cuyo valor es el número de caracteres que contiene ésta. En el primero de los dos métodos anteriores de representación de cadenas, la longitud se obtiene consultando el número de la primera casilla; en el segundo método la longitud es el número de orden que ocupa el carácter de fin-de-cadena, menos uno.
  • 63. ESTRUCTURAS DE DATOS CONTIGUAS • Operaciones que se pueden realizar sobre los datos tipo cadena: • Comparación de cadenas: • Consiste en comparar las cadenas carácter a carácter comenzando por el primero de la izquierda, igual que consulta un diccionario. • El orden de comparación viene dado por el código de E/S del computador que normalmente es el código ASCII. • Ejemplo • “Jose” < “Julio”
  • 64. ARRAYS • Es un conjunto de datos del mismo tipo almacenados en la memoria en posiciones adyacentes. Sus componentes individuales se llaman elementos y se distinguen entre ellos por el nombre del array seguido de uno o varios índices o subíndices. • Se pueden procesar ya sea individual como el conjunto minimos del array. • Se debe declarar el número de elementos cuando este se crea, definiendo el número de dimensiones o número de índices. • Especificar el límite máximo y el mínimo del array, denominando el rango.
  • 65. TIPOS DE ARRAYS • UNIDIMENSIONAL (VECTORES) • BIDIMENSIONAL (MATRICES) • MULTIDIMENSIONALES • También conocido como arrays de dimensión 1, 2 ó n. • Ejemplo: • Número de dimensiones 2, rango (3;5) y el número total de elementos es 15.
  • 66. TIPOS DE ARRAYS • VECTORES • Por simplicidad y mayor frecuencia de uso los vectores es el tipo de array más usado. • Las notaciones algorítmicas que se usan son: • Nombre_vector = vector(inf .. sup) de tipo • Nombre_vector nombre valido del vector • Inf .. Sup límites inferior y superior • Tipo tipo de los elementos del vector.
  • 67. TIPOS DE ARRAYS • VECTORES • Ejemplo: • La declaración de un vector supone una reserva de espacio. • NUMEROS = vector (1..10) de real • FORTRAN BASIC • REAL X(10) DIM X(10) AS SINGLE • PASCAL C • X: array(1..10) of real float x(10)
  • 68. TIPOS DE ARRAYS • Es importante señalar que podemos implementar arrays cuyos elementos sean a su vez cadenas o elementos de otro tipo. • Ejemplo: • Tipo: palabra = cadena(16) • COCHES = vector (1..9) de palabra • Esto permite en un solo vector manipular hasta 9 cadenas conteniendo como máximo 16 caracteres cada una.
  • 69. OPERACIONES SOBRE ARRAYS • Las operaciones sobre elementos del vector son: • Asignación: Tiene el mimo significado que la asignación de un valor a una variable no dimensionada, ya que un vector con su índice representa la misma entidad que una variable no dimensionada. A(20)  5 asigna el valor 5 al elemento 20 del vector A A(17)  B asigna el valor de la variable B al elemento 17 del vector A
  • 70. OPERACIONES SOBRE ARRAYS • Las operaciones sobre elementos del vector son: • Acceso secuencial o recorrido del vector: • Consiste en acceder a los elementos de un vector para someterlos a un determinado proceso, como leer o escribir. • A la operación de efectuar una acción general sobre todos los elementos de un vector se le denomina recorrido y se utilizan estructuras repetitivas.
  • 71. OPERACIONES SOBRE ARRAYS • Ejemplo 1: • Escribir un algoritmo para recorrer secuencialmente un vector H de 10 elementos (haciendo la lectura y escritura de cada uno) primero con un bucle desde y luego con un bucle mientras.
  • 73. OPERACIONES SOBRE ARRAYS • Ejemplo 2: • Supongamos que queremos procesar los primeros de un vector PUNTOS, previamente declarado, realizando las siguientes operaciones desde 1 hasta LIMITE (donde este valor debe necesariamente ser menor que el límite superior del rango): • a) lectura del array • b) cálculo de la suma de los valores del array • c) cálculo de la media de los valores. • Escribe el algoritmo correspondiente.

Notas do Editor

  1. Como se llama las secuenacias repetitivas? Bucles o lazos
  2. Como se llama las secuenacias repetitivas? Bucles o lazos
  3. Como se llama las secuenacias repetitivas? Bucles o lazos
  4. Como se llama las secuenacias repetitivas? Bucles o lazos
  5. Como se llama las secuenacias repetitivas? Bucles o lazos
  6. Como se llama las secuenacias repetitivas? Bucles o lazos
  7. Interna comentarios, la segunda es más compleja.
  8. Applet: Ejecuta de forma local en el pc de usuario
  9. Applet: Ejecuta de forma local en el pc de usuario
  10. El bytecode es un código intermedio más abstracto que el código máquina. Habitualmente es tratado como un archivo binario que contiene un programa ejecutable similar a un módulo objeto, que es un archivo binario producido por el compilador cuyo contenido es el código objeto o código máquina .
  11. El bytecode es un código intermedio más abstracto que el código máquina. Habitualmente es tratado como un archivo binario que contiene un programa ejecutable similar a un módulo objeto, que es un archivo binario producido por el compilador cuyo contenido es el código objeto o código máquina .
  12. Metodo: Grupo de instrucciones que realizan una o más acciones.
  13. Metodo: Grupo de instrucciones que realizan una o más acciones.
  14. Metodo: Grupo de instrucciones que realizan una o más acciones.
  15. Metodo: Grupo de instrucciones que realizan una o más acciones.
  16. Metodo: Grupo de instrucciones que realizan una o más acciones.
  17. Metodo: Grupo de instrucciones que realizan una o más acciones.
  18. Metodo: Grupo de instrucciones que realizan una o más acciones.
  19. Un método en Java es un subprograma que devuelve un único valor, un conjunto de valores, o realiza alguna tarea específica, como E/S, y debe estar en una clase.
  20. Un método en Java es un subprograma que devuelve un único valor, un conjunto de valores, o realiza alguna tarea específica, como E/S, y debe estar en una clase.
  21. Las sentencias situadas en el interior del cuerpo de main(), u otro método, deben terminar en punto y coma.
  22. Las sentencias situadas en el interior del cuerpo de main(), u otro método, deben terminar en punto y coma.
  23. Las sentencias situadas en el interior del cuerpo de main(), u otro método, deben terminar en punto y coma.
  24. Las sentencias situadas en el interior del cuerpo de main(), u otro método, deben terminar en punto y coma.
  25. Las sentencias situadas en el interior del cuerpo de main(), u otro método, deben terminar en punto y coma.
  26. El método sqrt se invoca precedido de la clase Math y el selector punto (.); lo mismo ocurre con println() que es un llamado precedido por objeto out definido en la clase System.
  27. El método sqrt se invoca precedido de la clase Math y el selector punto (.); lo mismo ocurre con println() que es un llamado precedido por objeto out definido en la clase System.
  28. una clase que contiene dos métodos además de main(): calcula() y mostrar(); el primero determina el valor de una función para un valor dado de x; el segundo muestra el resultado; main() llama a cada uno de los métodos auxiliares, especificados como static por las restricciones de main(); la función se evalúa utilizando el seno de la clase Math; ésta se encuentra en el paquete java.lang, el cual se importa automáticamente.
  29. El método sqrt se invoca precedido de la clase Math y el selector punto (.); lo mismo ocurre con println() que es un llamado precedido por objeto out definido en la clase System.
  30. El método sqrt se invoca precedido de la clase Math y el selector punto (.); lo mismo ocurre con println() que es un llamado precedido por objeto out definido en la clase System.
  31. El método sqrt se invoca precedido de la clase Math y el selector punto (.); lo mismo ocurre con println() que es un llamado precedido por objeto out definido en la clase System.
  32. El método sqrt se invoca precedido de la clase Math y el selector punto (.); lo mismo ocurre con println() que es un llamado precedido por objeto out definido en la clase System.
  33. El método sqrt se invoca precedido de la clase Math y el selector punto (.); lo mismo ocurre con println() que es un llamado precedido por objeto out definido en la clase System.
  34. El método sqrt se invoca precedido de la clase Math y el selector punto (.); lo mismo ocurre con println() que es un llamado precedido por objeto out definido en la clase System.
  35. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  36. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  37. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  38. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  39. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  40. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  41. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  42. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  43. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  44. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  45. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  46. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  47. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  48. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  49. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  50. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  51. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  52. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  53. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  54. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  55. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  56. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  57. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.
  58. Puntero es un tipo de dato que sirve para apuntar hacia otro datos y por tanto para determinar cuál es el siguiente dato en la estructura.