Sie sind auf Seite 1von 48

UTN FICA - CISIC

Programacin I

Marco R. Pusd, ING.


Ingeniero en Sistemas Computacionales mrpusda@utn.edu.ec

Comunicndose con el computador

Lenguaje Humano

Aplicacin

(software)

Sistema Operativo

(Software)
Lenguaje Binario

Hardware

ALGORITMOS
OBJETIVOS
Conocer la terminologa propia de la disciplina Definir y comprender claramente conceptos especficos de algoritmos y programas Introducirse en la notacin algortmica y a la forma de solucionar los problemas de programacin

INTRODUCCIN
CONCEPTOS PREVIOS
Informtica: Conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico de la informacin por medio de computadoras electrnicas. Computadora: mquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lgicas y aritmticas, y proporcionar la informacin resultante a travs de un medio de salida

ALGORTIMOS
INTRODUCCION
Un ordenador por s slo no es capaz de hacer nada. Hace falta la ayuda de un programador. El programador es que programa las instrucciones necesarias al ordenador para realizar una tarea Algoritmo: Conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema.

Motivacin
OBJETIVO GENERAL DE LA ASIGNATURA Resolver problemas bsicos a travs de la construccin de programas basados en algoritmos y un lenguaje de programacin, generando acciones hacia la bsqueda de propuestas pertinentes.

APRENDIZAJES ESPERADOS (COMPETENCIAS)


Descompone un problema en sub-problemas para darle una solucin ms sencilla. Interpreta algoritmos y programas para la solucin de problemas bsicos de programacin. Construye algoritmos y programas para la solucin de problemas bsicos de programacin. Trabaja colaborativamente, cumpliendo un rol y responsabilizndose de l. Comprende el entorno de las situaciones problemticas que tienen un componente informtico.
6

Dato
La palabra proviene del latn datum, forma del verbo dare dar, que significaLo que es dado

Representacin de una informacin de manera adecuada para su tratamiento por un ordenador

Dato
Son representaciones objetos, hechos, conocimientos.
Ejemplos 15 25 C 25 m 31-10-2005 Febrero Mara Prez

simblicas de instituciones,

Informacin
Los datos organizados o procesados adquieren significado y proporcionan conocimiento o desencadenan un comportamiento sobre los hechos u objetos que lo originaron

La informacin se resumen en : Datos + significado

Informacin
Un grupo de datos es informacin Datos: 19- Marzo Maria 20 ptos. Informacin: El 19 de marzo se public en acta la calificacin de 20 ptos para Mara

El principal objetivo de la informacin consiste en aumentar el conocimiento o reducir la incertidumbre.

Informacin
Ejemplos
Juan tiene 15 aos 25 C fue la temperatura de esta maana. El edificio Robles mide 25 m de altura

La fecha de hoy es 31-10-2005


Febrero tiene 28 das y 29 si el ao es bisiesto. Mara Prez es un nombre muy comn

Problema
Es un asunto o un conjunto de cuestiones que se plantean para ser resueltas. La naturaleza de los problemas vara con el mbito o el contexto: problemas matemticos, qumicos, filosficos, etc. Es importante que al abordar un problema se tenga una descripcin simple y precisa del mismo, de lo contrario resultara complejo modular, simular, o programar su solucin en un ordenador.

Programador
Un programador es una persona que resuelve problemas, y para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemtico

Problema

Diseo Algoritmo

Anlisis

Programa

Problema
Algunos de los pasos para solucionar un problema son: Anlisis: consiste en el estudio detallado del problema. Se debe identificar los datos de entrada, de salida y la descripcin del problema. Diseo del algoritmo, que describe la secuencia ordenada de pasos que conduce a la solucin de un problema dado.

Expresar el algoritmo como un programa en un lenguaje de programacin adecuado (Fase de Codificacin)

Ejecucin y validacin del programa por el computador

Algoritmo
Etimologa: Proviene del nombre del matemtico persa Mohammed Al-khowanzmi, cuyo apellido traducido al latn es Algorismus Conjunto de acciones que especifican la secuencia de operaciones a realizar, en orden, para resolver un problema Los algoritmos son independientes tanto del lenguaje de programacin como del computador que los ejecuta.

Algoritmo
Finito:
Un algoritmo siempre debe terminar despus de un nmero finito de pasos Si se sigue un algoritmo dos veces se debe obtener el mismo resultado Indicar exactamente el orden de realizacin de las instrucciones El algoritmo tiene que ser exacto, es decir datos exactos.

Definido:

Preciso:

Exacto:

Algoritmo
Ejemplo tradicional de un algoritmo: Cambiar la rueda pinchada de un coche

Algoritmo
1.Buscar herramientas, rueda de repuesto y tringulo de sealizacin 2.Ubicar el tringulo en el lugar adecuado 3.Ir al lugar de la rueda averiada 4.Sacar las tuercas 5.Colocar el gato

