You are on page 1of 38

FACULTAD DE INGENIERA

INDUSTRIAL Y DE SISTEMAS
ESCUELA DE INGENIERA INDUSTRIAL

INFORMTICA
PROF. ING. CESAR TAMARIZ FIGUEROA
TERCERA UNIDAD
ALGORITMOS
RESOLUCIN DE PROBLEMAS.
ALGORITMOS Y PROGRAMAS
DEFINICIN: ALGORITMO Y PROGRAMACIN?
QUE ES UN ALGORITMO?
Un algoritmo es un procedimiento
detallado y preciso para resolver un
problema en pasos (o etapas), cada uno
de los cuales toma un tiempo finito e
indica claramente el orden de ejecucin de
los mismos.
QUE ES UN PROGRAMACIN?
Es la transformacin del algoritmo en algo
entendible por la computadora, para ello
debe ser escrito en un lenguaje de
programacin de acuerdo con las reglas de
sintaxis del mismo.
FASES PARA LA SOLUCIN DE UN PROBLEMA

ENTENDER EL PROBLEMA
El problema es una abstraccin de la realidad el cual
describe las eventuales circunstancias de su entorno para
poder solucionarlo. Mediante este criterio se busca poder:

Conocer Datos de Entrada: Estudio de los datos disponibles.


Procesamiento
Conocer Datos de Salida: Estudio de los datos esperados.

Con esta informacin, se inicia el proceso de:

Anlisis:
Problema
FASES PARA LA SOLUCIN DE UN PROBLEMA
ANLISIS

Anlisis:
Problema
El primer paso para encontrar la solucin a un problema es el
anlisis del mismo. Se debe examinar cuidadosamente el
problema a fin de obtener una idea clara sobre lo que se
solicita y determinar los datos necesarios para conseguirlo. En
este punto se haya:

Especificacin del Problema


FASES PARA LA SOLUCIN DE UN PROBLEMA
DISEO
Diseo:
Algoritmo

Teniendo en cuenta que un algoritmo es


un mtodo para resolver problemas, una
vez analizado el mismo se precisa
disear un algoritmo que indique
claramente los pasos a seguir para
resolverlo.
Los pasos en esta primera descripcin
pueden requerir una revisin adicional
antes de que podamos obtener un
algoritmo claro, preciso y completo.
FASES PARA LA SOLUCIN DE UN PROBLEMA
ANLISIS

PARTES DE UN ALGORITMO:
Todo algoritmo utiliza un conjunto de datos de
entrada y proporciona unos datos de salida. De
esta manera aparecen los siguientes elementos:

ENTRADA PROCESO SALIDA

Entrada: Corresponde a los datos que requiere el


proceso para ofrecer los resultados esperados.
Proceso: Proceso: Operaciones o clculos
necesarios para encontrar la solucin del
problema.
Salida: Respuestas dadas por el algoritmo o
resultados.
FASES PARA LA SOLUCIN DE UN PROBLEMA
ANLISIS

EJEMPLO:
Desarrollar un algoritmo que calcule el rea del
rectngulo. Lo primero a plantearnos son las
siguientes preguntas:
Especificacin de Entrada
Que datos son de entrada?, Cuntos datos se
introducirn?, Cuntos son datos de entrada vlidos?
Especificaciones de Salida
Cules son los datos de salida?, Cuntos datos de
salida se producirn?, Qu formato y precisin
tendrn los resultados?.
El algoritmo a construir ser el siguiente:
FASES PARA LA SOLUCIN DE UN PROBLEMA
ANLISIS

EJEMPLO:

ENTRADA PROCESO SALIDA

Entrada: Ingresar desde el teclado los datos relacionados a


la Base y altura.
Proceso: Hallar el calculo del rea del rectngulo
multiplicando la base por altura.
Salida: Muestra en pantalla o impresin del calculo del
rea del triangulo.
FASES PARA LA SOLUCIN DE UN PROBLEMA
PROGRAMACIN
Solucin:
Programa
Una vez que el diagrama de flujo o el
algoritmo de resolucin del problema
est definido se pasa a la fase de
codificacin del programa en cualquier
lenguaje (C, Basic, Cobol, Pascal, etc.)
cuyo resultado ser el programa
fuente
Despus de codificado el programa,
se introduce en el ordenador
mediante unos programas especiales
llamados editores.
FASES PARA LA SOLUCIN DE UN PROBLEMA

