You are on page 1of 14

Conceptos bsicos de programacin

Captulo 1
Conceptos bsicos de
programacin

Objetivo

Al finalizar el captulo, el alumno:

Conoce los principales conceptos referentes a la programacin.


Identifica qu es un sistema informtico y su importancia para las
empresas modernas.
Reconoce los principales lenguajes de programacin y sus
herramientas para el desarrollo de aplicaciones.
Establece las fases en la elaboracin de un programa.

Temas

1. Qu es un programa?
2. Qu es un sistema informtico?
3. Lenguajes de programacin
4. Herramientas de desarrollo actuales
5. Fases en la elaboracin de un programa

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 1


Conceptos bsicos de programacin

1. Qu es un programa?

Existen muchas definiciones de programa, algunas ms complejas que otras,


pero podemos al fin y al cabo resumir todos estos conceptos en uno solo:

Conjunto de sentencias dadas en un orden lgico y en un determinado


lenguaje de programacin que tienen como propsito fundamental dar
respuesta a un problema dado, mediante el uso del computador.

Consideramos que, dadas las herramientas actuales, no es complicado elaborar


un programa, siempre y cuando quien lo elabore tenga los conceptos claros y
slidos con respecto a la programacin y siempre y cuando sea una persona que
le apasione y est predispuesta a desarrollar soluciones por medio del
computador.

Recuerde
No necesita ser un erudito en matemticas, ni un cientfico de prestigio para ser
un programador. Lo importante es tener una lgica clara y abierta a percibir
criterios nuevos y aplicarlos a las soluciones que quiera implementar.

1.1 La programacin

Se entiende por programacin a la tcnica mediante la cual un


programador adquiere las pautas y conceptos para poder desarrollar
programas. A travs de los aos, se han dado muchas de estas tcnicas,
siendo las ms conocidas las siguientes:

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 2


Conceptos bsicos de programacin

Programacin Estructurada (PE)

La programacin estructurada est compuesta por un conjunto de


tcnicas que han ido evolucionando, aumentando considerablemente la
productividad del programa reduciendo el tiempo de depuracin y
mantenimiento del mismo.

Un programa est estructurado si posee un nico punto de entrada y


solo uno de salida, existen de 1 a n caminos desde el principio hasta el
fin del programa y por ltimo, que todas las instrucciones son
ejecutables sin que aparezcan bucles infinitos.

Programacin Modular

La programacin modular consta de varias secciones divididas de forma


que interactan a travs de llamadas a procedimientos, que integran el
programa en su totalidad.

En la programacin modular, el programa principal coordina las


llamadas a los mdulos secundarios y pasa los datos necesarios en
forma de parmetros.

A su vez, cada mdulo puede contener sus propios datos y llamar a


otros mdulos o funciones.

Programacin Orientada a Objetos (POO)

Se trata de una tcnica que aumenta considerablemente la velocidad de


desarrollo de los programas gracias a la reutilizacin de los objetos.

El elemento principal de la programacin orientada a objetos es el


objeto. Este es un conjunto complejo de datos y programas que poseen
estructura y forman parte de una organizacin.

Un objeto contiene varios datos bien estructurados y pueden ser visibles


o no dependiendo del programador y las acciones del programa en ese
momento.

Programacin Concurrente

Este tipo de programacin se utiliza cuando tenemos que realizar varias


acciones a la vez.

Se suele utilizar para controlar los accesos de usuarios y programas a


un recurso de forma simultnea.

Se trata de una programacin ms lenta y laboriosa, obteniendo unos


resultados lentos en las acciones.

Programacin Funcional

Se caracteriza principalmente por permitir declarar y llamar a funciones


dentro de otras funciones.

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 3


Conceptos bsicos de programacin

Programacin Lgica

Se suele utilizar en la inteligencia artificial y pequeos programas


infantiles. Se trata de una programacin basada en el clculo de
predicados (una teora matemtica que permite lograr que un
ordenador, basndose en hecho y reglas lgicas, pueda dar soluciones
inteligentes).

