Вы находитесь на странице: 1из 14

Alumno: Vzquez Snchez Angel Daniel.

Materia: Algoritmos y Lenguajes de


Programacin.

Catedrtico: Ing. Gustavo Zamorano Granda.

Tema: Investigacin Individual.


Introduccin a la programacin de un
lenguaje estructurado.

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.

Caractersticas generales que debe reunir un programa y que influyen en su


calidad

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

Portabilidad: Debe permitir su codificacin en distintos lenguajes y su


instalacin en distintos sistemas

Modificabilidad: El programa ha de facilitar su mantenimiento; es decir las


modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacin.


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.

Fases para la resolucin de problemas con una computadora

Anlisis: Comprender y definir el problema.

Desarrollo de la solucin o algoritmo: La esencia lgica de pasos para


resolver el problema.

Trascripcin de la solucin a 1 lenguaje de programacin.

Prueba: Seguir los pasos para planificar que la solucin resuelve


verdaderamente el problema.

Definiciones de lenguaje de programacin


Un lenguaje de programacin es 1 lenguaje que nos permite comunicarnos con 1
ordenador.
Es una conversin para escribir descripciones que pueden ser adecuadas. Uno de
los elementos ms importantes en la tarea de programacin es el lenguaje que
vamos a usar; el lenguaje elegido fuerza al programador a pensar de una forma
determinada influyendo en la calidad de los programas desarrollados.
Es una notacin para escribir programas a travs de los cuales podemos
comunicarnos con el Hardware y dar as las rdenes adecuadas para la
realizacin de 1 determinado proceso.
Un lenguaje Viene de programacin viene definido por una gramtica o conjunto
de reglas que se aplican a un alfabeto constituido por el conjunto de signos
utilizados. Los distintos niveles de programacin existentes nos permiten acceder
al Hardware de tal forma que segn utilicemos un nivel u otro as tendremos que
utilizar un determinado lenguaje ligado a sus correspondientes traductores.
.
En el siguiente esquema se representan los distintos niveles de acceso a la
mquina teniendo en cuenta que por el nico que se accede al Hardware

directamente es por el lenguaje mquina por el resto accedemos a un lenguaje


virtual que considera el lenguaje del nivel en que estemos como su lenguaje
mquina.
Los niveles de programacin los podemos dividir segn la posibilidad que
presentan respecto al Hardware en:

Nivel bajo (Lenguaje mquina)

Nivel medio (Ensamblador)

Nivel Alto (Gestin, Cientficos, propsito general, especficos)

Lenguaje mquina: Es el nico que entiende directamente la computadora, son


lenguajes muy unidos a la mquina en la que van a ser utilizados. Los programas
escritos en estos leguajes se ejecutan rpidamente ya que no necesitan
traduccin o esta es muy sencilla. Son lenguajes de difcil aprendizaje y muy
especializados. Utilizan el alfabeto binario que consta de los smbolos 0 y 1 (bit).
Fue el primer lenguaje utilizado en programacin pero dej de utilizarse por su
dificultad y complicacin siendo sustituido por otros lenguajes ms fciles de
aprender y utilizar que adems reducen la posibilidad de cometer errores.

Lenguaje ensamblador: Es el 1 intento de sustituir el lenguaje mquina por otro


ms similar el utilizado por las personas. En este lenguaje cada instruccin
equivales a una instruccin en lenguaje mquina. Utilizamos para su escritura
palabras nemotcnicas en lugar de cadenas de bits. Este lenguaje presenta la
mayora de los inconvenientes del lenguaje mquina son:
Inconvenientes

Cada modelo de ordenador tiene 1 lenguaje ensamblador propio distinto de


los dems por lo cual 1 programa solo puede utilizarse en la mquina para la cual
se program.

El programador debe conocer perfectamente el Hardware del equipo ya que


maneja directamente las posiciones de memoria, registros, procesador y dems
elementos fsicos.


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.

Lograr independencia de la mquina de la mquina pudiendo utilizar 1


mismo programa en distintos equipos con la nica condicin de disponer un
programa traductor o compilador para obtener el programa ejecutable en lenguaje
binario de la mquina que se trate adems no se necesita conocer el Hardware
especfico de dicha mquina.

Aproximarse al lenguaje natural para que el programa se pueda escribir y


leer de una forma ms sencilla eliminando.

Estructura bsica de un programa.

Las partes principales de un programa estn relacionadas con dos bloques:


declaraciones e instrucciones.
En las instrucciones podemos diferenciar tres partes fundamentales.

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.

Salida de resultados: Conjunto de instrucciones que toman los datos finales


(resultado) de la memoria principal y los envan a los dispositivos externos.

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.

