Está en la página 1de 57

Metodologas de Programacin

Ing. Daniel Maza Medina | @danielfm


Sesin 01. Introduccin al curso
Presentacin del Slabo. Formacin de grupos. Revisin de saberes previos. Examen
de entrada y resolucin de examen. Ejercicios de Introduccin.
1. Presentacin de slabo
2. Formacin de grupos
3. Examen de entrada y resolucin de examen
4. Revisin de saberes previos
5. Ejercicios de introduccin

Agenda
Metodologas de Programacin.
Sesin 01

@danielfm
1. Presentacin de slabo
2. Formacin de grupos
3. Examen de entrada y resolucin de examen
4. Revisin de saberes previos
5. Ejercicios de introduccin

Agenda
Metodologas de Programacin.
Sesin 01

@danielfm
1. Presentacin de slabo
U1: Introduccin a la Programacin Orientado a Objetos 5 semanas (29/ago 26/set)
U2: Herencia y Polimorfismo 5 semanas (03/oct 31 /oct)
U3: Introduccin a Estructura de Datos con Objetos 6 semanas (07/nov 16/dic)

(Abrir documento de slabo)

@danielfm
1. Presentacin de slabo
2. Formacin de grupos
3. Examen de entrada y resolucin de examen
4. Revisin de saberes previos
5. Ejercicios de introduccin

Agenda
Metodologas de Programacin.
Sesin 01

@danielfm
2. Formacin de Grupos
Algunas de las actividades encargadas, se desarrollar en grupo.
Se identificar el trabajo colaborativo e investigativo del estudiante.
Cada grupo constar de 2 alumnos.
No se permitir el desarrollo individual.
Preguntas?
Entonces, a formar los grupos

@danielfm
1. Presentacin de slabo
2. Formacin de grupos
3. Examen de entrada y resolucin de examen
4. Revisin de saberes previos
5. Ejercicios de introduccin

Agenda
Metodologas de Programacin.
Sesin 01

@danielfm
3. Examen de entrada
El examen de entrada permitir conocer al grupo de estudiantes, para poder plasmar la
base de conocimiento para el desarrollo y alcance satisfactorio del curso.

(Abrir documento de examen)

@danielfm
1. Presentacin de slabo
2. Formacin de grupos
3. Examen de entrada y resolucin de examen
4. Revisin de saberes previos
5. Ejercicios de introduccin

Agenda
Metodologas de Programacin.
Sesin 01

@danielfm
4. Revisin de saberes previos

@danielfm
Analicemos
Qu es Programacin?
Programacin Orientada a Objetos?
JAVA?

@danielfm
Programacin
La programacin informtica o programacin algortmica, acortada como
programacin, es el proceso de disear, codificar, depurar y mantener el
cdigo fuente de programas computacionales.

El cdigo fuente es escrito en un lenguaje de programacin.

El propsito de la programacin es crear programas que exhiban un


comportamiento deseado.

@danielfm
Qu idioma habla una computadora?

@danielfm
Qu idioma habla una computadora?

@danielfm
Qu idioma habla una computadora?

@danielfm
Qu idioma habla una computadora?

@danielfm
Qu idioma habla una computadora?

@danielfm
Qu idioma habla una computadora?

@danielfm
Qu idioma habla una computadora?

@danielfm
Compilacin
El programa escrito en un lenguaje de programacin de alto nivel
(fcilmente comprensible por el programador) es llamado programa
fuente y no se puede ejecutar directamente en una computadora. La
opcin ms comn es compilar el programa obteniendo un mdulo
objeto.

El cdigo fuente del programa se debe someter a un proceso de


traduccin para convertirlo a lenguaje mquina o bien a un cdigo
intermedio, generando as un mdulo denominado objeto. A este
proceso se le llama compilacin.

@danielfm
Vida de un programa en Java

@danielfm
Algoritmo
Cmo se le llaman a las instrucciones que se programan las
computadoras? En el mundo de la programacin se les conoce como:
algoritmo.
Ejemplos:
En un manual de usuario para instalar una impresora, tenemos varias
instrucciones que nos indican cmo realizar este procedimiento,
entonces, esta lista de instrucciones sern los algoritmos que nos
llevarn a la instalacin de nuestra impresora.
Una receta de cocina, en donde las instrucciones o algoritmos se vern
representados por los pasos para realizar un pastel.