En vez de hablar de tcnicas o tipos de programacin, se habla tambin de


paradigmas de programacin, los cuales son una propuesta tecnolgica
que es adoptada por una comunidad de programadores cuyo ncleo
central es incuestionable en cuanto a que unvocamente trata de resolver
uno o varios problemas claramente delimitados.

Referencia
En el caso desee conocer cules son los paradigmas de programacin,
puede consultar el siguiente link:
https://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n

1.2 Los desarrolladores

El trmino programador fue empleado por mucho tiempo para identificar a


la persona encargada de elaborar los programas. En un inicio, su
responsabilidad solo era esa, dejando las tareas de anlisis y diseo a
otros especialistas. Hoy en da, la competitividad nos obliga a tener un
perfil completo en cuanto a la elaboracin de soluciones informticas y no
encasillarnos en un solo aspecto. Es por eso que ahora nace el perfil del
desarrollador de aplicaciones, como un perfil que abarca los
conocimientos ms importantes del profesional en el rubro.

Este perfil cubre los aspectos de anlisis y diseo de sistemas, as como la


programacin, pasando por temas como modelamiento de base de datos y
arquitectura de aplicaciones, teniendo slido conocimiento sobre el
proceso de desarrollo de software.

El nivel de conocimientos debe ser evolutivo y actualizado con el paso del


tiempo, dado que la aparicin de herramientas nuevas nos obliga a ello.

1.3 Caractersticas de un buen programa

Las siguientes son las principales caractersticas que todo buen programa
debe tener:

Correccin. El programa debe resolver correctamente la tarea


encomendada.
Portabilidad. El programa debe comportarse del mismo modo,
independientemente de donde lo ejecutemos.
Eficiente. Adems de cumplir con correccin, debe hacer un uso
eficiente de los recursos del computador.
Claridad. Debe ser fcil de entender y de mantener.

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 4


Conceptos bsicos de programacin

2. Qu es un sistema informtico?

La definicin ms popular y divulgada de sistema es el siguiente: conjunto de


elementos relacionados entre s para la obtencin de un objetivo comn.
Podremos afirmar entonces que, un sistema informtico es el conjunto de
elementos de hardware y software que procesan datos para obtener
informacin resultante que permita mantener la eficacia en la toma de
decisiones dentro de una organizacin.

Hoy en da, las empresas modernas destinan una partida alta de su presupuesto
a la elaboracin de sistemas informticos, porque son conscientes que la
tecnologa aplicada a sus procesos administrativos, le permitirn una mejor
gestin de su informacin, manteniendo al da su contabilidad, sus registros
financieros, sus stocks, su control de pagos, etc.; aspectos que redundan en una
buena toma de decisiones y mejor imagen de la empresa ante el mercado, que
la ver como una empresa slida y de vanguardia tecnolgica.

Recuerde
La tecnologa es indispensable para el funcionamiento eficiente de una
organizacin, sea cual sea su rubro. Es por eso importante que, los
profesionales con perfil en el desarrollo de aplicaciones comerciales estn
preparados para enfrentar retos que en la actualidad las empresas necesitan
asumir.

2.1 Beneficios de un sistema informtico

Los beneficios se pueden establecer en los siguientes aspectos de la


organizacin, los cuales se conocen como las 5C:

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 5


Conceptos bsicos de programacin

Capacidad
- Mayor volumen de informacin a procesar
- Mayor cobertura
- Mayor cantidad de transacciones soportadas

Comunicacin
- Integracin entre las reas del negocio
- Compartir informacin
- Mejores y ms seguros conductos de comunicacin

Costos
- Reduccin de costos
- Saber en que invertimos
- Planificacin de los compromisos a terceros

Control
- Evitar prdidas
- Saber qu tenemos, en qu estado y dnde lo tenemos
- Evitar procesos caticos y conflictivos