Estructura de control selectiva simple

Estructura de control selectiva doble

Estructura de control selectiva mltiple

Estructura de control cclica o repetitiva

Estructura de control desde

Estructura de control mientras

Para estas estructuras son necesarios los operadores lgicos y de relacin.


Operadores de relacin
Mayor a

>

Menor a

<

Mayor o igual a

>=

Menor o igual a

<=

Diferente a

~=

Operadores lgicos
Y (and)

&

O (or) |
No (not)

Exclusivo o (or)

xor

Con el uso de los operadores de relacin se construyen las condiciones simples y


con el uso de los operadores de relacin y lgicos se construyen las condiciones
compuestas.
Anidamiento
El cuerpo de cualquier estructura puede ser instrucciones simples u otras
estructuras, que a su vez pueden contener a otras.

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.

En un sentido amplio, un tipo de datos define un conjunto de valores y las


operaciones sobre estos valores.

Casi todos los lenguajes de programacin explcitamente incluyen la


notacin del tipo de datos, aunque lenguajes diferentes pueden usar terminologa
diferente.

La mayor parte de los lenguajes de programacin permiten al programador


definir tipos de datos adicionales, normalmente combinando mltiples elementos
de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un
programador puede crear un nuevo tipo de dato llamado "Persona" que especifica
que el dato interpretado como Persona incluir un nombre y una fecha de
nacimiento.
Tipo de dato entero (int).

Un tipo de dato entero en computacin es un tipo de dato que puede


representar un subconjunto finito de los nmeros enteros. El nmero mayor que
puede representar depende del tamao del espacio usado por el dato y la

posibilidad (o no) de representar nmeros negativos. Los tipos de dato entero


disponibles y su tamao dependen del lenguaje de programacin usado as como
la arquitectura en cuestin. Por ejemplo, si para almacenar un nmero entero
disponemos de 4 bytes de memoria tememos que:

4 Bytes = 4x8 = 32 bits Con 32 bits se pueden representar


232=4294967296 valores: Slo positivos: del 0 al 4294967295

Positivos y negativos: del -2147483648 al 2147483647.

Tipos de datos en coma flotante

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

4 Bytes (32 bits)

Double

8 Bytes (64 bits)


Tipo de dato carcter (Char)

Es cualquier signo tipogrfico, puede ser una letra, un nmero, un signo de


puntuacin o un espacio. Este trmino se usa mucho en computacin.

Un valor de tipo carcter es cualquier carcter que se encuentre dentro del


conjunto ASCII ampliado, el cual est formado por los 128 caracteres del ASCII
ms los 128 caracteres especiales que presenta, en este caso, IBM.

Los valores ordinales del cdigo ASCII ampliado se encuentran en el rango


de 0 a 255. Dichos valores pueden representarse escribiendo el carcter
correspondiente encerrado entre comillas simples (apstrofos).

As, podemos escribir:


'A' < 'a

Que significa: "El valor ordinal de A es menor que el de a" o "A est antes
que a"

Un valor de tipo carcter (char en ingls) se guarda en un byte de memoria.

La nica operacin (adems de las relacionales) que podemos hacer con


caracteres es la concatenacin concatenando dos caracteres, por ejemplo 'a' y 'X'
obtendramos la cadena "aX".
Tipo de dato lgico

El tipo de dato lgico o booleano es en computacin aquel que puede


representar valores de lgica binaria, esto es, valores que representen falso o
verdadero. Se utiliza normalmente en programacin, estadstica, electrnica,
matemticas (lgebra booleana), etc...

Para generar un dato o valor lgico a partir de otros tipos de datos,


tpicamente, se emplean los operadores relacionales (u operadores de relacin),
por ejemplo: 0 es igual a falso y 1 es igual a verdadero

(3>2)= 1 = verdadero

(7>9)= 0 = falso

Palabra reservada

Una palabra reservada es una palabra que tiene un significado Gramatical


especial para ese lenguaje y no puede ser utilizada como un identificador en ese
lenguaje.

Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la


palabra group es usada para indicar que un identificador se refiere a un grupo, no
a un usuario. Al tratarse de una palabra clave su uso queda restringido.

Ocasionalmente la especificacin de un lenguaje de programacin puede


tener palabras reservadas que estn previstas para un posible uso en futuras
versiones.
En Java const y goto son palabras reservadas no tienen significado en Java,
pero tampoco pueden ser usadas como identificadores. Al reservar los trminos
pueden ser implementados en futuras versiones de Java, si se desea, sin que el
cdigo fuente ms antiguo escrito en Java deje de funcionar.

Identificadores

Los identificadores (IDs) son smbolos lxicos que nombran entidades. El