6.Levantar el coche

Algoritmo
7. Sacar la rueda averiada

8. Colocar la rueda de Repuesto


9.Colocar las tuercas 10.Retirar el gato 11.Apretar las tuercas 12.Guardar las herramientas FIN

Ejercicio
Elaborar un algoritmo que permita calcular el proceso para medir un litro de agua teniendo 2 recipientes no graduados de 21/2 litros y 2 litros. (Describa los pasos)

Solucin
1. 2. 3. 4. 5. 6. 7. 8. Inicio Llenar el recipiente de 21/2 litros Recolectar o poner el agua en el recipiente de 2 litros Vaciar el recipiente de 2 litros y poner el sobrante de agua del recipiente de 21/2 litros. Llenar nuevamente el recipiente de 21/2 litros Vaciar este contenido en el de 2 litros La cantidad de agua sobrante en el recipiente de 21/2 litros es la cantidad o el litro perdido Fin

Proceso
Datos de Entrada Proceso Informacin

Numricos

Enteros (Integer) Ejemplo: 4, 6,-15,-10 Reales (Float, Double) Ejemplo: 0.8, 27.03 Carcter (Char) Ejemplo: a, G,$,6 Cadenas(String) Ejemplo: Algoritmos

Caracter

Lgicos

Verdadero Falso

Operadores
OPERADOR Divisin Multiplicacin Suma Resta Divisin en Modulo (Residuo) Incremento Decremento Potenciacin SIMBOLO / * + % a/b 3*2 x+y a-b 5 % 3 => 2 EJEMPLO

++ -^, raiz

i++ => (i=i+1) i-- => (i=i-1) 2^3

Algoritmo
Fases de Desarrollo de un Algoritmo

Fase
Anlisis Diseo Codificacin Compilacin Interpretacin Pruebas

Producto
Especificacin Algoritmo Programa

Prog. Ejecutable
Aplicacin

Algoritmo
Fase de Anlisis: consiste en el estudio detallado del problema con el fin de obtener una serie de documentos (especificacin) en los cuales quedan totalmente definido el proceso a seguir en la automatizacin

Estudio detallado

Documentos de Especificacin

Algoritmo
Diseo: consiste en la realizacin del algoritmo que resuelve el problema de acuerdo a la especificacin dada en la fase anterior. El algoritmo se representa mediante pseudocdigo.

Algoritmo PRUEBA Inicio

Variables
A,B,C: entero Leer(A,B) CA+B Escribir (C)

Documentos de Especificacin

Fin

Algoritmo
Codificacin: consiste en la traduccin del algoritmo a un programa escrito en un lenguaje de programacin

Algoritmo Sumar Inicio Variables A,B,C: entero Leer(A,B) CA+B

Escribir (C)
Fin Programa escrito en un Lenguaje de Programacin

Algoritmo
Compilacin/Interpretacin: consiste en obtener el programa ejecutable_objeto a partir del programa fuente.

Programa Ejecutable Programa fuente

Algoritmo
Prueba: consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de l.

Programa Ejecutable

Aplicacin

Lenguajes de programacin
Lenguaje: conjunto de reglas y convenciones que se utilizan para comunicar informacin. Lenguaje de Programacin: es un lenguaje que permite la traduccin de un algoritmo para que sea entendible por el computador. Son los lenguajes utilizados para escribir programas de ordenadores.

Tipos de Lenguaje de Programacin: LenguajedeMquina LenguajedeBajoNivel(Ensamblador) LenguajedeAltoNivel LenguajedeCuartaGeneracin LenguajeWebOrientadoaobjetos

Lenguaje de mquina
Son aquellos que estn escritos en lenguaje directamente inteligibles por la mquina, ya que sus instrucciones son cadenas binarias (0s ,1s) que especifican una operacin.

Las instrucciones en lenguaje mquina dependen Hardware de la computadora, difiere de una PC a otra.

del

La ventaja de los lenguajes mquina es que ofrecen mayor velocidad de ejecucin. Existen algunas desventajas: dificultad y lentitud en la codificacin, poca fiabilidad, los programas no son portables.

Ejemplo Lenguaje Mquina


11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 00101011 00101011 11001010 11001010 11110101 00101011 11001010 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 00101011 00101011

Lenguaje de bajo nivel


Son lenguajes que permiten escribir programas con instrucciones similares al lenguaje humano.

Son ms fciles de utilizar que los lenguajes de mquina, pero stos tambin dependen de la mquina en particular.
El mejor ejemplo es el lenguaje ensamblador Un programa escrito en lenguaje ensamblador requiere una fase de traduccin. Entre las desventajas tenemos: que este lenguaje depende de la mquina y demanda una mayor exigencia para los programadores, ya que deben conocer tanto las tcnicas de programacin as como el interior de la mquina

