Sie sind auf Seite 1von 27

Introduccin a la Computacin

Captulo 2:
Resolucin de problemas utilizando la
computadora

Programa
Es un conjunto ordenado de instrucciones que se le
dan a la computadora para que luego las interprete
y ejecute.
Una instruccin es un conjunto de datos estructurados que
el procesador interpreta y ejecuta.

Ejemplo de programa en VBA:


Sub PrimerPrograma()
nombre = InputBox("Ingrese su nombre:")
MsgBox "Hola " & nombre
End Sub
2

Lenguaje de programacin
Es un conjunto de signos y reglas que permite la
comunicacin con un computador.
Por ejemplo:
En Pascal: write(Escriba su nombre);
En C:
printf( "Escriba su nombre: " );
En VBA:
MsgBox Escriba su nombre"

Tipos de Lenguaje de Programacin


1) Lenguaje de Mquina (Lenguajes de primera
generacin)
Sus instrucciones, que dependen del hardware de la
computadora, son cadenas binarias (0s y 1).
2) Lenguaje de Bajo Nivel (Lenguajes de segunda
generacin)
Depende de la mquina en que se ejecutar. El lenguaje de
bajo nivel por excelencia es el ENSAMBLADOR.
3) Lenguajes de Alto Nivel
Su sintaxis es ms cercana al lenguaje humano que el
cdigo del lenguaje mquina o ensamblador.

Paradigmas de programacin
Un paradigma es un estilo de programacin que se caracteriza por una
serie de conceptos dominantes.

Programacin imperativa: basada en comandos que actualizan variables.


Variables, comandos y procedimientos.

Programacin orientada a objetos: objetos, clases y subclases, herencia


y polimorfismo.

Programacin concurrente: procesos y comunicacin.

Programacin funcional: expresiones, funciones y datos.

Programacin lgica: asertos y relaciones.

Scripting.

Compilacin

Cdigo fuente

Programa ejecutable
Ejecutar

https://www.facebook.com/mylittlemoonstor
e

Compilador
Resultado de la ejecucin
6

Interpretacin

Intrprete
Cdigo fuente

Resultado de la ejecucin
7

Compilacin vs Interpretacin
Compilacin

Interpretacin

El programa escrito en un
lenguaje de alto nivel se
convierte a un lenguaje de
mquina.

No hay necesidad de convertir


el programa escrito en un
lenguaje de alto nivel a lenguaje
de mquina.

El programa en alto nivel no


se ejecuta, se ejecuta el
programa en lenguaje de
mquina convertido
previamente.

El programa en alto nivel no se


ejecuta, se ejecuta un programa
denominado intrprete quien
procesa programas en un
lenguaje de alto nivel como si
fueran datos de entrada.

Compilacin-interpretacin

Cdigo fuente

Cdigo intermedio

Resultado de la ejecucin

Compilador

Intrprete

Etapas de desarrollo de un problema


Fase 1: Anlisis

Anlisis: Se identifica y entiende una necesidad


o problema. Qu?
Diseo: Se disea la lgica de la solucin.
Cmo?

Fase 2:
Diseo del sistema

Fase 3: Desarrollo

Desarrollo o codificacin: Se escribe el


programa en un lenguaje de programacin y se
depura.
Implementacin: Instalacin del software.

Fase 4:
Implementacin

Fase 5:
Mantenimiento

Mantenimiento: correcciones o mejoras.


Adicionalmente se consideran etapas como la
documentacin que debera realizarse a lo
largo de todo el proceso.

10

Anlisis
Leer detalladamente y comprender el problema antes de
empezar a buscar una solucin.
Identificar lo que se pide: Requerimientos.
Elaborar una especificacin detallada del problema.
Identificar y detallar las entradas (Input).
Identificar y detallar las salidas (Output).
Requerimiento del procesamiento (cmo?).
Especificar supuestos generales si los hubiera.

11

Ejemplo

Calcular el rea de un tringulo, si se conoce


sus tres lados (a, b, c)
Anlisis
Datos de Entrada: lados del tringulo (a, b, c)
Datos de Salida: rea del tringulo (rea)
La frmula para calcular el rea de un tringulo conociendo sus lados es
la siguiente:

area

p * ( p a ) * ( p b) * ( p c )

donde p es el semipermetro del tringulo


12