Competitividad
- Nos har ms fuertes ante la competencia
- El mercado nos considerar como una empresa innovadora, que
se adapta fcilmente a las necesidades cada vez ms cambiantes
de los clientes.

2.2 mbitos de aplicacin de los sistemas informticos

Los mbitos de accin de los sistemas informticos son muy amplios.


Desde la parte comercial o financiera, hasta la gestin de informacin
cientfica o estadstica, pasando por los temas logsticos, de recursos
humanos, acadmicos, artsticos, deportivos, etc.

Como ya se indic, en la actualidad, cualquier actividad del ser humano


est presta a poder ser procesada por un sistema, de tal forma que se
pueda obtener el mximo provecho en el aspecto de informacin y control
de las actividades a administrar.

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 6


Conceptos bsicos de programacin

3. Lenguajes de programacin

Un lenguaje de programacin es un lenguaje artificial que permite elaborar


programas para computadores. Poseen sus propias reglas sintcticas y
semnticas, como cualquier otro lenguaje. A travs de sus sentencias podemos
implementar algoritmos y desarrollar programas de diverso tipo o campo de
aplicacin.

Una vez que los programas son codificados, se someten a un proceso


denominado compilacin en el cual se detectan, de acuerdo al lenguaje
empleado, errores sintcticos que debern ser corregidos en un proceso de
depuracin, hasta que la compilacin ya no genere ningn error. En muchos
casos, podrn existir errores lgicos que recin son denotados cuando el
programa se ejecuta. De este tema se tratar ms adelante.

Recuerde
No hay lenguaje mejor o peor que otro, depende de cmo y en qu
circunstancias lo aprovechemos

3.1 Lenguajes de programacin ms empleados

VB.Net (Visual Basic .Net)


Lenguaje visual desarrollado por Microsoft que desciende del lenguaje
de programacin BASIC.
http://msdn.microsoft.com/en-us/vstudio/hh388573.aspx

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 7


Conceptos bsicos de programacin

PHP
Un lenguaje de programacin utilizado mayormente para desarrollar
aplicaciones WEB. PHP es un lenguaje de fcil aprendizaje, distribuido
en forma gratuita, que permite interactuar con muchos sistemas de
gestin de base de datos.
http://php.net

C#
Lenguaje de programacin orientado a objetos, evolucin del lenguaje
C++, desarrollado por Microsoft.
http://msdn.microsoft.com/en-us/vstudio/hh341490.aspx

JavaScript
Programa escrito en el lenguaje script de Java que es interpretado por
la aplicacin cliente, normalmente un navegador (Browser).
http://www.ecma-international.org/publications/standards/Ecma-262.htm

Perl
Lenguaje ms utilizado para la creacin de programas CGI en los
servidores web.
http://www.perl.org/

Ruby on Rails
Ruby es un lenguaje de scripts para una programacin orientada a
objetos rpida y sencilla. Ruby in Rails es un framework de aplicaciones
web de cdigo abierto escrito en Ruby.
http://rubyonrails.org

Java
Lenguaje de programacin orientado a objetos creado por Sun
Microsystem y adquirido por Oracle, permite crear aplicaciones de todo
tipo de envergadura en diferentes tipos de ordenadores y sistemas
operativos.
http://www.oracle.com/es/technologies/java/index.html

Power Builder
Uno de los lenguajes de programacin pionero en el tema
cliente/servidor que permiti la separacin de capas de una aplicacin.
Uno de sus objetos ms populares es el DataWindow
http://www.sybase.com/products/modelingdevelopment/powerbuilder

Referencia
Extrado del siguiente enlace
http://www.ribosomatic.com/articulos/10-lenguajes-de-programacion-que-
debemos-saber/

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 8


Conceptos bsicos de programacin

En el caso deseemos conocer cul es el lenguaje de programacin ms


utilizado, podremos encontrar el TIOBE Programming Language
Community Index for Octubre 2015, donde figura que Java es el lenguaje
ms utilizado teniendo un 19% del mercado, seguido de C con un 16% y
en tercer lugar C++ con un 5%.

