La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1.

Presentaciones similares


Presentación del tema: "Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1."— Transcripción de la presentación:

1 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1

2 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter Introduction to Computers and Programming 1

3 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Why Program? 1.1

4 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 4 Why Program? Computer – Máquina programable diseñada para seguir instrucciones. Un equipo (“device”) el cual puede almacenar, obtener y procesar data. Program – Instrucciones en la memoria de la computadora que permite hacer algo (resolver un problema). Computer Program – Una secuencia de instrucciones a ser ejecutadas por una computadora. Programmer – Persona que escribe las instrucciones (programas) que permiten a la computadora ejecutar tareas. Programming – Planificar la ejecución de una tarea o evento. Computer programming Computer programming – El arte de planificar una secuencia de pasos para que una computadora los ejecute. Sin programadores no hay programas. Sin programas una computadora no puede hacer nada.

5 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 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 TRES FASES EN LA PROGRAMACIÓN

6 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 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. TRES FASES EN LA PROGRAMACIÓN(2)

7 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley PRODUCIÓN EXE DATA SOURCE REPORT TEMP PRUEBA EXE DATA SOURCE REPORT TEMP CONCEPTOS DE INSTALACIÓN Y EJECUCIÓN DE PROGRAMAS EN UN SISTEMA COMPUTARIZADO

8 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Systems: Hardware and Software NO SE VA A DISCUTIR EN CLASE 1.2

9 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Programs and Programming Languages 1.3

10 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 10 Programs and Programming Languages Un programa es un conjunto de instrucciones que la computadora sigue para poder ejecutar una tarea. Un algoritmo es un conjunto de pasos bien definidos.

11 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 11 Ejemplo de un algoritmo para calcular el salario bruto

12 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Un Algoritmo traducido a diferentes lenguajes

13 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Un Algoritmo traducido por diferentes personas

14 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 14 Machine Language Aunque se definan los pasos de lo que queremos hacer, esto no es suficiente para que lo pueda ejecutar la computadora. Esto se debe a que la computadora sólo ejecuta instrucciones en lenguaje de máquina.

15 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 15 Machine Language Machine language – Trabaja con número binarios tales como: 1011010000000101 Como es muy dificil programar a ese nivel, los programadores utilizan llos lenguajes de programación.

16 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 16 Programs and Programming Languages Tipos de lenguajes: Low-level: Se utiliza para comunicarse con el hardware directamente. En muchas ocasiones se escribe en código binario (0’s/1’s). High-level: Lenguaje similar al humano.

17 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 17 Some Well-Known Programming Languages

18 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 18 From a High-level Program to an Executable File a) Crear el archivo que contiene el programa con un editor de texto. b) Correr el preprocessador para convertir el archivo fuente (source) a un código completo con sus rutinas y librerías. c) Se corre el compilador para convertir el programa fuente en instrucciones de máquina. d) Se corre el linker para conectar el código que está relacionado directamente con el hardware que va a utilizar el programa y de este modo se crear el programa ejecutable. e) Los pasos b al d en muchas ocasiones se ejecuta por un solo comando o un clic a un botón. Cualquier error que se detecte en estos pasos hace que la compilación se cancele.

19 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 19 From a High-level Program to an Executable File Source Code Preprocessor Modified Source Code Compiler Object Code Linker Executable Code

20 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley COMPILACIÓN Crear el “source program” Invocar el compilador Arreglar los errores. Errores ? El compilador crea el “object program” A Y N

21 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley COMPILACIÓN (CONT.) El “object program” se convierte a un formato ejecutable. (“machine language”) Para poder ejecutarse, el programa tiene que cargarse (“loading”) a memoria. A B

22 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley EJECUTAR 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. B

23 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley PLATAFORMAS Los lenguajes de alto nivel permiten que un programa pueda ejecutarse en diferentes plataformas.

