460 likes | 775 Views
Programación 1 (01) Prof . Flor Narciso ( fnarciso@ula.ve ) Prof. Domingo Hern ández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento ( GIDyC ) Escuela de Ingeniería de Sistemas Facultad de Ingeniería. Componentes de la computadora.
E N D
Programación 1 (01)Prof. Flor Narciso (fnarciso@ula.ve)Prof. Domingo HernándezDepartamento de ComputaciónGrupo de Ingeniería de Datos y Conocimiento (GIDyC)Escuela de Ingeniería de SistemasFacultad de Ingeniería
Componentes de la computadora Sistema computacional = Hardware + Software + Usuarios • Componentes físicos o equipo (hardware) • Componentes lógicos o programas (software) • Usuarios o personas Programación 1 SemestreB-2010 2
Software El software es un objeto abstractoasociado a un sistema de computación para: • Dar solución a un problema • Automatizar procesos de información y decisión • Satisfacer requisitos de un conjunto de usuarios Software = Programas + Datos + Documentación Programación 1 SemestreB-2010 3
Software vs. Programa Software Programa 1 Programa 2 ….. Programa n Sentencia 1 ….. Sentencia m Programación 1 SemestreB-2010 4
Lenguajes de Programación Lenguaje de programación: Notación que permite escribir programas • Léxico: Vocabulario Sintaxis: Reglas gramaticales • Semántica: Reglas que permiten determinar el significado de las sentenciadel lenguaje Creado por el ser humano para poder comunicarnos con las computadoras Programación 1 SemestreB-2010 5
Clasificación de los Lenguajes de Programación • Lenguaje de máquina: Lenguaje de programación que entiende directa-mente la computadora. Utiliza el alfabeto binario, es decir, el 0 y el 1 • 0001 0101 1000 0001 • 0001 0111 1000 0010 • 0001 0110 1000 0011 • Lenguaje ensamblador o de bajo nivel: Abreviaturas similares al inglés, llamadas instrucciones mnemotécnicas, que permiten represen-tar las operaciones elementales de la computadora LOAD A ADD B STORE C • Lenguaje de alto nivel: Son muy similares al lenguaje humano C = A + B SEGMENTO DE PROGRAMA Programación 1 SemestreB-2010 6
Lenguaje de Máquina Con estos dos únicos dígitos (0 y 1), conocidos como bits, se forma lo que se conoce como cadenas binarias (combinaciones de ceros y unos) con las que se escriben las instrucciones que el microprocesador de la computadora entiende. Fue el primer lenguaje de programación. Este tipo de lenguaje de programación dejó de utilizarse por su gran dificultad y por la facilidad para cometer errores Estas instrucciones son fáciles de leer por la computadora y difíciles por un programador, y viceversa • Operaciones básicas • Cargar datos desde la memoria • Almacenar datos en memoria • Operaciones aritméticas • Operaciones de comparación • 0001 0101 1000 0001 • 0001 0111 1000 0010 • 0001 0110 1000 0011 Programación 1 SemestreB-2010 7
Lenguaje Ensamblador o de Bajo Nivel Son mucho mas fáciles de utilizar que el lenguaje máquina, pero dependen mucho de la máquina o computadora como sucede con el lenguaje máquina LOAD A ADD B STORE C Todo programa escrito en un lenguaje ensamblador particular tendrá que ser reescrito si se va a ejecutar en otro tipo de computadora Fue el primer lenguaje de programación que trato de sustituir el lenguaje máquina por otro mucho más parecido al de los seres humanos Programación 1 SemestreB-2010 8
Lenguaje Ensamblador o de Bajo Nivel La computadora no entiende directamente lenguaje ensambladorpor lo que un programa escrito en este lenguaje tiene que ser traducidoa lenguaje de máquinapor un software llamado un ensambladorpara que pueda ser ejecutado por la computadora Programa escrito en lenguaje ensamblador (código fuente) Programa escrito en lenguaje de máquina (código objeto) Ensamblador LOAD A ADD B STORE C • 0001 0101 1000 0001 • 0001 0111 1000 0010 • 0001 0110 1000 0011 Programación 1 SemestreB-2010 9
Lenguaje de Alto Nivel Permite a los programadores escribir programas en un lenguaje mas familiar para ellos y que contiene notaciones matemáticas comúnmente utilizadas (independiente de la máquina) La programación es mas fácil para los programadores ya que no necesitan conocer la arquitectura de la computadora C = A + B Son independientes de la máquina, cualquier programa escrito en un lenguaje de alto nivel particular (que tiene una versión estandarizada) puede ser ejecutado en cualquier computadora Programación 1 SemestreB-2010 10
Lenguaje de Alto Nivel La computadora no entiende directamente lenguaje de alto nivel, por lo que un programa escrito en este lenguaje tiene que ser traducidoa lenguaje de máquinapor un programa llamado un compiladorpara que pueda ser ejecutado por la computadora Programa escrito en lenguaje de alto nivel (código fuente) Programa escrito en lenguaje de máquina (código objeto) Compilador C = A + B • 0001 0101 1000 0001 • 0001 0111 1000 0010 • 0001 0110 1000 0011 Programación 1 SemestreB-2010 11
Lenguaje de Alto Nivel Lenguajes de programación imperativos FORTRAN, BASIC, COBOL, C, PHP Lenguajes de programación declarativos PROLOG, LISP, SCHEME, Haskell, SQL Lenguajes de programación orientados por objetos Smalltalk Lenguajes de programación imperativos + orientado por objetos ADA, Java, C++, Pascal, Delphi, Ocalm, Perl Programación 1 SemestreB-2010 12
Lenguaje de Programación C Un poco de historia!! • Nació en los Laboratorios Bell de AT&T • Su desarrollo está estrechamente vinculado al del sistema operativo UNIX • Diseñado e implementado por Brian Kernighany Dennis Ritchieen 1973, a partir de los lenguajes BCPL (1967) y B (1970) Dennis RitchieBellLabs, Rm 2C-517 600 Mountain Ave. Murray Hill, New Jersey 07974-0636, USA http://inferno.bell-labs.com/who/dmr/ Brian Kernighan DepartmentofComputerScience Princeton University Princeton, NJ 08544 http://www.cs.princeton.edu/~bwk/ 13
Programación 1 SemestreB-2010 14
Lenguaje de Programación C • Lenguaje de nivel intermedio: Combina características de los lenguajes de alto nivel (sentencias de control y manipulación de datos) y de los lenguajes de bajo nivel (manejo de bits) • Independiente del hardware • Todo está constituido a base de funciones • Los programas escritos en C son fácilmente transportables a otros sistemas • Fácil de aprender • Programación estructurada Características Programación 1 SemestreB-2010 15
Lenguaje de programación C • Quick C • C++ • Turbo C • Turbo C ++ • Borland C • Borland C++ • Microsoft C • C# • Elementos sintácticos • Palabras reservadas • Identificadores • Delimitadores • Caracteres especiales • Comentarios Programación 1 SemestreB-2010 16
Lenguaje de programación C Las palabras reservadas El lenguaje C está formado por un conjunto pequeño de palabras clave (reservadas) o comandos (keywords) que tienen un significado especial para el compilador y están reservadas para uso especial del lenguaje de programación Programación 1 SemestreB-2010 17
Lenguaje de programación C Los identificadores Para dar un nombre a variables, constantes y funciones tenemos que usar un identificador. La longitud de un identificador puede variar entre uno y varios caracteres (letras y/o números), por lo general, 32. En la mayoría de los casos el primer carácter debe ser una letra o un símbolo de subrayado Cuenta ≠ cuenta Programación 1 SemestreB-2010 18
Lenguaje de programación C Los delimitadores Permiten al compilador separar y reconocer las diferentes unidades sintácticas del lenguaje Programación 1 SemestreB-2010 19
Lenguaje de programación C Los caracteres especiales Programación 1 SemestreB-2010 20
Lenguaje de programación C Los comentarios Permiten que el programador documente sus programas . Sirven para facilitar la legibilidad de un programa Programación 1 SemestreB-2010 21
Programas en C Los comentarios /* Ejemplo1.c Julio, 2010 Autores: Flor Narciso Domingo Hernández Sumar dos valores a y b, asignar el resultado a c */ intmain() { int a, b, c; /* Declaración de variables locales */ a = 3; b = 7; c = a + b; /* Calcular la suma */ return 0; } Programación 1 SemestreB-2010 22
Programas en C Sintaxis formal /* Comentarios iniciales */ Declaración de importaciones /* Opcional */ Definición de constantes /* Opcional */ intmain() { Declaración de variables locales/* Opcional */ Sentencias return 0; } Programación 1 SemestreB-2010 23
Programas en C Ejemplo /* ejemplo2.c Julio, 2010 Autores: Flor Narciso Domingo Hernández Imprime el mensaje "BIENVENIDO AL CURSO DE PROGRAMACIÓN 1” */ #include <stdio.h> // Declaración de importaciones intmain() { printf("BIENVENIDO AL CURSO DE PROGRAMACIÓN 1”); return 0; } Programación 1 SemestreB-2010 24
Lenguaje de programación C Programación 1 SemestreB-2010 25
Lenguaje de programación C Programación 1 SemestreB-2010 26
Programas en C Ejemplo /* ejemplo2.c Julio, 2010 Autores: Flor Narciso-Domingo Hernández Imprime el mensaje "BIENVENIDO AL CURSO DE PROGRAMACIÓN 1” */ #include <stdio.h> // Declaración de importaciones #define VALOR 34 // Definición de constante intmain() { printf("BIENVENIDO AL CURSO DE PROGRAMACIÓN 1”); return 0; } Programación 1 SemestreB-2010 27
Programación Estructurada • El proceso de diseño del algoritmo y posterior codificación del programa consiste en definir las acciones o sentencias que resolverán el problema • La programación estructurada es una forma de escribir programas de manera clara • La visión clásica de la programación estructurada se refiere al control de ejecución Programación 1 SemestreB-2010 28
Programación Estructurada Esta forma de programar se basa en un famoso teorema, desarrollado por EdsgerDijkstra (1930-2002), que demuestra que todo programa puede escribirse utilizando únicamente las tres estructuras básicas de control siguientes: Secuencial: el bloque secuencial de instrucciones, instrucciones ejecutadas sucesivamente, una detrás de otra Selección: la instrucción condicional con doble alternativa, de la forma "if condición then instrucción-1 else instrucción-2” Iteración: el bucle o lazo condicional "while condición do instrucción", que ejecuta la instrucción repetidamente mientras la condición sea verdadera Programación 1 SemestreB-2010 29
Estructuras secuenciales Se ejecutan en secuencia sin posibilidad que la sentencia siguiente a ejecutar pueda ser otra diferente de la que sigue en la secuencia Programación 1 SemestreB-2010 30
Definición de Estructuras Secuenciales Programación 1 SemestreB-2010 31
Sentencia de Entrada (Lectura) Permite leer determinados valores (datos de entrada) y asignarlos a determinadas variables. Los datos de entrada se introducen a la computadora mediante los dispositivos de entrada (teclados, unidades de disco,etc.) Leer (lista de variables de entrada) Leer(a) Leer(x, y) Leer (hora, minutos, segundos) Programación 1 SemestreB-2010 32
Sentencia de Entrada (Lectura) scanf("%<tipo_dato>",&<variable>); scanf(“%f”, &a); scanf(“%d %f”, &x, &y); scanf(“%d %d %d”, &hora, &minutos, &segundos); Notación en C ¿Qué es %<tipo_dato>? %d Si el dato que se leerá será un número entero %f Si el dato que se leerá será un número real %c Si el dato que se leerá será un carácter %s Si el dato que se leerá será una cadena Programación 1 SemestreB-2010 33
Sentencia de Entrada (Lectura) Ejemplo: Programa que calcula el número de días vividos 0. Inicio 1. Leer (edad) 2. edad = edad * 365 3. Fin /*Programa que calcula el numero de dias vividos*/ #include<stdio.h> intmain() { int edad; scanf(”%d",&edad); edad=edad * 365; return 0; } Programación 1 SemestreB-2010 34
Sentencia de Salida (Escritura) Permite escribir los resultados de un programa. La salida puede aparecer en un dispositivo de salida (pantalla, impresora, etc.) Escribir (mensajes y/o variables de salida) Escribir(“Hola”) Escribir(promedio1, promedio2) Escribir (“El resultado es”, resultado) Programación 1 SemestreB-2010 35
Sentencia de Salida (Escritura) printf(“Mensaje”); printf(“Mensaje \n”); printf(“valor = %<tipo_variable>”, variable); Notación en C ¿Qué es %<tipo_dato>? %d Si el dato que se leerá será un número entero %f Si el dato que se leerá será un número real %c Si el dato que se leerá será un carácter %s Si el dato que se leerá será una cadena Programación 1 SemestreB-2010 36
Sentencia de Salida (Escritura) Ejemplo: Programa que calcula el número de días vividos 0. Inicio 1. Escribir (“Introduce tu edad: ”) 2. Leer (edad) 3. edad = edad * 365 4. Escribir(“Has vivido”, edad, “dias”) 5. Fin /*Programa que calcula el numero de dias vividos*/ #include<stdio.h> intmain() { int edad; printf(“Introduce tu edad: ”); scanf("%i",&edad); edad=edad * 365; printf(“Has vivido %ddias”, edad); return 0; } Programación 1 SemestreB-2010 37
Sentencia de Asignación variable = valor constante x = 3; variable = variable x = y; variable = expresión x = (y + 1)/2; Leer (variable) scanf(“%d”, &x); Cuatro maneras de asignar valores a las variables !!! Programación 1 SemestreB-2010 38
RAIS: Seguimiento del Desarrollo del Producto Reunión semanal de trabajo y su informe ¿Qué ejecuto la compañía de la lista de acciones prometida en la última semana ¿Qué problemas y/o necesidades presenta el desarrollo del producto? ¿Qué tareas va la compañía a ejecutar para la semana próxima? ¿Qué ejecutó Usted de lo que la compañía se comprometió a realizar? Programación 1 SemestreB-2010 39