EJEMPLO 1
Si un experimentado conductor se le preguntase como
pone en movimiento su automvil, el contestara:
Se pone en marcha el motor y se mete primera.
Pero Qu ocurrira si el individuo nunca condujo un
automvil?. El resultado no sera muy efectivo debido
a que su falta de experiencia pueda estrellarse con
algn otro automvil.
La conclusin es que para un experimentado
conductor el algoritmo ideal sera:
Poner en marcha el motor
Meter la primera
FASES PARA LA SOLUCIN DE UN PROBLEMA

EJEMPLO 1
En cambio, el algoritmo ms correcto podra ser:
Pisar el embrague con el pie izquierdo
Poner en punto muerto
Dar a la llave de contacto
Pisar el embrague
Meter la primera
Quitar el freno de mano si lo tuviese puesto.
Levantar lentamente el pie del embrague a la vez que pisa el
pedal del acelerador con el pie derecho.
Por qu es ms correcto este algoritmo?
Desglosa el problema en instrucciones simples y concretas,
comprensibles para cualquier individuo.
Indica claramente el orden en que deben ejecutarse dichas
instrucciones.
FASES PARA LA SOLUCIN DE UN PROBLEMA

EJEMPLO 2:
PROBLEMA: RECETA PARA FRER UN HUEVO FRITO
FASES PARA LA SOLUCIN DE UN PROBLEMA

EJEMPLO 2:
PROBLEMA: RECETA PARA FRER UN HUEVO FRITO
Algoritmo:
1. Inicio
2. Poner aceite en sartn
3. Colocar sartn en fuego
4. Romper el huevo haciendo caer el contenido en sartn
5. Tirar cscaras a la basura
6. Poner sal en yema
7. Si el huevo est slido ir a 7, si no esperar
8. Servir huevo, fregar sartn
9. Fin
FASES PARA LA SOLUCIN DE UN PROBLEMA

EJEMPLO 3:
PROBLEMA: HALLAR EL VALOR ABSOLUTO DE UN NMERO X
FASES PARA LA SOLUCIN DE UN PROBLEMA

EJEMPLO 3:
PROBLEMA: HALLAR EL VALOR ABSOLUTO DE UN NMERO X
Algoritmo:
1. Si x es positivo, el resultado es, r x
2. Si no, el resultado es, r -x
3. Fin
Programa:
{ int valor absoluto (int x)
if (x>0)
r=x;
else
r=-x;
return x;
}
PROGRAMACIN ESTRUCTURADA

DEFINICIN
La programacin estructurada es
un estilo con el cual el se busca
que el programador elabore
programas sencillos y fciles de
entender. Para ello, la escritura del
programa se realiza mediante el
uso de 3 estructuras lgicas de
control:
Estructura Secuencial.
Estructura Condicional (Selectiva)
Estructura Iterativa (Repetitiva)
PROGRAMACIN ESTRUCTURADA

COMO CONSTRUIR ALGORITMO ESTRUCTURADOS?


Aplicar la tcnica de: divide y vencers, que consiste en
descomponer el problema en subproblemas ms sencillos.
Resolucin de los subproblemas: realizacin de los
algoritmos correspondientes a los subproblemas
Depurar (prueba de validez) el algoritmo resultante:
PROGRAMACIN ESTRUCTURADA

ESTRUCTURA SECUENCIAL
Indica que las instrucciones de un programa se ejecutan una
despus de la otra, en el mismo orden en el cual aparecen en
el programa. Se representa grficamente como una caja
despus de otra, ambas con una sola entrada y una nica
salida.

Las cajas A y B pueden ser definidas para


ejecutar desde una simple instruccin
hasta un mdulo o programa completo,
siempre y cuando stos tambin sean
programas apropiados.
PROGRAMACIN ESTRUCTURADA

ESTRUCTURA CONDICIONAL (SELECTIVAS)


Tambin conocida como la estructura IF THEN, plantea la
seleccin entre dos alternativas con base en el resultado de
la evaluacin de una condicin; equivale a la instruccin SI
de todos los lenguajes de programacin y se representa
grficamente de la siguiente manera:

En el diagrama de flujo anterior, C es una


condicin que se evala; A es la accin
que se ejecuta cuando la evaluacin de
esta condicin resulta verdadera y B es la
accin ejecutada cuando el resultado de
la evaluacin indica falso.
PROGRAMACIN ESTRUCTURADA

ESTRUCTURA ITERATIVAS (REPETITIVAS)


Tambin llamada la estructura HACER-MIENTRAS-QUE,
corresponde a la ejecucin repetida de una instruccin
mientras que se cumple una determinada condicin. El
diagrama de flujo para esta estructura es el siguiente::

Aqu el bloque A se ejecuta


repetidamente mientras que la condicin
C se cumpla o sea cierta. Tambin tiene
una sola entrada y una sola salida;
igualmente A puede ser cualquier
estructura bsica o conjunto de
estructuras..
HERRAMIENTA PARA LA
CONSTRUCCIN DE UN ALGORITMO

Existen diferentes mtodos para representar un


algoritmo, los procedimientos ms habituales son:
Diagrama de Flujo (Herramienta grfica)
Pseudocdigo (Herramientas no grficas)
HERRAMIENTA PARA LA
CONSTRUCCIN DE UN ALGORITMO

PSEUDOCDIGO ESTRUCTURADO - PSEINT


El Pseudocdigo consiste en una representacin ms
formal, ordenada y especfica de los pasos que estn en
un algoritmo.

El concepto formal involucra elementos propios de


pseudo programacin, definiendo as un patrn mucho
ms cercano al producto final que ser el cdigo en algn
lenguaje de programacin.

Es ordenada porque muestra una secuencia clara y


precisa de instrucciones que siguen un orden. Este orden
se asemejar mucho al que se usa en un programa.
HERRAMIENTA PARA LA
CONSTRUCCIN DE UN ALGORITMO

REPRESENTACIN NO GRFICA
Problema: Leer 2 nmeros enteros y describir la Suma:
Pseudocdigo:

Inicio
Datos de Entrada
Leer primer sumando, a. (nmeros enteros)
Leer segundo sumando, b.
Hallar la suma de los sumandos, r a + b Suma
Escribir r. Aritmtica
Dato de
Fin Salida Asignacin
HERRAMIENTA PARA LA
CONSTRUCCIN DE UN ALGORITMO

ESTRUCTURA SECUENCIAL
La estructura secuencial es aquella en la que una accin
(instruccin) sigue a otra en secuencia.
INICIO

1. Inicio CalculoIndice
Accin 1 2. carnet, notaProg, indice: numrico
3. Leer carnet,notaProg
4. ...
5. ...
Accin 2 6. Mostrar (El carnet es, carnet)
7. Mostrar (El indice acumulado es,
indice)
8. Terminar CalculoIndice
Accin 3

FIN
HERRAMIENTA PARA LA
CONSTRUCCIN DE UN ALGORITMO

EJEMPLO:
Hacer un algoritmo en pseudocdigo que indique si una
persona es mayor o menor de edad.

INICIO
edad = 0;
ESCRIBIR(Ingrese su edad:)
LEER(edad)
SI edad>18 ENTONCES
ESCRIBIR(La persona es mayor de edad)
SINO
ESCRIBIR(La persona es menor de edad)
FIN_SI
FIN
HERRAMIENTA PARA LA
CONSTRUCCIN DE UN ALGORITMO

EJEMPLO:
Hacer un algoritmo que lea un nmero e indique si es
positivo o negativo
INICIO
num = 0;
ESCRIBIR(Ingrese un nmero:)
LEER(num)
SI num>0 ENTOCES
ESCRIBIR(Es positivo)
SINO
SI num<0 ENTONCES
ESCRIBIR(Es negativo)
SINO
ESCRIBIR(Es el neutro)
FIN_SI
FIN_SI
FIN
HERRAMIENTA PARA LA
CONSTRUCCIN DE UN ALGORITMO