@danielfm
Algoritmo
Puede representarse de diversas formas, una de ellas es mediante un
diagrama de flujo, donde las acciones se muestran en rectngulos y las
condiciones en rombos; se debe de tomar un camino a seguir,
dependiendo de si se cumple la condicin o no.

@danielfm
Actividad 1
Investigar sobre la historia de la programacin.
Quin fue el(la) primer(a) programador(a)?

@danielfm
Tcnicas de programacin
Se han propuesto diversas tcnicas de programacin cuyo objetivo es
mejorar tanto el proceso de creacin de software como su
mantenimiento. Entre ellas, se pueden mencionar las siguientes:
Programacin declarativa
Programacin estructurada
Programacin modular
Programacin orientada a objetos

@danielfm
Programacin Estructurada y
Programacin Orientada a Objetos
La programacin estructurada es un paradigma de programacin
orientado a mejorar la claridad, calidad y tiempo de desarrollo de un
programa de computadora, utilizando nicamente subrutinas y tres
estructuras: secuencia, seleccin (if y switch) e iteracin (bucles for y
while)

La programacin orientada a objetos (POO, u OOP segn sus siglas en


ingls) es un paradigma de programacin que viene a innovar la forma
de obtener resultados. Los objetos manipulan los datos de entrada para
la obtencin de datos de salida especficos, donde cada objeto ofrece
una funcionalidad especial.

@danielfm
Programacin estructurada (1)
Consiste en escribir un programa de acuerdo con unas reglas y un
conjunto de tcnicas.
Las reglas son: el programa tiene un diseo modular, los mdulos son
diseados descendentemente, cada mdulo de programa se codifica
usando tres estructuras de control (secuencia, seleccin e iteracin).
Es el conjunto de tcnicas que han de incorporar: recursos abstractos;
diseo descendente y estructuras bsicas de control.
Descomponer un programa en trminos de recursos abstractos consiste
en descomponer acciones complejas en trminos de acciones ms
simples capaces de ser ejecutadas en una computadora.

@danielfm
Programacin estructurada (2)
El diseo descendente se encarga de resolver un problema realizando
una descomposicin en otros ms sencillos mediante mdulos
jerrquicos. El resultado de esta jerarqua de mdulos es que cada
mdulo se refina por los de nivel ms bajo que resuelven problemas ms
pequeos y contienen ms detalles sobre los mismos.
Las estructuras bsicas de control sirven para especificar el orden en
que se ejecutarn las distintas instrucciones de un algoritmo. Este orden
de ejecucin determina el flujo de control del programa.

@danielfm
Programacin Orientada a Objetos POO (1)
El paradigma de orientacin a objetos, aporta un nuevo enfoque a los
retos que se plantean en la programacin estructurada cuando los
problemas a resolver son complejos.
Al contrario que la programacin procedimental que enfatiza en los
algoritmos, la POO enfatiza en los datos.
En lugar de intentar ajustar un problema al enfoque procedimental de
un lenguaje, POO intenta ajustar el lenguaje al problema.
La idea es disear formatos de datos que se correspondan con las
caractersticas esenciales de un problema.

@danielfm
Programacin Orientada a Objetos POO (2)
Combinan en una nica unidad o mdulo, tanto los datos como las
funciones que operan sobre esos datos. Tal unidad se llama objeto.
Para modificar los datos de un objeto, hay que realizarlo mediante las
funciones miembro del objeto. Ninguna otra funcin puede acceder a
los datos. Esto simplifica la escritura, depuracin y mantenimiento del
programa.

@danielfm
Propiedades fundamentales de la Orientacin a
Objetos
Abstraccin. Consiste en tener en cuenta slo los aspectos ms importantes
desde un punto de vista determinado y no tener en cuenta los restantes
aspectos
Encapsulado de datos. Proceso de agrupar datos y operaciones relacionadas
bajo la misma unidad de programacin.
Ocultacin de datos. Permite separar el aspecto de un componente, definido
por su interfaz con el exterior, de sus detalles internos de implementacin.
Herencia. Permite definir nuevas clases a partir de otras clases ya existentes,
de modo que presentan las mismas caractersticas y comportamiento de stas,
as como otras adicionales.
Polimorfismo. Aquella operacin tiene el mismo nombre, pero se ejecuta de
diferentes formas en cada clase.

@danielfm
JAVA
Es un lenguaje de programacin desarrollado por Sun Microsystems
(hoy Oracle).
Es un lenguaje de programacin de propsito general, concurrente,
orientado a objetos que fue diseado especficamente para tener tan
pocas dependencias de implementacin como fuera posible.

