You are on page 1of 21

UNIVERSIDAD POPULAR DEL CESAR

PROGRAMACION II
Docente

JAIRO FRANCISCO SEOANES LEON


Ing. Sistemas Universidad Popular del Cesar
Aspirante a Magister en Ingeniera de Sistemas y Computacin
Universidad nacional de Colombia Universidad Popular del Cesar

Contenido del Curso


Tema 0 Repaso General (Programacin estructurada y Algoritmos)

PORQUE APRENDER TECNICAS DE PROGRAMACION


CONCEPTOS A TENER EN CUENTA
LENGUAJE DE MAQUINA, ENSAMBLADOR Y DE ALTO NIVEL
LENGUAJES COMPILADOS E INTERPRETADOS
PARADIGMAS DE PROGRAMACION
INTRODUCCION A C
ESTRUCTURA DE UN PROGRAMA
TIPO DE DATOS
OPERADORES

EJERCICIOS

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Porque Aprender Lenguajes y Tcnicas de Programacin ?


Que es un problema ? Se tiene un problema cuando se desea encontrar uno o varios
objetos desconocidos (ya sean estos nmeros, smbolos, diagramas, figuras, u otras
cosas), que cumplen condiciones o relaciones, previamente definidas, respecto a uno
o varios objetos conocidos.
Pasos Para Solucionar un Problema ?
1 - Anlisis del problema y Especificacin del problema
2 - Diseo del algoritmo
3 - Prueba del algoritmo y refinamiento
4 - Codificacin
5 - Ejecucin y validacin del Programa

Para poder utilizar el ordenador como una


herramienta para resolver problemas
eficazmente.
JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Problema ?
Un granjero tiene cincuenta animales entre conejos y gansos. Si la cantidad de
patas de los animales es ciento cuarenta, cuntos conejos y cuntos gansos
tiene el granjero? .

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Conceptos a Tener en Cuenta ?


Que es Un Algoritmo ?
Series de pasos a seguir para solucionar un Problema

Que es un Lenguaje de Programacin?


Conjunto de Palabras, smbolos y reglas utilizadas para controlar las operaciones a
realizar en una computadora (ej., C/C++, Java, Php, C#).
Que es Un Programa ?
Secuencias de Instrucciones escritas en un lenguaje de programacin, que resuelven
un problema.
Que es Una Instruccin ?
Orden dada al computador para que ejecute una operacin.

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Paso del Problema al Programa ?

Inicio
<instruccin 1>
<instruccin 2>
<instruccin 3>
.
.
<instruccin n>

Fin

Problema

Algoritmo
(Pseudocodigo Diagrama de Flujo)

Programa

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Lenguaje de maquina, Ensamblador y de Alto Nivel ?


Lenguaje de Maquina: Es el nico lenguaje que entiende el hardware (mquina) y
usa exclusivamente el sistema binario (ceros y unos). Este lenguaje es especfico
para cada hardware (procesador, dispositivos, etc.). El programa (tanto cdigos de
instruccin como datos) es almacenado en memoria

Dependientes de la Maquina
Dificiles de comprender por los Humanos

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Lenguaje de maquina, Ensamblador y de Alto Nivel ?


Lenguaje Ensamblador: Es un lenguaje que usa mnemnicos (palabras cortas
escritas con caracteres alfanumricos), para codificar las operaciones. Los datos y/o
direcciones son codificados generalmente como nmeros en un sistema
hexadecimal.

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Lenguaje de maquina, Ensamblador y de Alto Nivel ?


Lenguaje De Alto Nivel: Es un lenguaje basado en una estructura gramatical para
codificar estructuras de control y/o instrucciones.

Cuenta con un conjunto de palabras reservadas (escritas en lenguaje natural).


Permiten el uso de smbolos aritmticos y relacionales
Representan las cantidades numricas mediante sistema decimal.

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Lenguaje Compilado, Lenguaje Interpretado?


Compilador: toman todo el programa en lenguaje de alto nivel, lo pasan a lenguaje
ensamblador y luego lo ejecutan (FORTRAN, C, C++)
Interprete: Toman instruccin por instruccin y la ejecutan (PHP, PERL, PYTHON)

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Del Algoritmo al Programa Ejecutable?

Inicio
<instruccin 1>
<instruccin 2>
<instruccin 3>
.
.
<instruccin n>

Fin

Codificacin

Algoritmo

# include
void main(){
Int x;
Int y;
Printf(xxx);
}

Cdigo Fuente

Compilacin

0001 0000
1110 1111
1001 0100
0111 0011
1100 1010
1111 0000

Programa Ejecutable

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Tcnicas o Paradigmas de Programacin?


En la historia de la programacin se ha dado una evolucin en la forma de
programar, que ha aumentado la productividad, minimizando la complejidad y
facilitando la correccin de errores.

Programacin
Lineal o
Convencional

Programacin
Estructurada

Programacin
Modular

Programacin
Orientada a
Objetos

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Programacin Lineal o Convencional?


El nico objetivo es que el programa funcione. El resultado Es un
programa con un bloque de programa indiviso que utiliza saltos y
rutinas entremezcladas.

Cdigo Muy Poco Claro


Contos elevados en recurso
Dificultad Para depurar Errores
Dificultad Para el Mantenimiento
Dificultad Para Las Modificaciones

Tcnica Insostenible

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Programacin Estructurada ?
Consiste en la utilizacin de estructuras de control bsicas.
Secuencial
Condicional (if, if-else, switch)
Iterativa (while, do-while, for)

Los Programas tienen claramente un inicio y un final.


El flujo del programa es nico: De arriba hacia Abajo
Los programas grandes siguen siendo muy dificiles de manejar

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Programacin Modular ?
Con la idea Divide y Vencers . Se divide el programa en otros
mas sencillos llamados mdulos. Cada modulo lleva a cabo una
tarea especifica, y debe existir obligatoriamente un modulo
principal.

Descomposicin del programa en subprogramas


Se facilita la correccin, modificacin y actualizacin de cdigo
Se pueden verificar los subprogramas por separado
Los programas son mas claros
Cada persona puede crear un subprograma

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Programacin Orientada a Objetos?


Tcnica de programacin mas utilizada en la actualidad.

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Estructura de un Programa en C / C++?

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Ejemplo de un Programa en C / C++?

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Tipos de Datos en C / C++?

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Operadores Matemticos en C / C++?

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR

Tema 0 Repaso General (Programacin estructurada y Algoritmos)

Operadores Matemticos en C / C++?

JAIRO F. SEOANES LEON PROGRAMACION II UNIVERSIDAD POPULAR DEL CESAR