concepto es anlogo al de "nombres de procesamiento de la informacin".
Nombrar las entidades hace posible referirse a las mismas, lo cual es esencial
para cualquier tipo de procesamiento simblico.
En los lenguajes informticos, los identificadores son elementos textuales (tambin
llamados smbolos) que nombran entidades del lenguaje. Algunas de las de
entidades que un identificador puede denotar son las variables, las constantes, los
tipos de dato, las etiquetas, las subrutinas (procedimientos y funciones) y los
paquetes.
En muchos lenguajes algunas secuencias tienen la forma lxica de un identificador
pero son conocidos como palabras clave (o palabras reservadas). Lo habitual es
que si un identificador se corresponde con una palabra clave o reservada, ste ya
no pueda utilizarse para referirse a otro tipo de entidades como variables o
constantes (en unos pocos lenguajes, como PL/1, esta distincin no est del todo
clara).
Los lenguajes informticos normalmente ponen restricciones en qu caracteres
pueden aparecer en un identificador. Por ejemplo, en las primeras versiones de C
y C++, los identificadores estn restringidos para que sean una secuencia de una
o ms letras ASCII, dgitos numricos (que en ningn caso deben aparecer como
primer carcter) y barras bajas. Las versiones posteriores de estos lenguajes, as
como otros muchos ms lenguajes modernos soportan casi todos los caracteres
Unicode en un identificador. Una restriccin comn es que no est permitido el uso
de espacios en blanco ni operadores del lenguaje.
En lenguajes de programacin compilados, los identificadores generalmente son
entidades en tiempo de compilacin, es decir, en tiempo de ejecucin el programa
compilado contiene referencias a direcciones de memoria y offsets ms que
identificadores textuales (estas direcciones de memoria u offsets, han sido
asignadas por el compilador a cada identificador).
En lenguajes interpretados los identificadores estn frecuentemente en tiempo de
ejecucin, a veces incluso como objetos de primera clase que pueden ser
manipulados y evaluados libremente. En Lisp, stos se llaman smbolos.
Los compiladores e intrpretes normalmente no asignan ningn significado
semntico a un identificador basado en la secuencia de caracteres actual. Sin
embargo, hay excepciones. Por ejemplo:

En Perl una variable se indica utilizando un prefijo llamado sigil, que


especifica aspectos de cmo se interpreta la variable en las expresiones.


En Ruby una variable se considera automticamente como inmutable si su
identificador empieza con una letra mayscula.

En Fortran, la primera letra de una variable indica si por defecto es creada


como entero o como flotante.

Almacenamiento, direccionamiento y representacin en memoria


Almacenamiento
La computadora posee determinada cantidad de almacenamiento interno
denominado memoria principal, memoria RAM o memoria voltil. Esta memoria se
activa al encender la computadora y se desactiva al apagarla. Para que un
programa se ejecute, debe cargarse en la memoria principal, as como los datos
necesarios. Como es ms costosa, es un recurso escaso donde slo se
almacenan los datos que se requieren de inmediato, y los dems se relegan a los
dispositivos de almacenamiento externo, donde la capacidad de almacenamiento
es mayor, pero tambin el tiempo de recuperacin. Por otra parte, el costo del
almacenamiento externo es ms bajo.

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 ()
{

x= ((++z) - (y--)) % 100;


}

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.

Operadores, operandos y expresiones.


Los operadores especifican el tipo de clculo que se desea realizar con los
elementos de una frmula. Microsoft Excel incluye cuatro tipos diferentes de
operadores de clculo: aritmtico, comparacin y referencia.
Operadores aritmticos

Para ejecutar las operaciones matemticas bsicas como suma, resta o


multiplicacin, combinar nmeros y generar resultados numricos, utilice los
siguientes operadores aritmticos.
Operadores de comparacin
Se pueden comparar dos valores con los siguientes operadores. Cuando se
comparan dos valores utilizando estos operadores, el resultado es un valor lgico:
VERDADERO o FALSO.
Operadores de referencia
Combinan rangos de celdas para los clculos.
OPERANDO: En matemticas, un operando es una de las entradas (argumentos)
de un operador.
Prioridad de operadores, evaluacin de expresiones
Determina el orden en que habrn de realizarse las operaciones en una expresin
determinada. Para obtener la prioridad se deben conocer las siguientes reglas:
Las operaciones que estn encerradas entre parntesis se evalan primero. Si
existen diferentes parntesis anidados (interiores unos a otros), las expresiones
ms internas se evalan primero. En caso de coincidir varios operadores de igual
prioridad en una expresin o subexpresin encerrada entre parntesis, el orden de
prioridad en este caso es de izquierda a derecha.

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.

Вам также может понравиться