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

Al-Juarismi

Abu Abdallah Muammad ibn Ms al-Jwrizm (Abu Yffar) , conocido generalmente como al-Juarismi, fue un matemtico, astrnomo y gegrafo persa musulmn chi, que vivi aproximadamente entre 780 y 850. Estudi y trabaj en Bagdad en la primera mitad del siglo IX, en la corte del califa al-Mamun. Para muchos, fue el ms grande de los matemticos de su poca. Debemos a su nombre y al de su obra principal, "Hisb al-abr wa'l muqbala", nuestras palabras lgebra, guarismo y algoritmo. De hecho, es considerado como el padre del lgebra y como el introductor de nuestro sistema de numeracin

Metodologa de la programacin
Objetivo
Que el estudiante tenga un conocimiento bsico sobre los lenguajes de programacin estructurados y visuales, adems que maneje los conceptos elementales que son utilizados para el curso de Fundamentos de Programacin.

En esta unidad Introduccin al software de computadoras. Historia de los lenguajes de programacin. Los Algoritmos Metodologa de Programacin. Fundamentos de Programacin.

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

1.

Introduccin al software de las computadoras

Al desarrollarse las primeras computadoras electrnicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la informacin sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de clculo, uno por uno. John Von Neumann desarroll el modelo que lleva su nombre, para describir este concepto de "programa almacenado". En este modelo, se tiene una abstraccin de la memoria como un conjunto de celdas, que almacenan simplemente nmeros. Estos nmeros pueden representar dos cosas: los datos, sobre los que va a trabajar el programa; o bien, el programa en s.

Cmo es que describimos un programa como nmeros? Se tena el problema de representar las acciones que iba a realizar la computadora, y que la memoria, al estar compuesta por switch correspondientes al concepto de bit, solamente nos permita almacenar nmeros binarios. La solucin que se tom fue la siguiente: a cada accin que sea capaz de realizar nuestra computadora, asociarle un nmero, que ser su cdigo de operacin (opcode). Por ejemplo, una calculadora programable simple podra asignar los opcodes : 1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE. La descripcin y uso de los opcodes es lo que llamamos lenguaje de mquina. Es decir, la lista de cdigos que la mquina va a interpretar como instrucciones, describe las capacidades de programacin que tenemos de ella; es el lenguaje ms primitivo, depende directamente del hardware, y requiere del programador que conozca el funcionamiento de la mquina al ms bajo nivel.

Pgina. 6

Fundamentos de programacin
Lenguaje de Mquina, es el nico que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos nicos smbolos cero (0) y uno (1), permite programar con secuencias de unos y ceros. Ejemplos de secuencias: Ejemplos de secuencias en lenguaje mquina: 0000 equivale al valor 0 0001 equivale al valor 1 0010 equivale al valor 2 El primer gran avance que se dio, como ya se coment, fue la abstraccin dada por el Lenguaje Ensamblador, y con l, el nacimiento de las primeras herramientas automticas para generar el cdigo mquina. Lenguaje de Bajo Nivel o Lenguaje Ensamblador, donde cada instruccin equivale a una instruccin en lenguaje de mquina, utilizando para su escritura palabras nemotcnicas en lugar de cadenas o secuencias de bits. Ejemplo: ADD B,1 instruccin sumar MOV A,B instruccin asignar (mover) Sin embargo, an aqu es fcil para el programador perderse y cometer errores de lgica, pues debe bajar al nivel de la forma en que trabaja el CPU, y entender bien todo lo que sucede dentro de l.

Niveles del lenguaje


Lenguaje de alto nivel PRINT A Lenguaje de ensamblaje Mov dx,41h Mov ah,2 Int 21h Cdigo de mquina en hexadecimal BA41 B402 CD21 Cdigo de mquina en binario 1011101001000000 1011010000000001 1100110100100001

Microprocesador Con el desarrollo en los aos 50 y 60 de algoritmos de ms elevado nivel, y el aumento de poder del hardware, empezaron a entrar al uso de computadoras cientficos de otras ramas; ellos conocan mucho de Fsica, Qumica y otras ramas similares, pero no de Computacin, y por supuesto, les era sumamente complicado trabajar con lenguaje Pgina. 7

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Ensamblador en vez de frmulas. As, naci el concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN (FORmula TRANslation), que, como su nombre indica, inici como un "simple" esfuerzo de traducir un lenguaje de frmulas, al lenguaje ensamblador y por consiguiente al lenguaje de mquina.

Intrprete/ Compilador
Los programas escritos en lenguajes de alto nivel necesitan ser "traducidos" a lenguaje de mquina que es al final el nico lenguaje reconocido por la computadora. Para ello se utilizan los Traductores que son programas que traducen el cdigo fuente de un programa a lenguaje de mquina. Existen dos tipos de traductores.

Intrprete: 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. Ejemplo: Smaltalk, Prolog.

Programa fuente

Interprete

Traduccin y ejecucin simultanea

Compilador: 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.

Programa fuente

Compilador

Programa objeto

La elaboracin de un programa requerir conocer el idioma o conjunto de instrucciones del lenguaje de programacin, los tipos fundamentales de instrucciones que una computadora es capaz de manipular y ejecutar, son: Instrucciones de Entrada/Salida: A=5, Print A, Select A Pgina. 8

Fundamentos de programacin
Instrucciones Aritmtico/Lgicas: A+B, A B, A*B, A / B ... Instrucciones Condicionales: IF... THEN ... ELSE Instrucciones Selectivas: SELECT ... CASE Instrucciones Repetitivas: DO WHILE... LOOP, DO ... LOOP UNTIL, FOR.. NEXT Manejo de arreglos (Unidimencionales y Bidimencionales) Manejo de procedimientos y funciones

2. Historia

de los Lenguajes de Programacin.

Como ya se mencion, para crear un lenguaje de programacin, deberemos crear la herramienta que lo traduce, y es justamente de ellas, de las que hablaremos a continuacin, para describir como han ido evolucionando en los ltimos 50 aos [BYTE 1995]. 1946: Konrad Zuse , un ingeniero Alemn mientras trabajaba en los Alpes de Bavaria, desarroll el lenguaje Plankalkul, el cual, fue aplicado entre otras cosas para jugar al ajedrez. 1949: Aparece Short Code, que viene a ser el primer lenguaje que fue usado en un dispositivo de cmputo electrnico, aunque se debe decir que se trata de un lenguaje traducido a mano. 1951: Grace Hopper, trabajando para Remington Rand, comenz el trabajo de diseo del primer compilador conocido ampliamente como, el A-0, el cual, al ser liberado por la compaa en 1957, lo hizo con el nombre de MATH-MATIC. 1952: Alick E. Glennie, durante su tiempo libre en la Universidad de Manchester, concibe un sistema de programacin llamado AUTOCODE, que viene a ser un compilador muy rudimentario. 1957: Aparece FORTRAN (FORmula TRANslating) sistema traductor de frmulas matemticas. Fue desarrollado por un equipo, al frente del cual se encontraba John Backus quien despus vendra a contribuir en el desarrollo del compilador para el lenguaje ALGOL y de la notacin usada para la especificacin sintctica de los lenguajes, conocida como BNF (Backus Naur Form). A partir de los aos sesenta, empiezan a surgir diferentes lenguajes de programacin, atendiendo a diversos enfoques, caractersticas y propsitos, que ms adelante describiremos. Por lo pronto, puede decirse, que actualmente existen alrededor de 2000 Pgina. 9

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