Ejemplo Lenguaje Ensamblador


;HOLA.ASM ST ACK SEGMENTST ACK ;Segmentodepila DW 64DUP(?) ;Defineespacioenlapila ST ACK ENDS

DA T A SEGMENT ;Segmentodedatos SALUDO DB "Holamundo!!",13,10,"$";Cadena DA T A ENDS


INICIO: ;Puntodeentradaalprograma MOVAX,DA T A ;PonedireccinenAX MOVDS,AX ;Poneladireccinenlosregistros MOVDX,OFFSETSALUDO ;Obtienedireccindelmensaje MOVAH,09H ;Funcin:Visualizarcadena INT 21H ;Servicio:FuncionesaltonivelDOS MOVAH,4CH ;Funcin:T erminar INT 21H CODE ENDS ENDINICIO ;MarcafinydefineINICIO

Lenguaje de alto nivel


Son los ms utilizados por los programadores

Son independientes de la mquina Los programas escritos en estos lenguajes son portables Aumento de la ocupacin de la memoria
Las estructuras sintcticas de los programas se basan en reglas

Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi, Java, C, vbnet,.

Lenguaje de cuarta generacin


Son utilizados para crear aplicaciones mediante asistentes, el cdigo se realiza automticamente dependiendo del lenguaje seleccionado

Ejemplos: Oracle portal, Genexus, Scrolla, etc.

Lenguajes web
Son utilizados para crear aplicaciones para ser utilizados en redes o internet. Crean aplicaciones para comercio electrnico, chats, correo electrnico, etc.. Ejemplos: asp, jsp, php, ruby, etc

Etapas de programacin

CdigoFuente Modificacindel programafuente Compilador


APLICACIN

Erroreslxicos Tiempodecompilacin

Erroreslgicos Tiempodepruebas

Existen BUENA No Errores PROGRAMACIN

Cdigoobjeto Linkado/ Interpretacin

Existen Errores No

Programa Ejecutable Erroresdeejecucin


Tiempodeejecucin

Existen Errores

Pruebas

PSEUCODIGO
Es la representacin de un algoritmo mediante una descripcin de pasos consecutivos que utiliza palabras especiales o reservados. Inicio Fin Leer Escribir Si Entonces Sino Mientras Repetir Para

Diseo de Algoritmos
VARIABLES Son los valores que van cambiando a medida que se ejecutan los programas. Ejemplo: y = y + c CONSTANTES Son los valores que no cambian durante le ejecucin de un programa. Ejemplo: Inters= 0.18 IDENTIFICADORES Son los nombres de las variables o constantes que son identificadas por el algoritmo o lenguaje de programacin, constan de uno o mas caracteres. Ejemplo: a, sum, var1, cadena

Diseo de Algoritmos
CONTADOR Se llama as a una variable que aumenta y disminuye en una cantidad exacta. Ejemplo: i=i+1, i=i+2, i=i-1 ACUMULADOR Es cuando una variable va aumentando progresivamente sus valores. Ejemplo: sum=sum+m; se tendr este tipo de variables cuando se hallan en las dos partes separadas por el igual

Diseo de Algoritmos
PALABRAS RESERVADAS Se llaman a todas las palabras propias del lenguaje de programacin Inicio Si Fin Entonces Leer Sino Escribir Mientras RepetirPara Entero Cadena

Ejemplo Algoritmo
PROGRAMA SUMA VARIABLES a,b,c:numero INICIOprograma ESCRIBIR("SUMA DE DOS NUMEROS") leer("INGRESE EL PRIMER NUMERO",a) leer("INGRESE EL SEGUNDO NUMERO",b) c=a+b escribir("EL RESULTADO ES ",c) FINprograma

SENTENCIA SI - SINO
Sirve para comprobar una o varias condiciones y si el resultado de ellas es verdadero entonces se procesa un bloque de sentencias, caso contrario otros bloques de sentencias sucesivamente

Condicin

Verdadero
Hace algo

Falso
Hace otras operaciones

SENTENCIA SI - SINO
Son condiciones validas aquellas que estn compuestas por 2 variables o valores y un operador relacional2 aceptado por el lenguaje de programacin

OPERADOR Mayor que Menor que Mayor o igual Menor o igual Igual Diferente

SIMBOLO > < >= <= == !=

EJEMPLO

3>2 a<b 3>=a c<=2 a==b c!=2

Sintaxis SI - SINO
Si (condicin) entonces Sentencias Fin Si Si (condicin) entonces Sentencias Sino Sentencias Fin Si Si (condicin) entonces Sentencias Sino Si (condicin) entonces Sentencias Sino Sentencias Fin Si Fin Si

Operadores Lgicos
AND (Y) OR (O)

NEGADO (NOT)!

Gracias por su atencin...!!

Das könnte Ihnen auch gefallen