INTRODUCCION

Download Report

Transcript INTRODUCCION

INTRODUCCION
C++
Preparado por: Nelliud D. Torres
Enero/2003
Versión 1.0
LAS TRES FASES DE IMPLEMENTACIÓN
I.
Problem-Solving
a) Entender el problema (definirlo) y lo que
la solución debe ser.
b) Crear una secuencia de pasos que
resuelvan el problema.
c) Verificar los pasos para asegurarse que la
solución realmente resuelve el problema
LAS TRES FASES DE IMPLEMENTACIÓN (2)
II. Implementation Phase
a) Concretar la solución (programa). Convertir el
algoritmo a un lenguaje de programación.
b) Probar el programa y corregir los errores si es
que tiene.
III. Maintenance Phase
a) Utilizar el programa en producción.
b) Modificar el programa para que se atempere a
los nuevos requerimientos o para arreglar
errores de programación.
CONCEPTOS DE INSTALACIÓN Y EJECUCIÓN
DE PROGRAMAS EN UN SISTEMA
COMPUTARIZADO
PRODUCIÓN
PRUEBA
EXE
DATA
SOURCE
REPORT
TEMP
EXE
DATA
SOURCE
REPORT
TEMP
VOCABULARIO
1. Programming – Planificar la ejecución de una tarea o
evento.
2. Computer – Un equipo (“device”) el cual puede
almacenar, obtener y procesar data.
3. Computer program – Una secuencia de intrucciones
a ser ejecutadas por una computadora.
4. Computer programming – El arte de planificar una
secuencia de pasos para que una computadora los
ejecute.
Un Algoritmo traducido a diferentes lenguajes
Algoritmo
(Pseudocódigo)
C++
JAVA
ADA
COBOL
Un Algoritmo traducido por diferentes personas
Algoritmo
(Pseudocódigo)
Fulanito
C++
Menganita
C++
Sutanito
C++
Minguita
C++
VOCABULARIO (2)
1. Documentación – Texto escrito y comentarios que
hacen que el programa sea fácil para otros de
entender.
2. Información –Cualquier conocimiento que puede ser
comunicado.
3. Data – Factores crudo almacenados de tal forma que
la computadora puede acederlos.
Ejemplo:
Data = Horas Trabajadas (40) Rate (5.55)
Información = Sueldo Bruto = 40 x 5.55 = $ 222.00
VOCABULARIO (3)
1. Machine language – Instrucciones codificadas en binario (ceros
y unos) que la puede utilizar directamente la computadora.
2. Assembly language – Lenguaje de programación de bajo nivel
(“low level”) que utiliza mnemónicos para representar cada una
de las intrucciones en “machine language” de una computadora
en particular.
3. Assembler – Programa que traduce de “assembly” a “machine
language”.
Ejemplo:
Assembly Language
Machine Language
ADD
100101
MOV
010011
VOCABULARIO (4)
1. Compiler – Programa que valida primero un programa
de alto nivel (“high level”) y luego lo traduce a “machine
code”.
2. Interpretador – Programa que traduce las intruciones de
un programa de alto nivel línea por línea.
3. Source program – Un programa escrito en lenguaje de
alto nivel. Ejemplo: C++, COBOL, PASCAL, RPG
4. Object program – La versión en “machine language” del
“source program”.
PLATAFORMAS
Programa en C++
WINDOWS PC
Compilador de C++
UNIX WORKSTATION
Compilador de C++
MACINTOSH
Compilador de C++
WINDOWS PC
Machine language
UNIX WORKSTATION
Machine language
MACINTOSH
Machine language
WINDOWS PC
Computadora
UNIX WORKSTATION
Computadora
MACINTOSH
Computadora
Los lenguajes de alto nivel permiten que un programa pueda
ejecutarse en diferentes plataformas.
COMPILACIÓN
Crear el
“source program”
Invocar el
compilador
Arreglar los
errores.
Y
Errores
?
N
El compilador
crea el
“object program”
A
COMPILACIÓN (CONT.)
A
El “object program”
se convierte a un
formato ejecutable.
(“machine language”)
Para poder ejecutarse,
el programa tiene
que cargarse (“loading”)
a memoria.
B
EJECUTAR
B
Datos de
Entrada
(“input”)
La computadora ejecuta
las instruciones que están en
“machinelanguage” del
“source program” compilado.
Se obtienen los
resultados de la
corrida del
programa.
COMPILADOR VS INTERPRETADOR
COMPILAR
1. Valida que todas las
intrucciones estén escritas
correctamente.
2. Convierte el “source
program” a “object
program”.
3. La computadora puede
ejecutar ese “object
program” una vez se
prepare para correr en
memoria.
INTERPRETAR
1. Valida cada línea por
separado.
2. Convierte esa línea a
“machine language” y la
ejecuta.
3. Prosigue con la próxima
instrucción y repite los
pasos 1 y 2.
4. En caso de encontrar una
instrucción mal escrita. El
interpretador aborta.
COMPILADOR VS INTERPRETADOR –
VENTAJAS
COMPILADOR
1. Se ejecuta mucho mas
rápido.
2. Te verifica la sintaxis de
todo el programa desde el
mismo principio.
INTERPRETADOR
1. Puede correr al momento
aunque existan errores, lo
cual permite al programador
depurar (“debug”) el
programa mas
eficientemente.
2. Comienza a ejecutarse con
mayor rapidez ya que no
tiene que esperar a validar
todas las intrucciones del
programa.
COMPILADOR VS INTERPRETADOR –
DESVENTAJAS
COMPILADOR
INTERPRETADOR
1. Si no están todas las
instrucciones escritas
corretamente, no se podrá
ejecutar.
1. Las instrucciones se ejecutan
en promedio mas lentas que
las del compilador.
2. El compilador esta atado a
la plataforma en la que
está generando el “object
program”.
2. La forma de comunicar al
programador los errores
podría no ser tan claros como
los mensajes que suele enviar
el compilador.
JAVA – LA EXCEPCIÓN
JAVA utiliza ambos conceptos del compilador y del interpretador.
Trabaja de la siguiente forma.
1. Un programa en JAVA es compilado, pero no en un
“machine language” de una computadora en particular,
sino en un código intermedio llamado “bytecode”
2. Luego, en cualquier plataforma, debe haber un programa
llamado “Java Virtual Machine” (JVM) que interpreta ese
código intermedio (“bytecode”) y lo traduce a
intrucciones que son exclusivas de esa plataforma (PC,
UNIX, MAC, etc.).
3. Esto permite que JAVA se pueda ejecutar en cualquier
plataforma sin la necesidad de recompilar el código.
DIAGRAMA DE JAVA
“Source program” hecho en JAVA.
Compilador de JAVA.
El compilador genera un código intermedio
llamado “bytecode”.
El JVM interpreta ese código intermedio
y lo ejecuta.
HISTORIA DE C++
1. A finales de los 60 y principio de los 70, Dennis Ritchi creo el
lenguaje de programación C en los laboratorios ATT&T Bell.
2. C combina capacidades de los lenguajes bajo nivel (“low level”)
con la facilidad de uso y portabilidad de los lenguajes de alto nivel
(“high-level”).
3. El 90 porciento del código UNIX es en C y solo el 10 porciento es
lenguaje “Asembly”.
4. Su nombre surge de otro lenguaje de la época llamado BCPL
(“Basic Combined Programming Lamguage”) al cual se le hacía
referencia como “B”. Dennis tomo capacidades de ese lenguaje y
penso que era natural, que el nuevo lenguage creado se llamara
“C”.
HISTORIA DE C++ (CONT.)
5. En 1985 Bjarne inventa C++ el cual tiene las
capacidades de C combinado con otros conceptos
modernos.
6. El símbolo ++ significa incrementación y por lo tanto
sugiere la idea de un lenguaje mejorado. Prefirieron
eso a llamar a este nuevo lenguaje “D”.
7. En 1988 se estandariza el C++ por una unión de dos
comites (ISO y ANSI). ISO = International Standard
Organization. ANSI = American National Standards
Institute.
LAS ESTRUCTURAS DE CONTROL
I.
Secuencia
II.
Selección (IF)
III. Ciclo (LOOP)
IV. Sub-programa
V.
CASE (no ilustrada)
VI. Evento (EVENT)
FORMAS DE TRABAJAR UN PROBLEMA
Problema
complejo
Sub-problema
fácil
Sub-problema
difícil
Sub-sub-problema
fácil
Sub-problema
fácil
Sub-sub-problema
fácil
Método que se utilizará durante el curso.