lenguajes de programacin [KINNERSLEY 1995] y continuamente, estn apareciendo otros ms nuevos, que prometen hacer mejor uso de los recursos computacionales y facilitar el trabajo de los programadores. Tratando de resumir un poco, presentaremos los siguientes cuadros evolutivos, donde aparecen los lenguajes que por su uso y comercializacin, han resultado ser los ms populares a lo largo de este medio siglo. [LABRA 1998] [RUS 2001]

Clasificacin de los lenguajes de programacin


Aunque en muchas ocasiones la fina barrera que separa unos tipos de otros no es muy ntida, se puede clasificar segn el estilo de programacin.

Clasificacin de acuerdo al estilo de programacin


Imperativos
Son aquellos lenguajes, que basan su funcionamiento en un conjunto de instrucciones secuenciales, las cuales, al ejecutarse, van alterando las regiones de memoria donde residen todos los valores de las variables involucradas en el problema que se plantea resolver. Es decir, se cambia progresivamente el estado del sistema, hasta alcanzar la solucin del problema [CONTRERAS 2001]. Como un ejemplo ilustrativo vamos a escribir un programa en un lenguaje de este tipo para obtener los N primeros nmeros pares.

READ(n); FOR i = 1 TO n { par := i*2 ; WRITELN(par); }

//Lee el nmero n //Repite el bloque de instrucciones n veces // Calcula el nmero par // Imprime el nmero par hallado

Declarativos En este paradigma, ms que el cmo? desarrollar paso a paso un proceso, nos interesa el qu? deseamos obtener a travs del programa. Quizs el lenguaje declarativo que nos sea ms familiar, es SQL, el cual es utilizado para interactuar con la informacin de bases de datos, concentrndose (como se podr observar en el siguiente ejemplo), slo en los resultados que van a ser obtenidos, dejndole al traductor la tarea de cmo llegar a ellos y presentrnoslos.[SANDERS-PRICE 2002]

Pgina. 10

Fundamentos de programacin

SELECT * FROM alumnos WHERE sexo = "m" // Obtiene los datos de los alumnos de sexo masculino Dentro de este paradigma, se encuentran dos estilos distintos e programacin, cada uno de los cuales posee su propia lgica [SANFLIX 2000].

Funcionales.
Son lenguajes basados en funciones, las cuales se representan mediante expresiones, que nos permiten obtener ciertos resultados a partir de una serie de argumentos [BIBBY 2000]. De hecho las expresiones estn formadas por un conjunto de trminos, que a su vez pueden encapsular otras expresiones, para con la evaluacin de todas ellas, llegar a la solucin deseada. [GAULD 2001]. Para describir la idea, tomaremos el ejemplo del factorial escrito en el lenguaje funcional Haskell. fac :: Integer -> Integer //Define la funcin fac fac 0 = 1 // Asigna cero como valor inicial de la variable fac fac x = x * fac (x-1) // Clcula el factorial

Lgicos.
Este tipo de lenguajes se basan en el clculo de predicados, la cual es una teora matemtica que permite entre otras cosas, lograr que un ordenador basndose en un conjunto de hechos y de reglas lgicas, pueda derivar en soluciones inteligentes. [DIMARE 1990]. Utilizamos el mismo ejemplo del clculo de factorial de un nmero, se vera de la siguiente manera, escrito en PROLOG. factorial (0, 1) factorial (X, Fac) :- Y is X-1, fac(Y, F2), Fac is F2 * X .

Orientados a Objetos
Este ltimo paradigma, como se puede observar en la figura 1, algunas veces se mezcla con alguno de los otros 2 modelos, sin embargo mantiene caractersticas propias, que lo diferencian claramente. Los programas de este tipo, se concentran en los objetos que van a manipular, y no en la lgica requerida para manipularlos [MARBUS 2000]. Ejemplos de objetos pueden ser: estudiantes, coches, casas etc, cada uno de los cuales tendr ciertas funciones (mtodos) y ciertos valores que los identifican, teniendo adems, la facultad de comunicarse entre ellos a travs del paso de mensajes. Mencionamos con ms detalle los elementos fundamentales que deben de poseer este tipo de lenguajes [BOOCH 1996]: Pgina. 11

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

a) Abstraccin: Determinacin de las caractersticas de los objetos, que sirven para identificarlos y hacerlos diferentes a los dems. b) Encapsulamiento: Es el proceso que agrupa y almacena los elementos que definen la estructura y el comportamiento de una abstraccin, en un mismo lugar. c) Modularidad: Es la propiedad de agrupar las abstracciones que guardan cierta relacin lgica, y a la vez minimizar la interdependencia entre las diversas agrupaciones. d) Jerarqua: Consiste en establecer un orden o una clasificacin de las abstracciones. Adems de estos elementos fundamentales, tambin existen otros 3 elementos secundarios, que aunque son deseados, no son indispensables para clasificar un lenguaje dentro de este estilo. a) Tipificacin: Mecanismo que intenta restringir el intercambio entre abstracciones que poseen diversas caractersticas. b) Persistencia: Es la propiedad de un objeto a continuar existiendo a travs del tiempo y/o del espacio. c) Concurrencia: Es la propiedad que distingue a los objetos activos, de los que no lo estn.

Clasificacin Segn herramientas utilizadas en el proceso de traduccin y ejecucin


Ahora bien, si tomamos como referencia las herramientas usadas en el proceso de traduccin y ejecucin de los programas esbozada en la figura 2, vamos a tener la siguiente clasificacin de lenguajes [AHO 1977]:

Lenguajes Ensamblados
Se refieren al lenguaje ensamblador, que viene a ser una representacin simblica de las instrucciones correspondientes al lenguaje ensamblador de alguna arquitectura especfica, con lo que, casi siempre, la correspondencia entre las instrucciones de este lenguaje, y las del lenguaje mquina son de 1 a 1, si bien existen algunas excepciones, que dan lugar a lo que se conoce como lenguajes macro-ensambladores [CUEVA 1988]

Pgina. 12

Fundamentos de programacin