24 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 24 Integrated Development Environments (IDEs) Integrated development environment(IDE) - Combina todas herramientas necesarias para escribir, compilar y hacer debug a un programa de alguna aplicación. Ejemplos son: Microsoft Visual C++, Borland C++ Builder, CodeWarrior, etc.

25 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 25 Integrated Development Environments (IDEs)

26 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 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.

27 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 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.

28 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley COMPILADOR 1.Si no están todas las instrucciones escritas corretamente, no se podrá ejecutar. 2.El compilador esta atado a la plataforma en la que está generando el “object program”. INTERPRETADOR 1.Las instrucciones se ejecutan en promedio mas lentas que las del compilador. 2.La forma de comunicar al programador los errores podría no ser tan claros como los mensajes que suele enviar el compilador. COMPILADOR VS INTERPRETADOR – DESVENTAJAS

29 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 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 instrucciones 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.

30 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 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.

31 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 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”.

32 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 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.

33 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley What Is a Program Made Of? 1.4

34 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 34 What Is a Program Made Of? Elementos comunes en los lenguajes de programación: Key Words Programmer-Defined Identifiers Operators Punctuation Syntax

35 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 35 Program 1-1 1 // This program calculates the user's pay. 2 #include 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout > hours; 12 13 // Get the hourly pay rate. 14 cout > rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 }

36 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 36 Key Words También se conocen como reserved words Tienen un significado especial en C++ No se pueden utilizar para otro propósito Algunos ejemplos del Programa1-1: using, namespace, int, main, double, and return.

37 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 37 1 // This program calculates the user's pay. 2 #include 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout > hours; 12 13 // Get the hourly pay rate. 14 cout > rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 } Key Words

38 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 38 Programmer-Defined Identifiers Nombres creados por el programador. No son parte del lenguaje C++ Use utilizan para representar varias cosas: variables(localizaciones de memoria), funciones, etc. ejemplos del Programa 1-1: hours, rate, and pay.

39 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 39 1 // This program calculates the user's pay. 2 #include 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout > hours; 12 13 // Get the hourly pay rate. 14 cout > rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 } Programmer-Defined Identifiers

40 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley IDENTIFIERS Los “identifiers” se utilizan en C++ para nombrar cosas tales como sub-programas, variables, constantes, etc. Se compone de letras (A-Z, a-z) y de dígitos (0-9) y el “underscore” (_). Sin embargo, debe empezar con una letra o con el “underscore”. Los que comienzan con el “underscore”, tienen un significado especial en algunos compiladores de C++, de modo que siempre comenzaremos con letras. Ejemplos de “identifiers válidos 1.suma_de_cuadrados 2.J9 3.ObtenerDatos 4.Contador 5.Bin3D4

41 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley IDENTIFIERS INVÁLIDOS IDENTIFIER INVÁLIDO Explicación 40Horas No puede comenzar con números. Obtener Datos No se permiten espacios en blanco. box-22 El guión (“hyphen”) no es válido. costo_en_$ No se pueden utilizar símbolos especiales como el signo de dolar. int La palabra “int” es una palabra reservada en C++.

42 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley QUIZZ # 1– DETERMINE SI ES VÁLIDO O INVÁLIDO24 IDENTIFIERVÁLIDO/INVÁLIDO (Razón) say_what eres_#_1 return Buscar pacoAmigoGrande 5Veces habichuela Colora dude cuajito-con-guineo Main

43 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley IDENTIFIERVÁLIDO/INVÁLIDO (Razón) say_what Válido eres_#_1 Inválido – Signo “#” return Inválido – Palabra reservada Buscar Válido pacoAmigoGrande Válido 5Veces Inválido – Comienza con un número. habichuela Colora Inválido – Espacio en blanco. dude Válido cuajito-con-guineo Inválido – Uso del guión. Main Válido QUIZZ # 1– RESPUESTAS