Referencia
Extrado del siguiente enlace:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 9


Conceptos bsicos de programacin

4. Herramientas de desarrollo actuales

Un entorno de desarrollo integrado, llamado tambin IDE (sigla en ingls de


integrated development enviroment), es un programa informtico compuesto por
un conjunto de herramientas de programacin. Puede dedicarse en exclusiva a
un solo lenguaje de programacin o bien puede utilizarse para varios.

Un IDE es un entorno de programacin que ha sido empaquetado como un


programa de aplicacin; es decir, consiste en un editor de cdigo, un compilador,
un depurador y un constructor de interfaz grfica (GUI), Los IDEs, pueden ser
aplicaciones por si solas o pueden ser parte de aplicaciones existentes. El
lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones
de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma
de macros para Microsoft Word.

Los IDE proveen un marco de trabajo amigable para la mayora de los lenguajes
de programacin tales como C++, PHP, Python, Java, C#, Delphi, Visual Basic,
etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo
de ejecucin, en donde se permite utilizar el lenguaje de programacin en forma
interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el
caso de Smalltalk u Objective-C.

Entre los IDEs ms populares tenemos Visual Studio y Eclipse, Visual Estudio es
el IDE elaborado por Microsoft, y permite trabajar en mltiples lenguajes, como
C#, C++, VB .Net, entre otros, ofreciendo un gran nmero de ventajas gracias al
uso de la herramienta que se utilizar en el desarrollo del curso.

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 10


Conceptos bsicos de programacin

Eclipse es un IDE Open Source, el cual es utilizado para programar en distintos


lenguajes, como Java, PHP, etc. Mayor informacin en http://www.eclipse.org

Referencia
Extrado del siguiente enlace:
http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado

4.1 Manejadores de base de datos

Son aquellos productos destinados a la administracin de bases de datos.


Proveen un soporte a nivel de desarrollo y administracin que otorgan la
facilidad de gestionar datos desde nuestras aplicaciones, citamos entre
otros de importancia a los siguientes:

SQL Server, es el gestor de base de datos fabricado por Microsoft. Es


un producto que nos otorga una serie de posibilidades para la gestin
de datos, almacenamiento y minera de datos (aplicaciones de
inteligencia de negocios). Tiene una alta demanda en el nivel local y es
el complemento perfecto para aplicaciones elaboradas en Visual Studio.
La versin de SQL que se ejecuta en este producto se denomina
Transact-SQL, actualmente se encuentra en la versin 2014.

Oracle, es bsicamente una herramienta cliente/servidor para la gestin


de base de datos. Es un producto vendido a nivel mundial, aunque la
gran potencia que tiene y su elevado precio hacen que solo se emplee
en organizaciones muy grandes, de mbito multinacionales. La versin
de SQL que se ejecuta en Oracle se llama PL-SQL.

MySQL, nace como un software free que corre sobre plataforma LINUX
en esencia como alternativa para los productos con licencia, aunque
tambin se puede ejecutar sobre plataforma Windows. En sus inicios
era bastante limitado, pero en los ltimos aos ha ido evolucionando
hasta convertirse en un producto de mucha acogida del mercado
informtico.

4.2 Herramientas CASE

Las sigas CASE se refieren a Computer Aided Software Enginnering


(Ingeniera de Software Asistida por Computadora) y son productos muy
sofisticados que cumplen los 3 perfiles siguientes:

Documentan, permiten elaborar modelos que representan el escenario


o la problemtica a resolver.

Generan cdigo, en base a los modelos creados permiten la


generacin automtica de cdigo que puede ser en C#, Visual Basic o
Java.

Generan interfaces, muchas de las herramientas CASE permiten la


elaboracin de interfaces de usuario (formularios, reportes, mens,
etc.).

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 11


Conceptos bsicos de programacin

Los ms importantes productos dentro de este rubro son los siguientes:

Rational Rose, producto elaborado para la aplicacin de la metodologa