TRABAJO
Realice los siguientes problemas en Pseudocdigo.
Un alumno ha recibido las 4 calificaciones correspondientes al Ao
acadmico. Construya un algoritmo que le permita imprimir el
promedio de sus calificaciones.
Realizar un algoritmo que me permita transformar los datos de
millas a metros, teniendo en consideracin que 1 milla es
equivalente a 1.35Km.
Construir un programa que me permita calcular, dado el costo del
artculo, el vuelto que ha de recibir un cliente al realizar la compra
del artculo. El programa debe mostrar la cantidad ingresada y el
vuelto a entregar.
Construir un programa que me permita conocer el sueldo de un
trabajador si recibe un incremento del 20% de sueldo base. Hallar
cual ser su nuevo sueldo.
Introduccin a Java
INTRODUCCIN AL LENGUAJE JAVA

QU ES JAVA?
La plataforma Java es fundamentalmente una nueva va de
programacin. Fue desarrollado por Sun MicroSystem con la intencin
de competir con Microsoft en el mercado de las redes. Se basa en la
idea de que el mismo software debe correr en diferentes sistemas y
dispositivos. Java nace como un lenguaje derivado de C++ que
intentaba eliminar las deficiencias del mismo.

DNDE TRABAJA JAVA?


Con la tecnologa Java se puede usar la misma aplicacin sobre
cualquier tipo de hardware PC, Macintosh, ordenadores de red, con
cualquier sistema operativo o incluso en otro tipo de dispositivos como
telfonos mviles, televisores. Es decir, funciona sobre cualquier tipo de
dispositivo compatible que soporte la plataforma Java.
UN POCO DE HISTORIA..

En 1991, James Gosling cre un


lenguaje denominado Oak
(roble) el cual fue el predecesor
de Java.
Su objetivo era establecer un
lenguaje comn para los
dispositivos.
Se baso en C++ tratando de sacarle la complejidad y la
inseguridad que presentaba
Sun descubri que este nombre estaba ya registrado, y lo
tuvieron que cambiar
El 23 de mayo de 1995 el lenguaje Java es oficialmente
lanzado en la SunWorld Expo 95 con la versin JDK 1.0 alpha.
PRESENCIA COMERCIAL DE JAVA

Ms de 2.500 millones de dispositivos.


Ms de 700 millones de ordenadores.
708 millones de telfonos mviles y otros dispositivos de mano.
1000 millones de tarjetas inteligentes, adems de sintonizadores,
impresoras,web cams, juegos, sistemas de navegacin para
automviles, terminales de lotera, dispositivos mdicos, cajeros
de pago en aparcamientos, etc.
Hoy en da, puede encontrar la tecnologa Java en redes y
dispositivos que comprenden desde Internet y superordenadores
cientficos hasta porttiles y telfonos mviles; desde simuladores
de mercado en Wall Street hasta juegos de uso domstico y
tarjetas de crdito: Java est en todas partes.
CARACTERSTICAS

Lenguaje totalmente Orientado a Objetos


Tcnica de programacin: encapsulacin, herencia, polimorfismo,
entre otras.
Disponibilidad de amplio conjunto de libreras.
La programacin de aplicaciones en java no solo se basa en conocer
instrucciones o sintaxis del lenguaje, sino en la posibilidad de utilizar
un amplsimo conjunto de clases, propias de Java.
Aplicaciones multiplataforma.
Puede funcionar en cualquier tipos de plataforma.
Adems Java cuenta con:
Chequeo de sintaxis mientras se programa.
Verificacin de bytecodes
JAVA EN POCAS PALABRAS
JAVA EN POCAS PALABRAS
JAVA EN POCAS PALABRAS.

MQUINA VIRTUAL JAVA


La mquina virtual java o JVM es un entorno de ejecucin para
aplicaciones java, cuya principal finalidad es la de adaptar los
programas java compilados a las caractersticas del SO donde se
van a ejecutar.

Cdigo Fuente .java

Compilacin

Bytecodes .class

Ejecucin

Maquina Virtual
Windows
PRIMEROS PASOS EN JAVA

PRIMEROS PASOS EN JAVA


Java Development Kit (JDK) y NetBeans 8.0.1
El JDK proporciona un conjunto de herramientas bsicas para el
desarrollo de aplicaciones en java. Se puede descargar
gratuitamente desde la Pagina Web de Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
PRIMEROS PASOS EN JAVA

Instalacin del JDK y Netbeans 8.0.1

https://www.youtube.com/watch?v=lTc0wlE8lVM

You might also like