@danielfm
JAVA, Caractersticas:
Sencillo. Elimina la complejidad de otros leguajes.
Orientado a objetos. La filosofa de programacin orientada a objetos facilita la
creacin y mantenimiento de programas.
Independiente de la arquitectura y portable. Al compilar un programa en Java, el
cdigo resultante es un tipo de cdigo binario conocido como Java Bytecode. Este
cdigo es interpretado por diferentes computadoras de igual manera. Como el cdigo
compilado de Java es interpretado, un programa compilado de Java puede ser
utilizado por cualquier computadora que tenga implementado el intrprete de Java.
Robusto. Java simplifica la gestin de la memoria.
Multitarea. Java puede ejecutar diferentes lneas de cdigo al mismo tiempo.
Dinmico. En java no es necesario cargar completamente el programa en memoria,
sino que las clases compiladas pueden ser cargadas bajo demanda en tiempo de
ejecucin.

@danielfm
Mecanismo de creacin de un programa de Java
Java es a la vez compilado e interpretado.

@danielfm
Variable
Es un espacio de la memoria que almacena un contenido.
Es un espacio de memoria reservado para almacenar un valor.
Est formada por un espacio en el sistema de almacenaje y un nombre
simblico que est asociado a dicho espacio.
El valor almacenado corresponde a un tipo de dato.
El valor puede ser numrico, de tipo carcter o cadena de caracteres.
Son una de las caractersticas fundamentales de los lenguajes de
programacin, permiten acceder a la memoria para almacenar y
recuperar los datos con los que nuestros programas van a trabajar.

@danielfm
Tipos de datos en Java
Es un atributo de los datos que indica a la computadora (y/o al
programador) sobre la clase de datos que se va a trabajar.
Algunos tipos de datos usados:
Tipo de dato lgico.
Tipo de dato entero.
Tipo de dato de coma flotante (real, con decimales).
Tipo de dato carcter.
Tipo de dato cadena.

@danielfm
Tipos de datos en Java

@danielfm
mbito de variable
El mbito de una variable, ste puede ser:
Local: Cuando la misma slo es accesible desde un nico procedimiento
hijo, no pudiendo ser leda o modificada desde otro procedimiento
hermano o desde el propio procedimiento padre.
Global: Cuando la misma es accesible tanto desde rutinas de la
aplicacin, como en todos los procedimientos y funciones de la misma.

@danielfm
mbito de variable
public class A {
public Integer numeroEntero = new Integer(); /* Variable Global a todos los Mtodos */
public Integer metodo() {
int num = 1; // Variable Local a metodo.
for (int i = 0;i<numeroEntero.intValue();i++) { // i es local al bucle for.
num *= i;
}
// i = 2; Esta lnea provocara error al no haber declarado la variable i.
return Integer.valueOf(num);
}
public void otroMetodo() {
int num = 1; // Variable local num, aqu es una variable distinta a la variable num de mtodo
System.out.println("Variable local num: " + num);
}
}

@danielfm
Asignacin de variables

//Almacenamos un dato en memoria referenciado por


el nombre edad
edad = 5;

//Recuperamos el dato almacenado y lo modificamos


edad = edad + 1;

NOTA: Java es un lenguaje tipado y nos obliga a declarar nuestras variables antes de poder hacer
uso de ellas, con esta declaracin le indicamos al compilador el espacio en memoria que debe de
reservar para almacenar la informacin.

@danielfm
Declaracin o definicin de variables
Java es un lenguaje tipado y nos obliga a declarar nuestras variables antes
de poder hacer uso de ellas, con esta declaracin le indicamos al
compilador el espacio en memoria que debe de reservar para almacenar la
informacin.
Por ejemplo:
String cliente;
Podemos asignarle algn valor en el momento de declarar una variable.
Por ejemplo:
String cliente = "Isaac Newton";

@danielfm
Declaracin o definicin de variables
Tambin podemos declararla y en otro lugar del programa fijarle un valor :
String cliente; // declaracin
... // El programa sigue
cliente = "Isaac Newton"; // le damos un valor

La sentencia (sintaxis) para declarar una variable se resume como:


Tipo_Dato Nombre_Variable [= Valor];

@danielfm
Tipos de datos primitivos