44 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 44 Operators Se utilizan para ejecutar operaciones en los datos. Existen muchos tipos de operadores: Aritméticos: +,-,*,/ De asignación: = Algunos operadores del Programa1-1: > = *

45 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 45 Operators 1 // This program calculates the user's pay. 2 #include 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout > hours; 12 13 // Get the hourly pay rate. 14 cout > rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 }

46 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 46 Punctuation Caracteres que marcan el final de un enunciado (statement) o que separan items de una lista. Ejemplo del Programa 1-1:, y ;

47 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 47 1 // This program calculates the user's pay. 2 #include 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout > hours; 12 13 // Get the hourly pay rate. 14 cout > rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 } Punctuation

48 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 48 Syntax Las reglas de gramática que deben seguirse cuando se escriben los programas. Controla el uso de palabras reservadas (key words), operadores, símbolos definidos por el programador y puntuación.

49 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 49 Variables Una variable es un nombre de localización en la memoria de la computadora para almacenar un dato. En el Programa 1-1 se usan 3 variables: hours – Almacena las horas trabajadas. rate – Almacena el salario por hora. pay – Almacena el sueldo bruto.

50 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 50 Variable Definitions Para poder crear una variable en un programa, se debe escribir una definición de variable (también llamado variable declaration) El enunciado del Programa 1-1 que define las variables son: double hours, rate, pay;

51 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 51 Variable Definitions Existen muchos tipos diferentes de datos que se van a enseñar en el curso. Una variable posee un tipo de dato en específico. En la definición de la variable, se especifica el tipo de dato que la variable puede tener y su nombre.

52 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 52 Variable Definitions De nuevo, line 7 from Program 1-1: double hours, rate, pay; La palabra double especifica que la variable puede almacenar un dato numérico flotante de doble precisión.

53 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Input, Processing, and Output 1.5

54 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 54 Input, Processing, and Output Three steps that a program typically performs: 1) Gather input data: from keyboard from files on disk drives 2) Process the input data 3) Display the results as output: send it to the screen write to a file

55 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Programming Process 1.6

56 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 56 The Programming Process

57 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley FORMAS DE TRABAJAR UN PROBLEMA Método que se utilizará durante el curso.

58 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley LAS ESTRUCTURAS DE CONTROL I.Secuencia II.Selección (IF) III.Ciclo (LOOP) IV.Sub-programa V.CASE (no ilustrada) VI.Evento (EVENT)

59 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Procedural and Object-Oriented Programming 1.7

60 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 60 Procedural and Object-Oriented Programming Procedural programming - Se enfoca en el proceso. Procedures/functions – Se escriben para procesar datos. Object-Oriented programming – Se enfoca en objetos, los cuales contienen datos y los medios de manipularlos. Se envían mensajes a los objetos para ejecutar operaciones.

61 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley VOCABULARIO

62 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.Documentación 1.Documentación – Texto escrito y comentarios que hacen que el programa sea fácil para otros de entender. 2.Información 2.Información –Cualquier conocimiento que puede ser comunicado. 3.Data 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 - 1

63 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley VOCABULARIO - 2 1.Machine language 1.Machine language – Instrucciones codificadas en binario (ceros y unos) que la puede utilizar directamente la computadora. 2.Assembly language 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 3.Assembler – Programa que traduce de “assembly” a “machine language”. Ejemplo: Assembly Language Machine Language ADD100101 MOV010011

64 Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley VOCABULARIO - 3 1.Compiler 1.Compiler – Programa que valida primero un programa de alto nivel (“high level”) y luego lo traduce a “machine code”. 2.Interpretador 2.Interpretador – Programa que traduce las intruciones de un programa de alto nivel línea por línea. 3.Source program 3.Source program – Un programa escrito en lenguaje de alto nivel. Ejemplo: C++, COBOL, PASCAL, RPG 4.Object program 4.Object program – La versión en “machine language” del “source program”.


Descargar ppt "Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1."

Presentaciones similares


Anuncios Google