Laboratorio de Lenguajes de Programación I
UNIDAD I
Unidad Académica de Ingeniería Eléctrica
Objetivo
El alumno aprenderá técnicas para desarrollar la lógica en la construcción de programas
utilizando el lenguaje C. A través de teoría y explicaciones de las sentencias básicas de
todo lenguaje de programación y será capaz de realizar programas con la metodología de descomposición de arriba-abajo (top down),
programación estructurada.
Contenido
I. Introducción
II. Elementos del lenguaje C
III. Estructuras de control
IV. Arreglos y cadenas
V. Apuntadores
Contenido
I. Introducción
II. Elementos del lenguaje C
III. Estructuras de control
IV. Arreglos y cadenas
V. Apuntadores
Introducción
1.1 Componentes esenciales de un computador.-
El alumno definirá conceptos básicos y será capaz de distinguir los componentes esenciales de las Tecnologías de la Información y Comunicación.
Dispositivos de entrada
Introducción
Dispositivos de salida
CPU
Memoria ROM
Introducción
Memoria RAM
Memoria Secundaria
Introducción
Hardware Software
Introducción
Software de sistema.- Al software de sistemas pertenecen los
programas cuya finalidad es servir a otros programas y ejecutar funciones
comunes para todos los usuarios de la computadora. Ejemplo: sistemas
operativos , compiladores , ensambladores , cargadores, manejadores de bases de
datos, etc.
Introducción
Software de aplicación.- es el software específico para
aplicaciones particulares de los usuarios de un sistema de cómputo.
Introducción
Normalmente, en la codificación del
software de aplicación no se utiliza un
lenguaje de bajo nivel, sino que se
codifican en lenguajes de alto nivel y
se traducen ya sea por compiladores o
por intérpretes
Sistema Operativo.- Se trata del software (programa) encargado de gestionar el ordenador. Es la aplicación que oculta la física real del ordenador para mostrarnos un interfaz que permita al usuario un mejor y más fácil manejo de la computadora.
Introducción
Windows. A día de hoy el Sistema Operativo más popular (instalado en el 95% de computadoras del mundo). Es un software propiedad de Microsoft por el que hay que pagar por cada licencia de uso.
Introducción
Linux. Sistema operativo de código
abierto. Posee numerosas distribuciones (muchas de
ellas gratuitas) y software adaptado para él (aunque sólo el
15% de ordenadores tiene instalado algún sistema Linux).
Introducción
Fundamentalmente su éxito está
en grandes máquinas o servidores.
Actualmente las distribuciones
Linux más conocidas son: Red
Hat, Fedora (versión gratuita
de Red Hat), Debian, Ubuntu
(variante de Debian de libre
distribución), Mandriva y SUSE.
MacOs. Sistema operativo de los ordenadores MacIntosh.
Apple inició la revolución de la computadora personal en los años 70s con la Apple II y reinventó la computadora personal en los años 80s con la Macintosh. Hoy, Apple continua liderando la industria innovando con sus galardonadas computadoras, sistema operativo OS X y las aplicaciones iLife y profesionales. Apple, además, encabeza la revolución de medios digitales con su línea de reproductores de música iPod y la tienda de música digital en línea iTunes, e incursiona en el mercado de la telefonía móvil con su revolucionario iPhone.
Introducción
Unix. Sistema operativo muy robusto para gestionar redes de todos los tamaños. Actualmente en desuso debido al uso de Linux (que está basado en Unix), aunque sigue siendo muy utilizado para gestionar grandes redes (el soporte sigue siendo una de las razones para que se siga utilizando)
Solaris. Versión de Unix para sistemas Sun.
Introducción
Interfaz de línea de comandos.- Es una manera de interactuar con la computadora en el cual los comandos son introducidos como textos (secuencia de caracteres) a través del teclado, y la salida es recibida también como texto.
Introducción
Interfaz de usuarios: GUI Es una manera de interactuar con la computadora a
través de la manipulación directa de imágenes gráficas.
Introducción
GUI despliega elementos visuales tales como íconos, ventanas, menús en los cuales el usuario solamente va seleccionando dando un clic o doble clic, dependiendo de sus necesidades.
1.2
Tendencias
de los
Lenguajes de
Programació
n
Introducción
Clasificación de los lenguajes de programación :
Según el nível de abstracción
Según la forma de ejecución
Según el paradigma de programación que poseen cada uno de ellos.
Introducción
1.3 Generación de las Computadoras
Introducción
Primera Generación: (1951-1958)
• Tarjetas perforadas• Bulbos• Tambores
magnéticos• Lentas y grandes• Leng. Máquina• Costosas• Monopolio:IBM
1.3 Generación de las Computadoras
Introducción
Segunda Generación: (1956-1964)
• Transistores• Núcleos magnéticos• Más rápidas• Más pequeñas• Leng. Fortran, cobol• Aplicaciones: sistemas de
reservaciones, control tráfico, inventario, nómina, contabilidad.
1.3 Generación de las Computadoras
Introducción
Tercera Generación: (1967-1971)
• Circuitos integrados• Más rápidas• Más pequeñas• Menos calor• Más eficientes• Cintas magnéticas• Multiprogramación• Compatibilidad con
equipo mayor• Minicomputadora• Leng.programación : alto
nivel
1.3 Generación de las Computadoras
Introducción
Cuarta Generación: (1971-1981)
• Microprocesador• Más rápidas• Más pequeñas• Chips de memoria• Cintas magnéticas• Multiprogramación• Microminiaturización• Computadoras personales• Avances tecnológicos en
corto tiempo.• Apple, radio Shack,
commodore, etc.• Sistema operativo MS-
DOS• Interfaces gráficas
1.3 Generación de las Computadoras
Introducción
Quinta Generación: (1982-1989)
• Computadoras en Paralelo
• Lenguajes programación: orientado a objetos
• Nuevos modelos de memoria que asignan tareas a cada procesador.
• Microporcesadores en paralelo reconocen voz e imágenes.
• Aplicaciones: Procesamiento de lenguaje natural, sistemas expertos, redes neuronales, algoritmos genéticos, fibras ópticas, etc.
• World Wide Web
1.3 Generación de las Computadoras
Introducción
Quinta Generación: (1982-1989)
• Computadoras en Paralelo
• Lenguajes programación: orientado a objetos
• Nuevos modelos de memoria que asignan tareas a cada procesador.
• Microporcesadores en paralelo reconocen voz e imágenes.
• Aplicaciones: Procesamiento de lenguaje natural, sistemas expertos, redes neuronales, algoritmos genéticos, fibras ópticas, etc.
• World Wide Web
1.3 Generación de las Computadoras
Introducción
Sexta Generación: (1990 hasta la fecha)
• Arquitecturas combinadas: Paralelo/Vectorial con cientos de microprocesadores.
• Realiza un millón de millones de operaciones aritméticas x seg.
• Redes WAN• Crecen los medios de
comunicación: fibras ópticas, satélites.
• Inteligencia artificial distribuida, teoría del caos, sistemas difusos, holografía, transistores ópticos, etc.
1.4 Tipos de Lenguajes: Código de máquina
El ordenador sólo puede ejecutar instrucciones
en un lenguaje muy simple conocido como código
máquina.
Programar en ese lenguaje es muy complejo.
Ejemplo, sumar 5+2 podría ser algo como
1001011000101010
Introducción
1.4 Tipos de Lenguajes: Ensamblador
Es código escrito en un lenguaje que tiene
representación exacta en el código máquina.
Cada programa creado en ensamblador sirve
para una sola máquina (no es portable).
Muy difícil de escribir.
Introducción
1.4 Tipos de Lenguajes: Alto nível
Los lenguajes de alto nivel se alejan de la
máquina y se parecen más al pseudocódigo
Se escriben programas que luego habrá que
ensamblar para convertirles en código máquina
Son portables.
Introducción
1.5 Lenguajes: Interpretes
El intérprete es un software capaz de interpretar
instrucciones escritas en un lenguaje de alto
nivel.
Interpretan el código línea a línea de la primera a
la última
Optimizan menos el código
Introducción
1.5 Lenguajes: Compilado
Software que traduce un programa pero
interpretando todo el código a la vez.
El código es más eficiente.
Se tarda más en ejecutar el resultado.
Introducción
1.6 Sistemas de Numeración
Sistemas no posicionales.
Sistemas posicionales1. Decimal
2. Binario
3. Octal
4. Hexadecimal
Introducción
Introducción
1.6 Sistemas de Numeración
Sistema numérico de base 10 (decimal)
Ejemplo: 2134 = (2x103) + (1x102) + (3x101) + (4x100)
Introducción
1.6 Sistemas de Numeración
Sistema numérico de base 2 (binario)
Ejemplo: 101102 = (1 x 24 = 16) + (0 x 23 = 0) + (1 x 22 = 4) + (1 x 21 = 2) + (0 x 20 = 0) = 22 (16 +
0 + 4 + 2 + 0)
Introducción
1.6 Sistemas de Numeración
Sistema numérico de base 8 (octal)
Ejemplo: 1228 = (1 x 82 = 64) + (2 x 81 = 16) + (2 x 80 = 2) = 82
Sistema numérico de base 15 (hexadecimal)
Introducción
Introducción
Introducción
Introducción
Introducción
Introducción
Introducción1.7.- Programa, Algoritmo y Diagrama de flujo
• Programa: conjunto de instrucciones ejecutables por un ordenador.
• Algoritmo: es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
• Diagrama de flujo: Representación gráfica de un algoritmo.
Símbolo Función
Proceso Cualquier tipo de operación que origine cambio de valor, formato, posicion de la informacion almacenada en memoria, operaciones aritmeticas, de transferencia, etc.
Entrada/Salida Cualquier tipo de de introduccion de datosen la memoria desde los perifericos”entrada”o registros de informacion procesadaen un periferico de salida
Impresora Se utiliza en ocaciones en lugar del simbolo de entradaa/salida
Llamada a subrutina, funcion o procedimiento; este es un modulo independiente del programa principal, que recibe una entrada procedente de dicho programa , realiza una tarea determinada y regresa al terminar al propgrama principal
Monitor Pantalla ; en ocaciones se utiliza en lugar de simbolo de entrada / salida
Proceso: DecisiónIndica operaciones logicas o de comparacionentre datos- normalmente entre dos y en funcion del resultado, determina cual de los dos caminos alternativos se debe seguir; normalmente tiene dos salidas- respuestas si o no.
ConectorSirve para enlazardos partes cualesquiera de un organigrama a traves de un conector de salida y otro en la entrada. En la misma pagina del diagrama
Conector Conexión entre dos puntos del organigrama situados en paginas diferentes
Teclado En ocaciones se utilisa en lugar del simbolo de entrada/salida
Sím
bolo
s d
el
dia
gra
ma d
e f
lujo
Introducción1.7.- Programa, Algoritmo y Diagrama de flujo
Reglas para el trazado de Diagrama de Flujo
1. Solo líneas rectas horizontales y verticales.2. Evitar que las líneas se crucen.3. A cada símbolo debe llegar solo 1 línea.4. Todas las líneas deben terminar en algún
símbolo.5. Debe leerse de arriba-abajo y de izquierda a
derecha.
Introducción1.7.- Fases para la resolución de un problema en computadora
Introducción1.7.- Fases para la resolución de un problema en computadora
ANÁLISIS
Introducción1.7.- Fases para la resolución de un problema en computadora
DISEÑO
Introducción1.7.- Fases para la resolución de un problema en computadora
Introducción1.7.- Fases para la creación de un programa
Cargador
CPU
Disco
Enlazador Disco
Compilador Disco
Preprocesador Disco
EditorDisco
El programa se crea en el editor y se almacena en disco
El programa preprocesador procesa el código
El compilador crea el código objeto y lo almacena en disco.
El enlazador relaciona el código objeto con las bibliotecas, crea a.out y lo almacena en disco.
El cargador coloca el programa en memoria
La CPU toma cada instrucción y la ejecuta, posiblemente
almacena nuevos valores de datos mientras el programa se
ejecuta.
Memoria Principal
Memoria Principal
Top Related