Академический Документы
Профессиональный Документы
Культура Документы
Unidad 3
Introduccin a la programacin de un lenguaje estructurado.
Introduccin a la programacin.
Se llama Programacin a la implementacin de un algoritmo en un determinado
lenguaje de programacin, para realizar un programa.
Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que
han de seguirse para resolver un problema.
Programa (Software en ingls) es una secuencia de instrucciones que una
computadora puede interpretar y ejecutar.
El proceso de creacin de software es materia de la ingeniera del software, una
de las ramas propias de la Ingeniera Informtica.
Segn Niklaus Wirth un programa est formado por algoritmos y estructura de
datos.
Se han propuesto diversas tcnicas de programacin, cuyo objetivo es mejorar
tanto el proceso de creacin de software como su mantenimiento. Entre ellas se
pueden mencionar la programacin lineal, estructurada, modular y orientada a
objetos.
Legibilidad: El programa deber ser claro y sencillo de tal forma que facilite
su lectura y compresin.
Fiabilidad: El programa debe ser claro y sencillo de tal forma que facilite su
lectura y compresin
Eficiencia: Se deben aprovechar al mximo los recursos del ordenador
minimizando la memoria utilizada y el tiempo de proceso o ejecucin siempre que
no sea a costa de las anteriores caractersticas.
Todas las instrucciones son elementales. Es decir en el programa se deben
describir al mximo detalle todas las instrucciones y operaciones que se han de
llevar a cabo en la mquina para la realizacin de cualquier proceso. Tanto el
lenguaje mquina cono el ensamblador presentan la ventaja de mnima ocupacin
en memoria y mnimo tiempo de ejecucin en comparacin con el resultado de la
compilacin de programa escrito en otros lenguajes.
Lenguaje de alto nivel: Surgen con posterioridad a los anteriores con los siguientes
objetivos.
Entrada de Datos:
La constituyen todas las instrucciones que toman los datos de entrada desde un
dispositivo externo y los almacena en la memoria principal para que puedan ser
procesados.
Proceso o algoritmo: Est formado por las instrucciones que modifican los objetos
a partir de su estado inicial (datos de entrada) hasta el estado final (resultados)
dejando los objetos que lo contiene disponibles en la memoria principal.
El teorema de Bhm y Jacopini (1966) dice que un programa propio puede ser
escrito utilizando slo tres tipos de estructuras de control:
Estructura secuencial
Una estructura de programa es secuencial si las instrucciones se ejecutan una tras
otra, a modo de secuencia lineal, es decir que una instruccin no se ejecuta hasta
que finaliza la anterior, ni se bifurca el flujo del programa.
Estructura selectiva o de seleccin
La estructura selectiva permite que la ejecucin del programa se bifurque a una
instruccin (o conjunto) u otra/s, segn un criterio o condicin lgica establecida,
slo uno de los caminos en la bifurcacin ser el tomado para ejecutarse.
>
Menor a
<
Mayor o igual a
>=
Menor o igual a
<=
Diferente a
~=
Operadores lgicos
Y (and)
&
O (or) |
No (not)
Exclusivo o (or)
xor
Tipos de datos.
En lenguajes de programacin un tipo de dato es un atributo de una parte de los
datos que indica al ordenador (y/o al programador) algo sobre la clase de datos
sobre los que se va a procesar.
Se usan para representar nmeros con partes fraccionarias. Hay dos tipos
de coma flotante: float y double. El primero reserva almacenamiento para un
nmero de precisin simple de 4 bytes y el segundo lo hace para un nmero de
precisin doble de 8 bytes.
Tipo:
float
Double
Que significa: "El valor ordinal de A es menor que el de a" o "A est antes
que a"
(3>2)= 1 = verdadero
(7>9)= 0 = falso
Palabra reservada
Identificadores
En Ruby una variable se considera automticamente como inmutable si su
identificador empieza con una letra mayscula.
Direccionamiento
La memoria principal de la computadora se divide en pequeas unidades de
tamao uniforme denominadas palabras, que tienen una direccin nica.
Cada una de stas palabras es capaz de almacenar una unidad de informacin
(como, por ejemplo, resultados numricos), y determina el nmero ms grande y
el ms pequeo que puede almacenar.
El tamao de la palabra depende de la computadora, pero siempre se especifica
en mltiplos de 8 bits. As, existen computadoras con tamaos de palabra de 8,
16, 32 y 64 bits.
Cada palabra de la memoria principal tiene una direccin fija que va de cero hasta
el nmero total de palabras - 1. Las direcciones de memoria sirven para identificar
cada palabra individualmente, de tal manera que pueda accederse al dato
contenido en ella. A fin de simplificar su comprensin, las memorias se consideran
como una hilera de palabras.
Representacin en memoria
La representacin en memoria de los caracteres no reviste mayor complicacin,
debido a que los cdigos utilizados, como el ASCII (American Standard Code for
Information Interchange), les asignan valores enteros positivos.
En el caso de los datos numricos hay que considerar la distincin entre nmeros
negativos y positivos, y la que hay entre nmeros de punto flotante y enteros.
Los signos se manejan normalmente mediante el bit ms significativo de la palabra
(el situado a la extrema izquierda), y se le denomina bit de signo. Cuando el bit de
signo almacena un cero, el nmero se considera positivo; cuando almacena un
uno el nmero es negativo. Es por esto que, si el tamao de la palabra es de m
bits, quedan m-1 bits para representar la magnitud del nmero almacenado.
Los nmeros de punto flotante se manejan en formato logartmico, con un nmero
fijo de bits para la base y otro para la mantisa. El estndar para los nmeros de
punto flotante lo fija el IEEE.
Debido al formato logartmico, los clculos que se hacen con tipos de punto
flotante no son tan precisos como los que se hacen con tipos enteros.
Proposicin de asignacin.
Lo mismo que en otros lenguajes de programacin, en C se tienen los operadores
aritmticos ms usuales (+ suma, - resta, * multiplicacin, / divisin y % mdulo).
El operador de asignacin es =, por ejemplo: i=4; ch='y';
Incremento ++ y decremento -- unario. Los cuales son ms eficientes que las
respectivas asignaciones. Por ejemplo: x++ es ms rpido que x=x+1.
Los operadores ++ y -- pueden ser prefijos o postfijos. Cuando son prefijos, el
valor es calculado antes de que la expresin sea evaluada, y cuando es postfijo el
valor es calculado despus que la expresin es evaluada.
En el siguiente ejemplo, ++z es prefijo y -- es postfijo:
Int x, y, z;
Main ()
{
Que es equivalente a:
Int x, y, z;
Main ()
{
Z++;
x = (z-y) % 100;
y--;
}
El operador % (mdulo o residuo) solamente trabaja con enteros, aunque existe
una funcin para flotantes (15.1 mod () de la biblioteca matemtica.
El operador divisin / es para divisin entera y flotantes. Por lo tanto hay que tener
cuidado. El resultado de x = 3 / 2; es uno, an si x es declarado como float. La
regla es: si ambos argumentos en una divisin son enteros, entonces el resultado
es entero. Si se desea obtener la divisin con la fraccin, entonces escribirlo
como: x = 3.0 / 2; o x = 3 / 2.0 y an mejor x = 3.0 / 2.0.
Por otra parte, existe una forma ms corta para expresar clculos en C. Por
ejemplo, si se tienen expresiones como: i = i + 3; o x = x * (y + 2);
Por lo que podemos reescribir las expresiones anteriores como: i += 3; y x *= y +
2; respectivamente.
Elaboracin de Programas.
Los programas son los bloques de construccin de los sistemas de informacin.
Cuando se hacen productos de software, los programadores siguen un proceso
que se parece al ciclo de vida de los sistemas de informacin completos. El ciclo
de vida de desarrollo de sistemas (SDLC). Ahora discutiremos el ciclo de vida del
desarrollo de software que es parecido.