Lenguajes Compilados
Son aquellos, que son traducidos de un lenguaje de alto nivel (como FORTRAN o PASCAL) a lenguaje mquina o bien a lenguaje ensamblador, produciendo un programa objeto permanente. Ejm. Pascal
For C := 5 downto 1 do Begin Write (`C); Writeln End;

Lenguajes Interpretados
Estos lenguajes, tienen la particularidad, de que no producen cdigo objeto, sino que cada instruccin es analizada y ejecutada a la vez, lo que ofrece mucha interaccin con los usuarios, pero a la vez resultan ineficientes, cuando se desea ejecutar repetitivamente un programa.

Lenguajes Preprocesados
Son lenguajes que son traducidos primeramente a un lenguaje intermedio de ms bajo nivel, para posteriormente volverlos a traducir y producir el programa objeto. Este tipo de lenguajes fueron creados, con la idea de proporcionar un lenguaje ms potente que el lenguaje intermedio, mediante la implementacin de algunos macroinstrucciones. [SANCHIS-

GALAN 1986].

Otras clasificaciones
Finalmente, existen otros conceptos tomados en cuenta para agrupar los lenguajes, que dan origen a diversas clasificaciones, entre los que destacan las siguientes: Lenguajes de cuarta generacin 4GL
Estos lenguajes se distinguen por formar parte de un entorno de desarrollo, que comprende el manejador de una base de datos, y todo lo que de esto se deriva, como la administracin de un diccionario de datos, el control de accesos, el manejo de la consistencia de la informacin y otras caractersticas enfocadas a facilitar los programas de acceso y explotacin de

Pgina. 13

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

la informacin. Como ejemplos podemos citar a los 4 grandes: PROGRESS, SYSBASE, INFORMIX, y ORACLE. Ejm.
CREATE VIEW cli_san AS SELECT * FROM clientes WHERE ciudad=Santander Visualizar datos VISTA. SELECT * FROM cli_san ( es lo mismo que si lo haces desde la tabla clientes y realizas una clusula SELECT) SELECT * FROM clientes WHERE ciudad=santander

Lenguajes Visuales
Se les llama de esta manera a los lenguajes que forman parte de una aplicacin dotada de una Interfase grfica, la cual por medio de iconos y otras herramientas visuales y simblicas, pretenden facilitar las tareas rutinarias de los programadores, como son el diseo y desarrollo de formularios e informes. Los ejemplos ms comerciales de estos lenguajes son: VISUAL BASIC, VISUAL CAFE, VISUAL FOX, POWER BUILDER, etc. Ejm. Power builder
desencripta. [function string of_encrypt(as_str)] integer i, j string ls_enctext = CONSTANT string CRYPT_KEY = $#@%&#%@&* j = len(as_str) FOR i = 1 TO j ls_enctext += mid(CRYPT_KEY , mod(i,10) + 1, 1) ls_enctext += String(Char(255 - Asc(Mid(as_str, i, 1)))) NEXT RETURN ls_enctex

Metalenguajes
Ente los cuales tenemos a XML, SGML y HTML que sirven para definir otros lenguajes, cuyo objetivo es llevar a cabo la estructuracin de textos mediante un conjunto de etiquetas, de manera tal, que puedan ser entendidos por los humanos y tambin procesado por los ordenadores. Los metalenguajes estn teniendo un gran auge sobre la plataforma de Internet, en la cual son usados para la creacin de documentos, y el intercambio o transferencia de informacin.

Pgina. 14

Fundamentos de programacin
Ejemplo XML <!ELEMENT nombre (#PCDATA)> <!ELEMENT apellido (#PCDATA)> <!ELEMENT direccion (#PCDATA)> <!ELEMENT telefono (#PCDATA)> <!ELEMENT movil (#PCDATA)> <!ELEMENT foto (#PCDATA)>

Ejemplo HTML </BODY </HTML> <HTML> <HEAD> <TITLE>Ejemplo con funciones</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-var name = "" function Hola() { nombre = prompt('Introduzca su nombre:','') alert('Hola ' + nombre + '!') } function Adios() { alert('Adios ' + nombre + '!') } //--> </SCRIPT> </HEAD> <BODY onLoad="Hola()" onUnload="Adios()"> ... </BODY>

Lenguajes de propsito especfico


Son aquellos lenguajes desarrollados con la finalidad de resolver problemas de una naturaleza muy determinada, tal como SPSS para problemas estadsticos, MATLAB para clculos cientficos y de ingeniera, CAD/CAM para el diseo de piezas y programacin de mquinas de control numrico, como tornos y fresadoras, GPSS para simulacin de sistemas, CORBA para el manejo de interfaces en ambientes cliente-servidor, etc. Ejm. Matlab. >>syms x xy >>f==x^2 +yx^2 >>limit(limit(f,x,a),y,b) >>limit(limit(f,y,a),x,b)

Pgina. 15

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Lenguajes Script
Son lenguajes como JAVASCRIPT, VBSCRIPT, PERLSCRIPT, que se utilizan en ambientes clientes servidor, mediante la incrustacin de cdigo en las pginas HTML, y as permitir la programacin del lado del cliente, buscando fundamentalmente, hacer ms atractivos los interfaces grficos de las pginas [BUITRAGO 2000]. Ejemplo Java script.

html><body> <script type="text/javascript"> i = 0; do { document.write("The number is " + i); document.write("<br />"); i++; } while (i <= 5); </script></body></html>

Datawarehouse
Es un repositorio de datos de una empresa a los cuales se puede acceder de forma fcil, eficiente y sin esfuerzo. Tambin podemos decir que es un instrumento que sirve de soporte para el anlisis de datos y la toma de decisiones de tipo gerencial. En gran parte de las solicitudes de informacin de los usuarios finales puede ser manejada por ellos mismos o por analistas o tcnicos. Esto es posible si se utiliza software de acceso grfico de datos y las herramientas de anlisis que operan respecto a los datos almacenados en el servidor, lo cual no slo disminuye el trabajo de los departamentos de informtica sino que tambin proporciona un mejor servicio a los usuarios finales. La tarea de transformar datos operativos en informacin, y estos en conocimiento que permitan tomar decisiones oportunas para mejorar el desempeo del negocio, requiere de aplicar metodologas y herramientas de Data Warehouse (DWH).

Descripcin de los lenguajes ms utilizados


C y C++ C fue creado en los Bell Telephone Laboratories al principio de los 70, por Dennis M. Ritchie. Su nacimiento estuvo ligado al del sistema operativo Unix, que se desarroll paralelamente. Sus caractersticas deban ser: eficiencia (o sea, rapidez en la ejecucin de los programas), potencia (permite explotar a fondo las posibilidades de la mquina) y portabilidad. Unix fue reescrito en C, lo cual supuso un gran xito de este lenguaje, a partir del cual

Pgina. 16

Fundamentos de programacin
se convirti en uno de los ms extendidos. A partir de 1979, Bjarne Stroustrup, de AT&T, empez a trabajar en un descendiente de C con soporte de orientacin a objetos y otras mejoras, que sera conocido como C++ (la primera versin, interna de AT&T, data de 1983). En http://www.research.att.com/~bs/C++.html hay una lista de recursos sobre C++ creada por el propio Bjarne Stroustrup. Visual Basic .NET Visual Basic .NET (VB.NET) es un lenguaje de programacin orientado a objetos que se puede considerar una evolucin de Visual Basic implementada sobre el framework .NET. Su introduccin result muy controvertida, ya que debido a cambios significativos en el lenguaje VB.NET no es compatible hacia atrs con Visual Basic, pero el manejo de las instrucciones es similar a versiones anteriores de Visual Basic, facilitando as el desarrollo de aplicaciones ms avanzadas con herramientas modernas. La gran mayora de programadores de VB.NET utilizan el entorno de desarrollo integrado Microsoft Visual Studio en alguna de sus versiones (desde el primer Visual Studio .NET hasta Visual Studio .NET 2010, que es la ltima versin de Visual Studio para la plataforma .NET).

JAVA Java es un lenguaje muy moderno (se present en 1995) desarrollado por la empresa Sun Microsystems. Al parecer su historia es bastante curiosa, inicindose como un lenguaje para el control de electrodomsticos (con el nombre de Oak). Cuando el proyecto estaba prcticamente abandonado, Bill Joy, cofundador de Sun, viendo Internet como el terreno idneo para competir con Microsoft, retom este lenguaje, que con los cambios pertinentes se transform en Java. Java es famoso por las applets, pequeas aplicaciones grficas que se insertan dentro de una pgina web. Uno de sus puntos fuertes es su capacidad multiplataforma, que permite que el mismo cdigo pseudocompilado se ejecute en cualquier sistema (cualquier sistema con soporte Java, claro). En cuanto al lenguaje en s, es un descendiente de C++, aunque intenta corregir muchos de sus defectos. Est totalmente orientado a objetos e incluye numerosas bibliotecas estndar.

Los Algoritmos
El programador de computadoras es antes que nada una persona que resuelve problemas, por lo que para llegar a ser un programador Pgina. 17

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemtico. A la metodologa necesaria para resolver problemas mediante programas se denomina Metodologa de la Programacin. El eje central de esta metodologa es el concepto de algoritmo. En nuestra vida cotidiana nos enfrentamos constantemente a problemas que lo resolvemos casi inconcientemente por que siempre lo hacemos, siguiendo una serie de pasos, procedimientos o acciones que nos permiten resolver el problema. Por ejemplo si uno desea salir en su carro a un destino en particular como trabajar, pasear, recoger a alguien siempre deber tener en cuenta lo siguiente: Cmo esta el nivel de aceite? Si falta tendr que desistir de salir, hay fuga Qu nivel tiene el liquido de frenos? En el caso de no estar de los niveles adecuados, deber proveer de dicho liquido. Qu presin de aire tienen las llantas? Los adecuado es de 30 si mis aros son 13 Qu nivel de gasolina tiene el tanque? Por lo menos deber marcar lo suficiente para no quedarme en cualquier lugar botado sin gasolina. Una revisado ellos proceder a encender el carro. Para resolver esta situacin aplicamos una serie de pasos, que tienen un inicio y fin, que es una secuencia de toma de decisiones, y ejecutar acciones.

Lenguajes naturales y pseudoformales


Los Lenguajes Naturales son aquellos que nos permiten comunicarnos libremente ya sea de manera oral o escrita y que estn representados por el idioma, como el castellano, el ingls, el francs, el italiano, etc. Debido a la ambigedad en el significado de algunas palabras, entre otras cosas, se dificulta su utilizacin en el mundo de la programacin. Es por ello que surgen los lenguajes pseudoformales como una manera de representar algoritmos, sin depender de un lenguaje de programacin formal ni de una tecnologa en particular. Los Lenguajes Pseudoformales o lenguajes algortmicos son herramientas que nos permiten representar las acciones involucradas en un algoritmo para expresar la solucin de un problema.

Definicin de algoritmo
Una posible definicin de algoritmo es un conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas. Otra definicin sera, algoritmo es una secuencia finita de instrucciones, cada una de las cuales tiene un significado preciso y puede ejecutarse con una cantidad finita de esfuerzo en un tiempo finito. Ha de tener las siguientes caractersticas: legible, correcto, modular, eficiente, estructurado, no ambiguo y a ser posible se ha de desarrollar en el menor tiempo posible. Pgina. 18

Fundamentos de programacin
El trmino proviene del matemtico rabe Mohamed Ibn Moussa Al Kow Rizmi, el cual escribi sobre entre los aos 800 y 825 su obra Quitab Al Jabr Al Mugabala, donde se recoga el sistema de numeracin hind y el concepto del cero. Fue Fibonacci, el que tradujo su obra al latn y la inici con las palabras: Algoritmi dicit.

Representacin de algoritmos
Un algoritmo se puede representar como una secuencia de pasos a seguir, obtenidos luego de haber realizado un anlisis y encontrado una solucin para el problema planteado. As la solucin de un problema se puede expresar mediante un algoritmo. Todo algoritmo consta de tres partes:

Entrada. Representa los datos de entrada para el algoritmo. Proceso. Son los clculos (transformacin de datos) necesarios para encontrar la solucin del problema. Salida. Es la informacin que va a proveer un algoritmo o resultados finales del procesos de datos (Informacin).

Entrada

Proceso

Salida

Datos

Transformacin

Informacin

Herramientas para el diseo de algoritmos


Las dos herramientas ms utilizadas para disear algoritmos son: diagramas de flujo y pseudocdigos. a) Diagramas de flujo Diagrama de flujo, diagrama secuencial empleado para mostrar los procedimientos detallados que se deben seguir al realizar una tarea. Los diagramas de flujo se usan normalmente para seguir la secuencia lgica de las acciones en el diseo de programas de computadoras. Los smbolos utilizados han sido normados por el Instituto Norteamericano de Normalizacin (ANSI). Su construccin es importante por que a partir de l se escribe un programa en algn lenguaje de programacin.

Pgina. 19

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Smbolos utilizados para representar diagramas de flujo


Representacin del smbolo Descripcin
Este smbolo marca el inicio y fin de un diagrama de flujo.

Usaremos este smbolo para representar la declaracin de variables.

Se utiliza para definir los datos de entrada.

Representa un proceso, dentro de l se definen asignaciones y expresiones de clculo en general.

Este grfico mostrar la informacin resultante(el resultado final).

Las flechas o lneas indican la direccin del flujo del diagrama.

Se utiliza para expresar conexin dentro de una misma pgina.

Smbolo utilizado para expresar un mdulo de un problema

Smbolo utilizado para expresar conexin entre pginas diferentes

Reglas para la construccin de diagramas de flujo Como los diagramas de flujo ilustran grficamente los pasos o procesos a seguir para alcanzar la solucin de un problema. Los smbolos utilizados deben colocarse adecuadamente, para crear una estructura flexible que ilustre los pasos a seguir para alcanzar un resultado correcto. Recordemos que este diagrama permitir mas adelante la escritura del programa en algn lenguaje de programacin. Ahora presentaremos un conjunto de reglas que permiten la correcta construccin del diagrama de flujo. 1. Todo diagrama debe tener un inicio y un fin 2. Las lneas utilizadas para indicar la direccin del flujo del diagrama, deben ser rectas verticales o horizontales. No se puede incluir lneas diagonales, ni lneas cruzadas. Pgina. 20

Fundamentos de programacin
3. Todas las lneas utilizadas como conectores deben partir de un smbolo 4. El diagrama de flujo debe ser construido de arriba abajo (top-down) y de izquierda a derecha (right-left) 5. La notacin utilizada en el diagrama de flujo debe ser independiente del lenguaje de programacin. 6. Recomendamos agregar comentarios cuando utilice una expresin compleja para ayudar a entender su significado. 7. Si el diagrama de flujo requiere ms de una hoja para su construccin, utilice el conector de pginas diferentes y numere las pginas secuencialmente. b) Pseudocodigo El pseudocodigo es una lista detallada de las acciones que se deben realizar para escribir un programa. En esta herramienta de programacin las instrucciones se escriben en palabras similares al espaol. Aunque no existen reglas para la escritura del pseudocodigo en espaol, se ha recogido una notacin estndar que se utiliza en la mayora de libros de metodologa de la programacin. Sentencia. Se denomina de este modo al conjunto de lneas de cdigo que se muestran una a continuacin de otra y que en conjunto permiten el desarrollo de un programa, en general se dice que un pseudocodigo es un conjunto de sentencias de programacin lgicamente encadenadas. Ejemplo: Disear un algoritmo que permita hallar el valor de X en la siguiente ecuacin: X = 3A + B Solucin: Anlisis del problema: Qu me piden? Qu necesito para ese fin? Pseudocodigo INICIO Declaracin de variables A, B, X: entero Escribir(Ingrese el valor de A:) Capturar(A) Escribir(Ingrese el valor de B:) Capturar(B) Pgina. 21 Hallar el valor de X Los valores de A y B

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

X=3*A+B Mostrar(El valor de x en la ecuacin es:,X) FIN Diagrama de Flujo

Metodologa de Programacin
Las personas entienden el mundo construyendo modelos mentales de porciones del mismo. De esta manera toman los elementos importantes dejando los detalles irrelevantes fuera del modelo. En el proceso de diseo de software se siguen algunos pasos que permiten obtener la resolucin del problema partiendo de un modelo simplificado del mismo. Las etapas en la resolucin de un problema en el mbito computacional se presentan en la siguiente grfica, estas muestran en detalle como es la formalidad para el desarrollo de programas de cualquier gnero:

Pgina. 22

Fundamentos de programacin

Anlisis del problema

Planteamiento lgico de la solucin del problema

Diseo del algoritmo

Eleccin del lenguaje de programacin a utilizar

D O C U M E N T A C I O N

M A N T E N I M I E N T O

Diseo de la pantalla de usuario

Desarrollo del programa

Depuracin del programa

Descripcin de las Etapas


a) Anlisis del problema. En esta etapa se construye un modelo del problema extrado del mundo real especificando los elementos que alimentan el proceso (especificaciones de entrada), los elementos que se espera produzca el proceso (especificaciones de salida) y se define lo mejor posible al problema en s mismo. Para poder definir bien un problema es conveniente responder a las siguientes preguntas Qu es lo que me pide que realice el problema? Qu datos se requieren ingresar, analice el tipo de dato que necesita (numrico, texto, fecha, hora, ) y su valor inicial? Qu resultado desea hallar, clculos, reportes, consultas analice el tipo de dato? Pgina. 23

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Qu mtodo puedo utilizar para encontrar este resultado? Requerimientos del anlisis del problema:

Error!

Anlisis del problema Definir datos de entrada Definir datos de salida

Definicin del problema

Aplicacin Prctica
Disear un programa que permita ingresar un nmero de 2 cifras de la forma ab, luego mostrar la suma de sus componentes (dgitos) Anlisis del problema. Me estn pidiendo hallar la suma de los dgitos que componen un numero de 2 cifras. Requiero ingresar(saber) cual es el nmero de 2 cifras a procesar. De este modo al finalizar el proceso se veria de la siguiente manera: Si ingreso 43: Si ingreso 23: Si ingreso 81: 4+3=7 2+3=5 8+1=9

La informacin que se genera ser entonces la suma de los dgitos.

b) Planteamiento lgico de la solucin del problema. El planteamiento lgico de basa en la idea que uno tiene para resolver el problema, basado en un modelo matemtico o secuencia de procesos (leer datos, registrar datos, consultar datos, reportar datos, etc.).

Pgina. 24

Fundamentos de programacin
Continuacin de la aplicacin prctica
Para poder obtener la suma de los dgitos del nmero de 2 cifras que se ingrese deberemos de desdoblarlo en sus componentes es decir obtener las unidades y decenas, esta operacin de desdoblamiento se puede realizar de diversas formas, la mas comn: Dividir el nmero entre 10 (recordar que manejamos el sistema decimal). De la divisin obtener el cociente entero y el residuo en variables distintas. Luego aplicar la formula siguiente: Suma = cociente entero + residuo Finalmente se obtiene la suma de los digitos.

c) Diseo del algoritmo. En esta etapa se aplican tcnicas de programacin tales como el diseo descendente, refinamiento por pasos, obtenindose la representacin del algoritmo solucin. Para ello se utilizan herramientas como el diagrama de flujo o el pseudocdigo. Continuacin de la aplicacin prctica
Usaremos las herramientas bsicas para el desarrollo y diseo de Algoritmos:

Pseudocodigo

INICIO Declaracin de variables NUM, A, B, SUM: entero Escribir(Ingrese el valor del numero de 2 cifras:) Capturar(NUM) A = NUM DIV 10 B = NUM MOD 10 SUM = A + B Mostrar(La suma de los dgitos es:,SUM) FIN

Diagrama de Flujo

Pgina. 25

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

d) Eleccin del Lenguaje de Programacin a Utilizar En esta etapa se deber escoger el lenguaje sobre el cual trabajaremos, de modo que se pueda observar como se transformara el algoritmo planteado anteriormente en un lenguaje de programacin Continuacin de la aplicacin prctica
El lenguaje de programacin a utilizar ser el Visual Basic NET.

e) Diseo de la pantalla de usuario El formulario es el principal medio de comunicacin entre el usuario y la aplicacin. Los usuarios interactan con los controles que estn sobre el formulario. Continuacin de la aplicacin prctica
Diseo del formulario a desarrollar:

Pgina. 26

Fundamentos de programacin

f) Desarrollo del Programa El desarrollo del programa implica la transformacin del algoritmo realizado (pseudocodigo) en el lenguaje de maquina escogido, teniendo en cuenta la sintaxis y las normas que establece el lenguaje para programar. Continuacin de la aplicacin prctica
Edicin del programa

Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim num, a, b, sum As Integer num = Val(TextBox1.Text) a = num \ 10 Cdigo a editar b = num Mod 10 sum = a + b TextBox2.Text = sum End Sub End Class

g) Depuracin del Programa El objetivo de este proceso es ingresar una variedad de datos, entre valores normales y valores extremos, para determinar si el programa tiene errores.La depuracin es el proceso de encontrar los errores del programa y corregir o eliminar estos errores. En un programa se puede presentar tres tipos de errores. 1. Errores de sintaxis. Se produce por la edicin incorrecta de las sentencias del programa, que no se ajustan alas reglas del lenguaje de programacin. El programa cuando es compilado verifica la sintaxis correcta del programa, si encontrar algn error presentar en una caja de mensajes el tipo de error encontrado. Pgina. 27

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

2. Errores de ejecucin. Estos tipos de errores se desencadenan por instrucciones que el lenguaje de programacin puede entender pero no ejecutar. Ejemplos comunes son: la divisin por cero, las races cuadradas de nmeros negativos, etc. En este caso la ejecucin del programa se detiene y se enva un mensaje de error para el programador. 3. Errores lgicos. Se produce por el mal diseo del algoritmo, son los errores ms difciles de detectar, por el programa no produce errores de sintaxis, ni de ejecucin. En este caso se recomienda revisar su algoritmo, redisearlo, modificar el programa fuente, volver a compilar y ejecutar. Diagrama de Flujo para la depuracin de programas

Continuacin de la aplicacin prctica


Presione la tecla F8 para ingresar a la ejecucin paso a paso

Hacer clic en el botn Digitar num presione Enter Digitar a presione Enter Digitar b presione Enter Digitar sum presione Enter

Inspeccin

Pgina. 28

Fundamentos de programacin
Para definir las variables a inspeccionar

Fundamentos de Programacin
La programacin es una actividad en donde se emplea la lgica en diversos niveles, todo depende del problema que estemos afrontando su desarrollo, para ello se requieren de diversos conceptos bsicos a tener en cuenta de modo que se puedan emplear adecuadamente y nos sirvan para un mejor desempeo en el desarrollo del problema. Los trminos que se definen a continuacin son bsicos para toda persona que se inicia en el campo de la programacin, el uso adecuado de ellos ayudara de manera amplia al programador en el desarrollo de problemas.

Los Operadores
Los operadores son smbolos que permiten realizar operaciones con variables o constantes.

1. Operadores de Aritmticos
Se utilizan para realizar operaciones aritmticas bsicas como sumar, restar, multiplicar, dividir. Entre los operadores aritmticos tenemos: Smbolo_Operador + *
^ , **

Descripcin Suma Resta Multiplicacin Potencia

Ejemplos: 4 7

+ -

5 8

= =

9 -2 Pgina. 29

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

8 6

* ^

4 2

= =

32 36

Para el caso de la Divisin se muestra algunos casos especficos: a) Divisin Entera. Se usar el operador DIV, este trabaja solo con datos numricos de tipo entero y devuelve el cociente entero de cualquier divisin. ENTERO Ej: 15 DIV 5 7 DIV 3 -11 DIV 2 = = = 3 2 -5 DIV ENTERO
Resultado final es de tipo entero

b) Divisin Real. Se usar el operador / , este trabaja con datos ya sean enteros o reales y devuelve siempre un valor real. ENTERO O REAL Ej: 7 / 3 3,5 / 2 -6 / 1,2 = = = 2,5 1,75 -5.0 ENTERO O REAL
Resultado final es de tipo real

c) Residuo. Se usar el operador MOD , este trabaja con datos enteros y devuelve siempre un valor entero. ENTERO Ej: 13 8 4 27 MOD 3 MOD 3 MOD 2 MOD 10 = = = = 1 2 0 7 MOD ENTERO
Resultado final es de tipo entero

Reglas de Prioridad o Precedencia Los operadores aritmticos se aplican teniendo en cuenta la precedencia de operadores. Recurdese que las expresiones se evalan, por defecto, de izquierda a derecha, cuando son del mismo tipo. Potencias y Races Parntesis, Guin, divisin: *, / Suma, resta: +, Pgina. 30

Fundamentos de programacin
Operadores div y mod Si una parntesis contiene subexpresiones entre parntesis, stas se evalan primero; respectando la jerarqua de los operadores aritmticos en esta subexpresin. Si las expresiones estn anidadas(dentro de parentesis), primero se evalan las subexpresiones que se encuentran en el ltimo nivel de anidamiento.

Ejercicios: 1. Desarrollar las siguientes operaciones combinadas a. (((4 + 7)MOD 2) DIV (2)) + 30 ((13 MOD 7) DIV 2) + 30 (6 DIV 2) + 30 3 + 30 33 b. 20 + (-2) ** 3 + ((4 + 6 * 5) DIV 3) / 2 + 3 * (4 + 20 / 5) 20 + (-8) + (34 DIV 3) / 2 + 3 * (4 + 4.0) 20 8 + 11 / 2 + 3 * 8.0 20 8 + 5.5 + 24.0 12 + 5.5 + 24.0 17.5 + 24.0 41.5 c. (4 * 9 + 6 * (3 + (40 DIV 8))) / (20 + (-15 MOD 4) ** 2) (4 * 9 + 6 * (3 + 5)) / (20 + (-3) ** 2) (4 * 9 + 6 * 8) / (20 + (9)) (36 + 48) / (29) 84 / 29 2.89 2. Transformar las siguientes expresiones algebraicas en expresiones algortmicas a. (2B + 3) + 4R + 6 + P 7 (2 * B + 3) + 4 * R + (6 + P) / 7 b. 40 + A + B + 100 + 2B 4+A 40 + (A + B) / (4 + A) + 100 + 2 ** B c. A + B + C + 4R + 5A + C E+A A + B + C + (4 ** R + 5 ** A) / (E + A) + C

Pgina. 31

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

2. Operadores relacionales.
Se utiliza para establecer una relacin, entre un valor numrico con sus respectiva variable o entre expresiones matemticas. Entre los operadores de relacin tenemos:

Smbolo_Operador = > < >= <= <>

Descripcin Igual Mayor Menor Mayor Igual Menor Igual Diferente

3. Operadores lgicos.
Se utiliza para establecer condiciones entre expresiones. Entre los operadores lgicos tenemos:

Smbolo_Operador Not (~ , !) And (^) Or (v)

Descripcin Negacin Y lgico O lgico

Tablas de verdad Conjuncin ( and ) Es verdadero (true), si todas las comparaciones son verdaderas. Si alguna es falsa el resultado es falso (false)
P V V F F Q V F V F

^
V F F F

Disyuncin ( or ) Es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es falso.
P V V F F Q V F V F

v
V V V F

Pgina. 32

Fundamentos de programacin
Negacin ( not ) Invierte la condicin de la expresin.
P F V ~P V F

Ejercicios: Hallar el valor de verdad en las siguientes expresiones. a) 4>8 (Falso)

b) (5 > 9) AND (3 <9) f v (Falso) c) Si A=3 y B=5, Halle el valor de verdad para: ((A > 5) OR (B = 6)) AND (6 > A) f f v v v (Verdadero)

4. Operadores de Cadena.
El operador de texto & se utiliza para concatenar (unir) dos o mas textos, tambin se puede usar el smbolo +. Ejercicios: Hallar el valor de verdad en las siguientes expresiones. a) hola + amigos holaamigos b) hola + + amigos hola amigos c) V = Los B = ngeles J = existen veronica? w=V+B+J imprime w : Los ngeles existen veronica d) 24 + 61 = 2461

Pgina. 33

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Proceso de Informacin
1. Datos
Viene a ser la mnima unidad de informacin, se les conoce tambin como todos los entes que van a iniciar el proceso de generar informacin. Es la representacin de un mensaje, que se da en un contexto donde existe comunicacin, para ello se puede hacer uso de grficos o expresiones en general.

2. Informacin
Es el significado percibido al recibir un mensaje. La informacin debe ser oportuna, exacta y completa. La informacin reduce la incertidumbre. La percepcin humana es por naturaleza subjetiva. Por lo tanto la informacin referida a un mismo dato tendr la posibilidad de ser resultado de varias interpretaciones Si existe varias personas que interpretan la informacin deber existir un acuerdo para la forma de interpretarlos, para la obtencin de la informacin es necesario un proceso.

Fuentes de informacin.
Existen dos fuentes bsicas de informacin, las fuentes primarias y secundarias.

1. Fuentes primarias
Observacin Ventaja. Conocimiento de primera mano Desventaja. La observacin puede no ser exacta Experimento Ventaja. Control sobre las variables de inters Desventaja. Diseo del experimento Encuesta Ventaja. Modo eficiente de llegar a grandes grupos de personas Desventaja. Diseo del cuestionario Estimacin Subjetiva. Ventaja. Informacin de los expertos Desventaja. La respuesta puede no ser confiable

2. Fuentes secundarias
Si es un alumno el objeto de estudio, la Informacin del propio alumno (fuente interna de informacin).

Pgina. 34

Fundamentos de programacin
Informacin conseguida de sus padres, amigos de referido alumno (fuente externa de informacin). Informacin que posee el gobierno u otras entidades sobre el alumno (fuente externa de informacin).

Tipos de Datos
Los datos que procesa la computadora se puede clasificar en: Simples y estructurados. Los datos simples. Su principal caracterstica es que ocupa una sola casilla de memoria, dentro de este grupo de datos se encuentra los datos enteros, caracteres, bolanos, nmero real. Los datos estructurados. Se caracterizan por hacer referencia aun grupo de casillas de memoria. Es decir un dato estructurado tiene varios componentes. Cada uno de los componentes puede ser a su vez un dato simple o estructurado, dependiendo del lenguaje de programacin que utilice. Dentro de este grupo de datos se encuentran los arreglos, registros y conjuntos.

Descripcin de datos manejados usualmente


Los tipos de datos manejados usualmente se encuentran agrupados en tres bloques: Enteros, Alfanumricos y Lgicos. Esquema General: Tipos de Datos

Numricos

Alfanumricos

Lgicos

Enteros

Reales

Carcter Simple

Carcter Compuesto

1. Datos Numricos. Los nmeros estn conformados por los caracteres numricos 0,1,2,3,4,5,6,7,8,9, y las combinaciones que se pueden obtener de estos, los siguientes caracteres especiales: +, -, ., e, (Formato cientfico),... Estos se subdividen en 2 grupos:

Pgina. 35

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Enteros Son aquellos datos numricos que no poseen parte decimal. Ejemplos: 5 125 -8 52008 Reales Agrupan a todos aquellos datos numricos que poseen parte decimal. Ejemplos: 0.5 0.085 -14.05 2.1 Los numricos reales almacena nmeros con 15 dgitos decimales de exactitud, para nmeros ingresados con muchos decimales o nmeros derivados de un clculo que generan muchos decimales. OBS: La longitud de los datos numricos variar dependiendo del software de programacin que se utilice, es mas cada lenguaje ,maneja sus propias variaciones numricas. Los datos de Fecha/Hora. Las fechas se almacenan como nmeros de serie y las horas como fracciones de decimales. Este es el motivo por el cual una fecha y hora pueden ser utilizas para realizar operaciones de clculo (son una variacin de los datos de tipo numrico). Generalmente se utiliza el formato internacional para fechas y horas: Fecha: DD/MM/AA o Hora : HH::MM:SS AM/PM o HH:MM Ejemplos: Fecha: 30-09-2005 o 30/09/2005 Hora: 10:56 o 10:56:25 AM 2. Datos Alfanumrico (Cadenas). Estos tipos de datos agrupan a cualquier carcter (cdigo ASCII) y se caracterizan por estar expresados siempre entre comillas (estos es relativo, en Pgina. 36 DD-MM-AA

Fundamentos de programacin
algunos software de programacin estos tipos de datos se expresan entre apostrofes cadena). Estos se subdividen en 2 grupos: Carcter Simple Un dato tipo carcter simple contiene un solo carcter. Ejemplos: A * z 1 Carcter Compuesto(cadena) Un dato tipo cadena de caracteres contiene un conjunto de caracteres. Ejemplos: Los alumnos como Erick y Mery estudian mucho 12448 0.253 45hdg*/*BG OBS: Un dato tipo carcter compuesto(cadena) contiene un conjunto de caracteres, cuya longitud depende del software de programacin, aunque normalmente se acepta una longitud mxima de 255. En general un dato tipo texto puede estar compuesto de cualquier carcter de la tabla ASCII (American standard code for information interchange) la cual mostramos a continuacin.

Pgina. 37

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Esta tabla incluye letras, dgitos numricos, smbolos de puntuacin, smbolos especiales. Estos datos van encerrados entre comillas dobles. Debemos remarcar que aunque este tipo de dato puede contener nmeros, no se utiliza para realizar operaciones aritmticas. 3. Datos Lgicos. El tipo de datos lgico es el que te permite usar variables que disponen slo de dos posibles valores: cierto o falso. Debido a esto, su utilidad salta a la vista, y no es otra que variables de chequeo. Nos sirven para mantener el estado de un objeto mediante dos valores: si/no, cierto/falso, funciona/no funciona, on/off, 0/1, etc.

Las Constantes, Variables y Expresiones


Los datos a procesar por una computadora, ya sean simples o estructurados, como ya se menciono deben almacenarse en casillas o celdas de memoria para su posterior utilizacin. Estas casillas o celdas de memoria cuyo contenido puede ser una constante o un dato variable tiene un nombre que permite su identificacin. Llamaremos identificador al nombre que se les da a las casillas de memoria. Mostraremos grficamente las casillas de memoria con los nombres de identificadores.

Pgina. 38

Fundamentos de programacin

A estos identificadores se les asigna un valor, si el valor no cambia durante toda la ejecucin del programa se les nombra dato constante y si el valor cambia durante la ejecucin del programa se les nombra dato variable. Veamos grficamente.

1. Constantes
Una constante, es un valor que no cambia durante la ejecucin de un programa. Las constantes las podemos clasificar en:

a) Constantes numricas (de tipo literal). Una constante numrica puede contener: Dgitos numricos del 0 al 9. Pgina. 39

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Los signos + o -. El punto decimal . El carcter e utilizado para la notacin exponencial. Las constantes numricas son nmeros positivos o negativos. Las constantes numricas pueden ser del tipo entero, entero largo, coma fija, coma flotante: (tabla manejada en Visual Basic) Tipo Entero Entero largo Simple precisin Doble precisin Numrico punto fijo Nombre del tipo Integer Long Single Double Bytes ocupados 2 4 4 8 Rango de nmeros Soportados -32738 a 32767 -2147483648 a 2147483647 -3.4 E 38 a 3.4 E 38 -1.79 D 308 a 1.79 D 308 -9.22 E 14 9.22 E 14

Currency 8

Ejemplos: 2 645 -0.19 -8 b) Constantes de cadena (de tipo literal). Una constante de cadena es un conjunto de caracteres alfanumricos. Estos caracteres alfanumricos pueden ser cualquiera de los caracteres del cdigo ASCII. Excepto los caracteres de control (retorno de carro, avance de lnea). Ejemplos: Los aos de mi vida 458 Hola Maria Reyna El nmero mximo de caracteres permitidos en una constante de cadena es 256 caracteres para la mayora de lenguajes de programacin. Una cadena que no contiene caracteres se denomina cadena nula o cadena vaca y se representa por dobles comillas adyacentes: . Se suele utilizar con frecuencia para darle valores iniciales a las variables que llamaremos ms adelante variables de cadena. c) Constantes simblicas

Pgina. 40

Fundamentos de programacin
Una constante simblica posee un identificador. Las constantes simblicas deben ser definidas obligatoriamente. Y tienen las siguientes caractersticas Las constantes pueden ser definidas slo una vez en un formulario. Las constantes no se pueden modificar durante la compilacin ni ejecucin del programa. Las constantes hacen los programas ms fciles de modificar. Para definir una constante simblica, se utiliza la siguiente sintaxis: Const constante= expresin Ejemplos: Const pi = 3.1415 Const IGV = 0.19

2. Variables
Es un objeto del cdigo cuya misin consiste en almacenar un valor que puede modificarse a lo largo de la ejecucin del programa. Cada variable tiene: Nombre. Se utiliza para hacer referencia a su contenido en cualquier parte del programa. No se pueden emplear palabras reservadas. Tipo: Determina la clase de valores que puede guardar la variable, as como el nmero de bytes que emplea en la memoria. Alcance: Indica dnde se puede utilizar la variable dentro del programa. Establece el mbito donde el contenido de la variable tiene validez. Nombre de las variables El nombre de una variable tiene que comenzar por una letra, puede tener hasta 255 caracteres de longitud y debe ser nico dentro de su mbito. Los caracteres pueden ser letras, dgitos, el carcter de subrayado y los caracteres de declaracin de tipo de la variable :%, &, !, #, @ y $. No se puede utilizar el punto, los parntesis ni otros caracteres que tienen un significado especial para algunos softwares, Las palabras reservada no se podrn usar como nombres de variables, es decir: las sentencias, los nombres de las funciones, los mtodos, las propiedades, los tipos, los operadores. Tipos de variables (tabla manejada en Visual Basic) Pgina. 41

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Tipo

Nombre del tipo Integer Long

Bytes ocupados 2 4

Rango de valores soportados -32738 a 32767 -2147483648 a 2147483647 -3.4 E 38 a 3.4 E 38 -1.79 D 308 a 1.79 D 308 -9.22 E 14 9.22 E 14

Entero Entero largo

Simple precisin Single 4 Doble precisin Double 8 Numrico punto Currency 8 fijo Cadena de String 16(*) De 0 a 65500 caracteres caracteres (*) Hay que aadir un byte por carcter, hasta 64 Kbytes.

3. Expresiones
Se denomina de este modo a todas las combinaciones que se pueden lograr con variables, constantes, smbolos matemticos,... de modo tal que se generan diversos tipos de expresiones cada una con tratamiento distinto, se maneja tres tipos de expresiones:

a) Expresiones Aritmticas. Este tipo de expresiones involucran a todos los operadores matemticos vistos anteriormente (+ , -, *, /, div, mod,...) que son usados en las operaciones matemticas, estn compuestas por variables o constantes de tipo numrico. Ejemplos: 4 + S (6 * 7)......................... S es una variable numrica. (24 mod 5) ** 2 + 8 / 9 (5 + 6) / (25 div 8) + 5 * 9 +99 - 8 * W + 5 * E........................ W, E son variables numricas. 4+6 b) Expresiones Relacionales. Este tipo de expresiones involucran a los operadores relacionales (>, <, =, >=, <=, ...) y matemticos, estn compuestas por variables o constantes de tipo numrico y alfanumrico. Ejemplos: 34 > (4 + 6 * 5) 23 = P Pgina. 42

Fundamentos de programacin
2 <> 4 (4 + 5) = 4 * R c) Expresiones Lgicas. Este tipo de expresiones se forman por dos expresiones ya sean de tipo aritmtica o relacional e involucran a los operadores relacionales (>, <, =, >=, <=, ...), operadores matemticos (+, -, *, ...) y a los operadores lgicos and, or y not. Ejemplos: (A + 7) > 8 (2 + 5 * 9) >= (5 + 10 * A) (40 DIV 4) < (70 MOD 13) 25 <> (A +P)

Los Programas
Son un conjunto de instrucciones que se ejecutan lnea a lnea para el desarrollo de determinada tarea, todo programa har uso de datos de entrada para su procesamiento y generacin de informacin, estas instrucciones estn digitadas en un lenguaje de maquina (sintaxis) que la computadora es capaz de interpretar y manejar. Cada software de programacin tiene su propia forma de estructurar sus lneas de programa, en general la sintaxis varia de un software a otro pero la lgica de programacin es la misma as como tambin la idea del funcionamiento de las principales sentencias de programacin como son las condicionales y los bucles.

Partes de un Programa
Todo programa estar compuesto generalmente de las siguientes partes bsicas:

Definicin de Variables

Datos de Entrada

PROCESO

Datos de Salida

Declaracin de Variables Asignar Tipos_Datos

Variables de Entrada Captura de Datos

Variables de Proceso Proceso de Datos

Variables de Salida Salida de Informacin

Pgina. 43

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

1. Declaracin de Variables. Todo programa hace uso de variables para un mejor manejo y administracin de sus datos e informacin que genera, estas debern ser declaradas con los tipos de datos adecuados ya que cada variable manejara un valor distinto; la forma para declarar de variables varia dependiendo el software que se usa. En el caso del Visual Basic .NET, la declaracin de variables se realiza de la siguiente manera: Definicin de una variable privada Dim Nomb_Variable As Tipo_Dato Definicin de una variable privada Private Nomb_Variable As Tipo_Dato Definicin de una variable pblica Public Nomb_Variable As Tipo_Dato Definicin de una variable esttica Static Nomb_Variable As Tipo_Dato

Constantes:
La definicin de constantes tambin ocurre en esta parte, en el Visual Basic .NET se realiza de la siguiente manera. Sintaxis: [Public/Private] Const Constante [As Tipo] = Expresin

Alcance de las variables


En general el alcance de las variables depender del uso que se le quiera dar a cada una de estas, adems dentro de un programa existen lugares y formas de declarar variables para especificar el alcance, por lo general encontraremos 2 tipos: Pblico (Public) Este tipo de variables sern reconocidas en cualquier parte del proyecto que se desarrolla. Privado (Private) Este tipo de variables sern reconocidas solamente en el modulo (procedimiento, funcin o evento) en donde ha sido declarada.

Ejemplo para la declaracin de variables: Pgina. 44

Fundamentos de programacin
Dim nhj, nht as byte Dim xcod, xcat as string Dim xsex as booelan Dim xeda as integer Dim xsb as single

2. Captura de Datos. La captura de datos de realiza a travs de variables, mediante la asignacin de valores a estas, los programas tienen diversas objetos por medio del cual se ingresan datos, el mas conocido es la Caja de Texto, pero tambin se puede hacer mediante otros objetos pero con una tratativa distinta. Ejemplo en Visual Basic .NET:

Captura visual de datos


Objetos Textbox

Objetos Radiobutton

Objetos Combobox

3. Proceso de Datos. Para el procesamiento de datos se deber tener en cuenta como se desarrolla un proceso (datos que usa) de modo que se puedan utilizar las herramientas adecuadas que brinda el software de programacin para la elaboracin del cdigo correcto, teniendo en cuenta que la lgica de trabajo es parte de la habilidad del programador.

4. Salida de Informacin. Pgina. 45

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

La informacin que se genera puede mostrarse en cajas de mensaje, en objetos como los Text, reportes, entre otros; todo depende como los necesita en determinado momento. Ejemplo: En cajas de mensaje

En reportes

En pantalla

Pgina. 46

Fundamentos de programacin

Instrucciones de Programacin
Las instrucciones de programacin son aquellas lneas que ayudarn a la solucin de un problema, estas se encuentran lgicamente encadenas y de manera continua a estas se las denomina tambin sentencias, los programas pueden ser lineales o no lineales, en realidad al referirse a no lineales se asume la presencia de llamadas a procedimientos o funciones. Se manejan tipos de instrucciones: a) Instrucciones de Asignacin. Son aquellas instrucciones en donde se les transfiere valores a las variables de un programa. Ejemplos: X = val(Textbox1.text) R = Textbox2.text b) Instrucciones de Lectura. Estas instrucciones permiten obtener datos de algn lugar de almacenamiento o de variables como arreglos. Ejemplos: Select * from clientes Select codalu, nomalu, sexo from alumnos where pago>200 c) Instrucciones de Escritura. Son instrucciones que permiten sobre escribir o actualizar valores. Ejemplos: Pgina. 47

Metodologa de la programacin
Instituto de Educacin Superior Tecnolgico Privado

Insert into distritos values(D001,Miraflores) Update Facturas set total=total + 100 d) Instrucciones de Invocacin. (Bifurcacin) Son instrucciones que por un instante evitan el desarrollo lineal de un programa, ello ocurre cuando se invoca a una funcin, procedimiento o evento. Ejemplos: Private Sub Command1_Click() ---A = 24 Set RC = Nothing Call Limpiar ---End Sub

Invoca al Procedimiento

Private Sub Limpiar() Text1 = "" Text2 = "" Text3 = 0 Text4 = "" End Sub

Procedimiento Limpiar

Pgina. 48

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