Documente Academic
Documente Profesional
Documente Cultură
Unidad 4 Introduccin a la Programacin 4.1.- Clasificacin del software 4.2.- Conceptos de la programacin 4.3.- Datos 4.4.-Operadores, operandos y expresiones 4.5.- Prioridad de operadores, evaluacin de expresiones 4.6.- estructura bsica de un programa 4.7.- proceso de creacin de un ejecutable
- Sistema operativo
Sistema operativo, software bsico que controla una computadora. El sistema operativo tiene tres grandes funciones: coordina y manipula el hardware del ordenador o computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el Mouse; organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnticas, y gestiona los errores de hardware y la prdida de datos. Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la interpretacin de los comandos que permiten al usuario comunicarse con el ordenador. Algunos intrpretes de instrucciones estn basados en texto y exigen que las instrucciones sean tecleadas. Otros estn basados en grficos, y permiten al usuario comunicarse sealando y haciendo clic en un icono. Por lo general, los intrpretes basados en grficos son ms sencillos de utilizar. Los sistemas operativos pueden ser de tarea nica o multitarea. Los sistemas operativos de tarea nica, ms primitivos, slo pueden manejar un proceso en cada momento. Por ejemplo, cuando la computadora est imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresin. Todos los sistemas operativos modernos son multitarea y pueden ejecutar varios procesos simultneamente. En la mayora de los ordenadores slo hay una UCP; un sistema operativo multitarea crea la ilusin de que varios procesos se ejecutan simultneamente en la UCP. El mecanismo que se emplea ms a menudo para lograr esta ilusin es la multitarea por segmentacin de tiempos, en la que cada proceso se ejecuta individualmente durante un periodo de tiempo determinado. Si el proceso no finaliza en el tiempo asignado, se suspende y se ejecuta otro proceso. Este intercambio de procesos se denomina conmutacin de contexto. El sistema operativo se encarga de controlar el estado de los procesos suspendidos. Tambin cuenta con un mecanismo llamado planificador que determina el siguiente proceso que debe ejecutarse. El planificador ejecuta los procesos basndose en su prioridad para minimizar el retraso percibido por el usuario. Los procesos parecen efectuarse simultneamente por la alta velocidad del cambio de contexto. -
- Lenguaje de programacin del software Lenguaje de programacin, en informtica, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qu es y qu no es un lenguaje de programacin. Se asume generalmente que la traduccin de las instrucciones a un cdigo que comprende la computadora debe ser completamente sistemtica. Normalmente es la computadora la que realiza la traduccin. Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas binarias. Dar una instruccin a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de seales se denomina cdigo mquina. El cdigo representa normalmente datos y nmeros e instrucciones para manipularlos. Un modo ms fcil de comprender el cdigo mquina es dando a cada instruccin un mnemnico, como por ejemplo STORE, ADD o JUMP. Esta abstraccin da como resultado el ensamblador, un lenguaje de muy bajo nivel que es especfico de cada microprocesador. Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son a menudo difciles de aprender. Ms importante es el hecho de que los programas escritos en un bajo nivel son prcticamente especficos para cada procesador. Si se quiere ejecutar el programa en otra mquina con otra tecnologa, ser necesario reescribir el programa desde el principio.
Intrpretes y compiladores La traduccin de una serie de instrucciones en lenguaje ensamblador (el cdigo fuente) a un cdigo mquina (o cdigo objeto) no es un proceso muy complicado y se realiza normalmente por un programa especial llamado compilador. La traduccin de un cdigo fuente de alto nivel a un cdigo mquina tambin se realiza con un compilador, en este caso ms complejo, o mediante un intrprete. Un compilador crea una lista de instrucciones de cdigo mquina, el cdigo objeto, basndose en un cdigo fuente. El cdigo objeto resultante es un programa rpido y listo para funcionar, pero que puede hacer que falle el ordenador si no est bien diseado. Los intrpretes, por otro lado, son ms lentos que los compiladores ya que no producen un cdigo objeto, sino que recorren el cdigo fuente una lnea cada vez. Cada lnea se traduce a cdigo mquina y se ejecuta. Cuando la lnea se lee por segunda vez, como en el caso de los programas en que se reutilizan partes del cdigo, debe compilarse de nuevo. Aunque este proceso es ms lento, es menos susceptible de provocar fallos en la computadora. En conclusin un compilador es aquel que traduce todas las instrucciones, las almacena en un lenguaje llamado maquina para posteriormente verificar si esta bien o esta mal, al programa realizado en lenguaje de alto nivel se le llama programa fuente y al resultado de traduccin se le llama programa objeto. Ejemplo: Solucin. Cpp --- programa fuente Solucin .bak --- programa de respaldo de la maquina Solucion.exe--- programa objeto
4.3.- Datos.
Definicin de Dato: Un dato es la unidad o cantidad mnima de informacin no elaborada, sin sentido en s misma, pero que convenientemente tratada se puede utilizar en la realizacin de clculos o toma de decisiones. Es de empleo muy comn en el mbito informtico.
Arreglos (Vectores, Matrices) Estructurados Registros (Def. por el Archivos usuario) Apuntadores
Tipos de Datos Simples Datos Numricos: Permiten representar valores escalares de forma numrica, esto incluye a los nmeros enteros y los reales. Este tipo de datos permiten realizar operaciones aritmticas comunes. Datos Lgicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparacin entre otros datos (numricos o alfanumricos). Datos Alfanumricos (String): Es una secuencia de caracteres alfanumricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar nmeros como alfanumricos, pero estos pierden su propiedad matemtica, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas. Ejemplo: Instituto Tecnolgico del Istmo 1997
4.3.3.- Identificadores
Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posicin en la memoria de la computadora, que nos permite accesar a su contenido.
Ejemplo:
Reglas para formar un Identificador Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben contener espacios en blanco. Letras, dgitos y caracteres como la subraya ( _ ) estn permitidos despus del primer carcter. La longitud de identificadores puede ser de hasta 8 caracteres.
Constantes y Variables Constante: Una constante es un dato numrico o alfanumrico que no cambia durante la ejecucin del programa. Ejemplo: pi = 3.1416 Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecucin de un proceso, su contenido puede cambia durante la ejecucin del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: rea = pi * radio ^ 2 Las variables son : el radio, el rea y la constate es pi
Por su Uso
Por su Contenido
Variable Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo: iva=0.15 pi=3.1416 costo=2500 Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparacin entre otros datos. Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y caracteres especiales). Ejemplo: letra=aapellido=lopez direccion=Av. Libertad #190 Por su Uso
Realizado por: Ing. Jorge Eloy Toledo Coronel
Variables de Trabajo: Variables que reciben el resultado de una operacin matemtica completa y que se usan normalmente dentro de un programa. Ejemplo: suma=a+b/c Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operacin o se cumple una condicin. Con los incrementos generalmente de uno en uno. Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente
4.3.4.- Almacenamiento, direccionamiento y representacin en memoria 4.3.5.- Sistema de numeracin binaria y hexadecimal
4.4.- Operadores u operandos.
Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores.
Tipos de Operadores
Operadores Aritmticos: Los operadores aritmticos permiten la realizacin de operaciones matemticas con los valores (variables y constantes). Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. Operando (Operador) Operando Valor (constante o variable)
Operadores Aritmticos + Suma Resta * Multiplicacin / Divisin Mod Modulo (residuo de la divisin entera)
1.- ^ Exponenciacin 2.- *, /, mod Multiplicacin, divisin, modulo. 3.- +, - Suma y resta. Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a derecha. Ejemplos: 4 + 2 * 5 = 14 23 * 2 / 5 = 9.2 3 + 5 * (10 - (2 + 4)) = 23 3.5 + 5.09 - 14.0 / 40 = 5.09 2.1 * (1.5 + 3.0 * 4.1) = 28.98 Operadores Relacinales:
46 / 5 = 9.2 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
Se utilizan para establecer una relacin entre dos valores. Compara estos valores entre si y esta comparacin produce un resultado de certeza o falsedad (verdadero o falso). Los operadores relacinales comparan valores del mismo tipo (numricos o cadenas) Tienen el mismo nivel de prioridad en su evaluacin. Los operadores relacinales tiene menor prioridad que los aritmticos. Operadores Relacinales > < >= <= <> = Ejemplos: Si a = 10 Mayor que Menor que Mayor o igual que Menor o igual que Diferente Igual
b = 20
a+b>c a-b<c a-b=c a*b<>c Ejemplos no lgicos: a<b<c 10 < 20 < 30 T < 30 Operadores Lgicos:
Estos operadores se utilizan para establecer relaciones entre valores lgicos. Estos valores pueden ser resultado de una expresin relacional. Operadores Lgicos And Y Or O Not Negacin no
Operador And (Y):En esta tabla se observa que su resultado ser verdadero si ambos operandos o expresiones son verdaderos; en cualquier otros caso ser falso. P 0 0 1 1 Q 0 1 0 1 P AND Q 0 0 0 1
Operador Or: En esta operacin el resultado siempre ser falso si ambos operandos son falsos en los demas casos ser verdadero.
P 0 0 1 1
Q 0 1 0 1
P OR Q 0 1 1 1
Estas tablas de verdad son nicamente para dos operandos o condiciones. Pero se pueden obtener tablas para mas de dos condiciones aplicando las reglas bsicas de las tablas anteriores. Por ejemplo: Operador Not: Este operador niega el valor de las condiciones de manera que si el valor de P es verdadero NOT P es falso y si P es falso NOT P es verdadero. P 0 0 1 1 Q 0 1 0 1 NOT P 1 1 0 0
10
3.- *, /, Mod, Not 4.- +, -, And 5.- >, <, > =, < =, < >, =, Or
Ejemplos: a = 10 b = 12 c = 13 d =10 1) ((a > b)or(a < c)) and ((a = c) or (a > = b)) F T F F T and F F
2)
3)
11
float min(float,float); float max(float,float); //definicin de funciones float f(float x) { return x*x; } float min (float a, float b) { float aux=10000000; float x; for (x=a;x<=b;x+=(b-a)/50) if (f(x)<aux) aux=f(x); return aux; } float max (float a, float b) { float aux=0; for (float x=a;x<=b;x+=(b-a)/50) if (f(x)>aux) aux=f(x); return aux; }
#include <iostream.h> /** Archivo en el que se encontrar la funcin main.**/ //incluyo la declaracin de las funciones min y max como externas y globales al programa extern float min(float,float); extern float max(float,float); //funcin ppal del programa void main (void) { cout<<"Vamos a integrar la funcin x^2 \n"; cout<<"Introduce el intervalo que quieras integrar \n"; float i,f,sumainf=0,sumasup=0; cin>>i>>f; for(float x=i;x<f;x+=(f-i)/10000) { sumainf=min(x,x+(f-i)/10000)*(f-i)/10000+sumainf; sumasup=max(x,x+(f-i)/10000)*(f-i)/10000+sumasup; } cout<<"La integral vale "<<(sumasup+sumainf)/2; }
12 definieran dichas funciones y en los archivos en los que estn se utilizaran, evitando de esta manera tener que repetir la declaracin de las funciones cada vez que quisiramos utilizarlas en un archivo, de esta manera nuestro programa anterior quedara como sigue... //declaracin de funciones float f(float); float min(float,float); float max(float,float);
#include <iostream.h> /** Archivo en el que se encontrar la funcin main.**/ //incluyo la declaracin de las funciones min y max como externas y globales al programa #include "func.h" //funcin ppal del programa void main (void) { cout<<"Vamos a integrar la funcin x^2 \n"; cout<<"Introduce el intervalo que quieras integrar \n"; float i,f,sumainf=0,sumasup=0; cin>>i>>f; for(float x=i;x<f;x+=(f-i)/10000) { sumainf=min(x,x+(f-i)/10000)*(f-i)/10000+sumainf; sumasup=max(x,x+(f-i)/10000)*(f-i)/10000+sumasup; } cout<<"La integral vale "<<(sumasup+sumainf)/2;
13
El modelo de compilacin de C ++ En la siguiente figura se muestran las distintas etapas que cubre el compilador para obtener el cdigo ejecutable.
Modelo de compilacin de C.
El preprocesador
El preprocesador acepta el cdigo fuente como entrada y es responsable de: quitar los comentarios interpretar las directivas del preprocesador las cuales inician con #.
Por ejemplo: #include -- incluye el contenido del archivo nombrado. Estos son usualmente llamados archivos de cabecera (header). Por ejemplo: o #include <math.h> -- Archivo de la biblioteca estndar de matemticas. o #include <stdio.h> -- Archivo de la biblioteca estndar de Entrada/Salida. #define -- define un nombre simblico o constante. Sustitucin de macros. o #define TAM_MAX_ARREGLO 100
14
Compilador de C
El compilador de C traduce el cdigo fuente en cdigo de ensamblador. El cdigo fuente es recibido del preprocesador.
Ensamblador
El ensamblador crea el cdigo fuentei o los archivos objeto. En los sistemas con UNIX se podrn ver los archivos con el sufijo .o .
Ligador
Si algn archivo fuente hace referencia a funciones de una biblioteca o de funciones que estn definidas en otros archivos fuentes, el ligador combina estas funciones (con main()) para crear un archivo ejecutable. Las referencias a variables externas en esta etapa son resueltas.