orientada a objetos, bajo el lenguaje denominado UML (Lenguaje de
modelamiento unificado). Permite elaborar los diagramas ms
importantes de la metodologa, as como la posibilidad de generar
cdigo en C# o Visual Basic.

Erwin, quizs el ms popular software de modelamiento de datos.


Permite elaborar modelos Entidad-Relacin y, en base a estos, la
generacin de scripts SQL para la generacin inmediata de la base de
datos, ya sea para SQL Server, Oracle, Access, Informix, entre otros.

TOAD, otra importante herramienta para el modelado de datos. Al igual


que Erwin nos permite elaborar el modelo y en funcin de este la
generacin del cdigo para implementar la base de datos.

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 12


Conceptos bsicos de programacin

5. Fases en la elaboracin de un programa

El arte de programar como lo describen muchos, implica una metodologa que


debemos seguir de tal forma que, se nos asegure el xito en la tarea
encomendada.

Las metodologas vienen acompaadas de herramientas que posibilitan su


implementacin. Por ejemplo, no le podemos exigir a un maestro en la
carpintera que nos construya un mueble tipo Luis XV sino le alcanzamos las
herramientas para hacerlo (entindase cortadora, cepillos, tornos, etc.). El
maestro carpintero podr ser muy conocedor de una metodologa, pero sin
herramientas no llega a elaborar el producto final.

A continuacin, citamos el paso a paso en la metodologa de la elaboracin de


un programa por computadora.

5.1 Anlisis del problema

Como en todo aspecto asociado a la solucin de problema, el paso inicial


es entender a qu nos enfrentamos. Analizar el problema nos permitir
definir el alcance y dimensin del mismo, elementos que nos darn una
mejor perspectiva para llegar a la solucin. Una herramienta de mucha
ayuda es la elaboracin de algoritmos.

Estos no son nada ms que modelos de cmo solucionar el problema, sin


emplear an ningn lenguaje de programacin. Podemos desde
pseudocdigo o modelos grficos como los DFD (Diagrama de flujo de
datos). Estos modelos permiten obtener una primera versin de la solucin
que podemos mejorarla o debatirla para llegar al objetivo esperado.

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 13


Conceptos bsicos de programacin

5.2 Codificacin

Con un modelo ya elaborado (algoritmo) se debe codificar el modelo, ahora


s empleando la sintaxis de un lenguaje de programacin. Mientras ms
claro haya sido elaborado el algoritmo, ser menos complicado su
codificacin. Recuerde que los lenguajes de programacin se prestan a
desarrollar cualquier tipo de solucin, pero algunos se prestan ms que
otros dependiendo de la problemtica.

5.3 Elaboracin de los datos de prueba

Con el programa ya codificado debemos probar si el programa cumple o no


con los requisitos funcionales planteados. Para ello, es importante preparar
datos de prueba para validarlos con los resultados que el programa, en la
etapa de prueba, arrojar. El cuidado y rigurosidad en la preparacin de
estos datos garantizar que la prueba detecte cualquier problema, antes
de que el programa pase a su puesta en marcha, donde ser ms
complicada cualquier modificacin.

5.4 Depuracin e implementacin

Es muy posible que en la prueba de su programa se hayan encontrado


errores (no se preocupe, es lo ms normal). Esto nos llevar a un proceso
de depuracin de errores para subsanar estas incoherencias y de una
manera iterativa ir comprobando que los errores detectados ya no
aparecen. Es por ello, muy importante la documentacin de los errores, de
tal forma que sern ms fciles de detectar y solucionar.

Depuradas todas las inconsistencias, el programa ya puede ponerse en


marcha y ser de utilidad dentro del sistema donde se le requiera. Recuerde
que aqu no acaba todo. Es muy posible que, en el transcurso del tiempo,
los usuarios exijan nuevas caractersticas funcionales al programa que
debemos satisfacer lo ms pronto posible iniciando nuevamente el ciclo.

Cibertec Per S.A.C - Visual Studio 2015 Fundamentals C# 14