Ejemplo
Se puede utilizar la tcnica del diseo descendente
para el anlisis del problema.
Hallar_Area_Triangulo

Leer_Lados

Hallar_SemiPerimetro

Mostrar_Area

13

Ejemplo
Se puede utilizar la tcnica del diseo descendente
para el anlisis del problema.
Hallar_Area_Triangulo

Hallar_SemiPerimetro

Calcular_Area

14

Anlisis
Cmo saber qu alternativa seleccionar?

La eleccin de la alternativa depender de la complejidad del


problema y de la independencia que existe entre los mdulos.
Al crear los mdulos, debe tener en cuenta que stos deben ser:
Reutilizables, que se pueden usar repetidas veces.
Transportables, que puedan ser utilizados en la solucin de
otro problema.

Independientes, que se encarguen de resolver una tarea


especfica sin interferir en otras partes del problema.
Simples de mantener (revisar, modificar, mejorar)

15

Diseo: Algoritmo
Es un conjunto de instrucciones definidas,
ordenadas y finitas que permite realizar un proceso
mediante pasos sucesivos para lograr un resultado
deseado. Se cuentan con datos iniciales que
siguiendo el algoritmo conducen a obtener una
solucin expresada en los datos finales.
Un algoritmo se puede representar de diversas
formas por ejemplo utilizando lenguaje natural,
pseudocdigo o diagramas de flujo.

16

Representacin de un algoritmo:
Algoritmo
Proceso FreirUnHuevo
Si frito Entonces
Freir
Sino
Hervir
FinSi
Si salado Entonces
AgregarSal
FinSi
ServirPlato
FinProceso

17

Ejemplo
Hallar_Area_Triangulo
Leer_Lados

Hallar_SemiPerimetro

Mostrar_Area

Diseo: (descripcin de los mdulos)


Mdulo Principal

18

Ejemplo
Mdulos de Segundo Nivel

19

Ejemplo
Hallar_Area_Triangulo
Hallar_SemiPerimetro

Calcular_Area

Diseo: (descripcin de los mdulos)


Mdulo Principal

20

Ejemplo
Mdulos de Segundo Nivel

21

Heurstica
Es un conjunto de pasos para encontrar una o ms
posibles soluciones a un problema.
Estas soluciones no sern necesariamente las
mejores.

22

Entornos de desarrollo
Un entorno de desarrollo integrado o en ingls
Integrated Development Environment (IDE) es un
programa compuesto por un conjunto de
herramientas para un programador.
Un IDE es un entorno de programacin que ha sido
empaquetado como un programa de aplicacin, es
decir, consiste en un editor de cdigo, un
compilador, un depurador y un constructor de
interfaz grfica GUI.
23

Entorno de desarrollo
Facilidades que nos ofrecen los entornos de
programacin

Editores de textos,
Depuradores de cdigo,
Integracin con compiladores/interpretes,
Asistentes para creacin de programas,
Entre otros.

24

Ejemplo
Sub Area_Triangulo()
Call Leer_Lados(a, b, c)
p = Hallar_Semi_Perimetro(a, b, c)
area = (p * (p - a) * (p - b) * (p - c)) ^ (1 / 2)
Mostrar_Area (area)
End Sub
Sub Leer_Lados(a, b, c)
a = Range("A2")
b = Range("B2")
c = Range("C2")
End Sub
Function Hallar_Semi_Perimetro(a, b, c)
p = (a + b + c) / 2
Hallar_Semi_Perimetro = p
End Function
Sub Mostrar_Area(area)
Range("D3") = "El rea del tringulo es " & area
End Sub

25

Ejemplo
Sub Area_Triangulo()
a = Range("A2")
b = Range("B2")
c = Range("C2")
p = Hallar_Semi_Perimetro(a, b, c)
area = Calcular_area(p, a, b, c)
Range("D3") = "El rea del tringulo es " & area
End Sub

Function Hallar_Semi_Perimetro(a, b, c)
p = (a + b + c) / 2
Hallar_Semi_Perimetro = p
End Function
Function Calcular_area(p, a, b, c)
Calcular_area = (p * (p - a) * (p - b) * (p - c)) ^ (1 / 2)
End Function

26

Bibliografa
Peter Norton. (2006). Introduccin
Computacin. Mxico D.F.: Mc Graw Hill.

la

27