@danielfm
Conversin de tipos de datos en Java
Es posible transformar el tipo de una variable u objeto en otro diferente al
original con el que fue declarado. Este proceso debe manejar con cuidado pues
un mal uso de la conversin de tipos es frecuente que d lugar a errores.
Una forma de realizar conversiones consiste en colocar el tipo destino entre
parntesis, a la izquierda del valor que queremos convertir de la forma
siguiente:
Tipo VariableNueva = (NuevoTipo) VariableAntigua;
Por ejemplo:
int miNumero = (int) ObjetoInteger;
char c = (char) System.in.read();

@danielfm
Conversin de tipos de datos en Java
El tamao de los tipos que queremos convertir es muy importante.
No todos los tipos se convertirn de forma segura. Por ejemplo, al
convertir un long en un int, el compilador corta los 32 bits superiores del
long (de 64 bits), de forma que encajen en los 32 bits del int, con lo que
si contienen informacin til, sta se perder.
Este tipo de conversiones que suponen prdida de informacin se
denominan conversiones no seguras y en general se tratan de evitar,
aunque de forma controlada pueden usarse puntualmente.

@danielfm
Conversin de tipos de datos en Java

@danielfm
Conversin de tipos de datos en Java
El mtodo valueOf es un mtodo sobrecargado aplicable a numerosas clases de Java y
que permite realizar conversiones de tipos. Veamos algunos ejemplos de uso.

NOTA: No todas las conversiones son posibles por lo general por


incoherencia de datos.
@danielfm
Conversin de tipos de datos en Java

no: indica que no hay posibilidad de conversin.


si: indica que el casting es implcito.
si*: indica que el casting es implcito pero se puede producir prdida de precisin.
cast: indica que hay que hacer casting explcito.
@danielfm
Estructura de un programa en Java
La clase principal y el mtodo main.
Comentarios.
Identificadores

@danielfm
La clase principal y el mtodo main (1)
Un programa puede construirse empleando varias clases. En el caso
ms simple se utilizar una nica clase. Esta clase contiene el programa,
rutina o mtodo principal: main() y en ste se incluyen las sentencias del
programa principal. Estas sentencias se separan entre s por caracteres
de punto y coma.

@danielfm
La clase principal y el mtodo main (2)
Ejemplo, programa: Hola.java

@danielfm
Comentarios
Se emplean para facilitar la tarea de documentacin de los
programadores. Se pueden introducir en el cdigo fuente de un
programa de Java. El compilador ignora todo lo que se incluya entre la
secuencia de caracteres // y el final de la lnea. Por ejemplo:
// Este es un comentario estilo C++, llega al final de la lnea
El segundo tipo de comentario es el que se utiliza para bloques
(comentar ms de una lnea). El compilador tambin ignora todo lo
que se incluya entre las secuencias de caracteres /* y */. Por ejemplo:
/* En este otro comentario estilo C, el final lo indica la marca */

@danielfm
Identificadores
Son nombres que se les asignan a variables, mtodos, clases, etc. en el
cdigo fuente de un programa.
Todo nuevo identificador que se emplee en un programa Java debe
definirse previamente a su utilizacin.
Existe una serie de palabras reservadas que no pueden emplearse como
identificadores por el programador en el cdigo fuente para otros usos.
Por ejemplo, la palabra double se utiliza para definir un tipo de dato real y la palabra
for se emplea para construir un tipo determinado de bucle.

@danielfm
Actividad en clase 01
Ingrese a la plataformaTrilce.
Seleccione la seccin Examen en lnea.
Clic en el icono Ver de la derecha del ttulo del examen
Responder de forma individual.

@danielfm
Actividad en clase 02
En grupo de 2 integrantes crear una presentacin respondiendo las
siguientes interrogantes:
1. Qu es abstraccin? Describa un ejemplo.
2. A quin se le denomina Analista Programador? Cules son sus
funciones?
3. Qu es una metodologa de desarrollo de software?
4. Indique cmo se ven a 5 aos. (una descripcin por integrante)

@danielfm
Fuentes de informacin
http://aprenderaprogramar.com/index.php?option=com_content&view=articl
e&id=419:tipos-de-datos-java-tipos-primitivos-int-boolean-y-objeto-string-
array-o-arreglo-variables-cu00621b&catid=68:curso-aprender-programacion-
java-desde-cero&Itemid=188
http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)
http://www.alegsa.com.ar/Dic/variable.php
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Variables
https://sites.google.com/site/pro012iessanandres/java/conversion-entre-tipos-
primitivos-casting
http://analista1.forogratuito.org/t22-cast-tiipos-de-datos-en-java-y-
conversiones

@danielfm

También podría gustarte