You are on page 1of 14

REPBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN SUPERIOR


UNIVERSIDAD DE ORIENTE
EXTENSIN PUERTO ORDAZ
TECNOLOGA EN SISTEMAS INDUSTRIALES
ASIGNATURA: PROGRAMACIN EN COMPUTACIN
SECCIN: 01

PROGRAMACIN Y ALGORITMOS

PROFESOR BACHILLER

CIUDAD GUAYANA, MAYO DE 2017


CONCEPTO DE PROGRAMACIN

La programacin es el proceso por medio del cual se disea, codifica, limpia y


protege el cdigo fuente de programas computacionales. A travs de la programacin se
dictan los pasos a seguir para la creacin del cdigo fuente de programas informticos.
De acuerdo con ellos el cdigo se escribe, se prueba y se perfecciona. El objetivo de la
programacin es la de crear software, que despus ser ejecutado de manera directa por
el hardware de la computadora, o a travs de otro programa. La programacin se gua por
una serie de reglas y un conjunto pequeo de rdenes, instrucciones y expresiones que
tienden a parecerse a una lengua natural acotada.

CARACTERSTICAS DE LA PROGRAMACIN

Un programa til tiene 5 atributos o caractersticas:

Exactitud y precisin: Un programa debe aceptar datos, procesarlos y generar


resultados sin errores de sintaxis o de lgica; de ah la necesidad de exactitud y
precisin.
Integridad o completitud: Un programa es completo slo si ejecuta todas las
operaciones que el usuario espera al procesar un conjunto de datos.
Generalidad: La generalidad se entiende en dos sentidos: Un programa bien
diseado se puede generalizar; es decir puede procesar conjuntos de datos que
varan en el nmero de transacciones y en la naturaleza de los datos mismos. Las
instrucciones se deben elaborar para que no se limiten a un nmero especfico de
transacciones en el conjunto de datos. No debe suponerse que una parte
especfica de datos siempre sea de igual tamao. El programa contiene diferentes
opciones que pueden o no ser aplicadas durante una corrida. Los usuarios pueden
seleccionar la opcin adecuada cada vez.
Eficiencia: Debe asegurarse que las instrucciones para procesar datos se
selecciones tan rpida y fcilmente como sea posible. La rapidez y la eficiencia del
procesamiento de datos puede variar debido a: modo como se introducen los
datos, orden en que se procesan los datos, instrucciones particulares que se
empleen para controlar el proceso, etc.
Documentacin: Consiste en la inclusin de auxiliares que explican con claridad
como ocurre el procesamiento de los datos en un programa. La documentacin
incluida en un programa es de dos tipos: externa: No est incluida en el programa
mismo sino que va por separado. Comprende: diagrama de flujo que muestre los
pasos y los procedimientos y el orden en el cual tienen lugar; explicacin que
describa en el lenguaje comn cmo es el procesamiento de los datos; descripcin
de los datos que van a introducirse y procesarse, incluyendo su tipo y
tamao. Interna: Consiste en comentarios y descripciones que se insertan entre
los enunciados ejecutables de un programa. Explica la sucesin de los pasos del
procesamiento y los objetivos de los diferentes grupo de enunciados del programa.
REQUERIMIENTOS Y NECESIDADES QUE EXIGE LA PROGRAMACIN DE UNA
SITUACIN YA SEA INFORMTICA O DEL MBITO COTIDIANO.

En el mbito informtico:

Capacidad de organizacin y planificacin as como capacidad de gestin de la


Informacin.
Capacidad para la resolucin de problemas.
Capacidad para tomar decisiones basadas en criterios objetivos (datos
experimentales, cientficos o de simulacin disponibles) as como capacidad de
argumentar y justificar lgicamente dichas decisiones, sabiendo aceptar otros
puntos de vista.
Capacidad de comunicacin en lengua extranjera, particularmente en ingls.
Capacidad para adaptarse a las tecnologas y a los futuros entornos actualizando
las competencias profesionales.
Capacidad para innovar y generar nuevas ideas.

En el mbito cotidiano:

Es un factor fundamental en la vida diaria ya que sin ella no podramos desarrollar


las actividades, no tendramos un orden para hacer las cosas.
Permite tener un orden al momento de realizar actividades especficas.
Permite mediante una secuencia de pasos el desarrollo de las actividades que se
llevaran a cabo.
Ayuda a la organizacin para resolver problemas de manera satisfactoria, a travs
de pasos coordinados.
Proporciona un mtodo sencillo de resolucin de problemas de manera rpida.

PARA QUE ES NECESARIO IMPLEMENTAR LA PROGRAMACIN, CUALES SON


LAS VENTAJAS DE PROGRAMAR?

Aprender a programar parece esencial para conocer y comprender mejor el mundo


actual y el futuro, obviamente. Pero no es el nico beneficio que tiene la programacin.
Aparte de la mejor perspectiva del mundo actual que nos brinda, la programacin tiene
numerosos efectos positivos en la salud y en el desarrollo de una persona. Algunos de
ellos son:

Mejoran la capacidad de atencin y concentracin. La programacin de un


software medianamente complejo, implica una atencin extra a cada palabra que
escribimos en el editor de cdigo. Debes recordar los nombres de las variables, las
normas del lenguaje en el que se est programando, el patrn que deseas seguir
para hacer el programa funcionar. Los puntos a tener en cuenta son muy
numerosos, por lo que la atencin y la concentracin es vital para desarrollar esta
tarea.
Ms autonoma y mayor inters por la experimentacin y el
aprendizaje. Cualquier persona que comience a aprender un lenguaje de
programacin puede, partiendo de una base mnima, aprender por s mismo
mediante la experimentacin, siendo as ms autnoma. Deseo escribir un
programa que haga "x"? De acuerdo, comienza a probar con un tipo de
sentencias, con determinadas variables, con diferentes algoritmos, etc. La
programacin tambin deja va libre para la resolucin de un mismo problema de
diferentes formas, dando rienda suelta a la experimentacin y a la creatividad.
Adems, al ser una actividad "multipropsito" (puedes escribir desde un
videojuego hasta un software de gestin de datos), se aumenta de forma natural el
inters de la persona y, por lo tanto, mejora la capacidad de aprendizaje del mismo
(por eso de que, cuanto ms nos interesa algo, ms recursos centramos en ello).
Mayor orden y capacidad de comprensin. La programacin en cualquier
lenguaje requiere ser ordenados en todo momento; o, por el contrario, el
ordenador no ser capaz de comprender correctamente nuestras rdenes.
Adems, al estar escribiendo en un idioma completamente diferente, se ejercita
constantemente la capacidad de comprensin para poder plasmar nuestra idea en
cdigo. Tambin ejercitamos esta capacidad de comprensin cuando surge un
error, pues necesitamos interpretar y comprender los datos que nos proporciona el
ordenador sobre ese error para identificarlo y solventarlo en el menor tiempo
posible.
Mejor capacidad de clculo y de lgica. Numerosos estudios realizados en
personas muestran que la enseanza de programacin en edades tempranas se
traduce en mejoras en la capacidad de clculo y de lgica, dos aptitudes muy
asociadas a la accin de programar. En adultos, los resultados, obviamente, son
menores, pero tambin generan una mejora.

Como se ve, la programacin tiene numerosos efectos positivos en un mbito


psicolgico, pero si observamos ms all, el dominio de esta tambin genera una mayor
aceptacin en el mercado laboral y una mayor comprensin del mundo que nos rodea,
atributos muy apreciados en la sociedad actual y que, sin duda, tendrn an ms valor en
ese futuro informatizado que nos aguarda.

SITUACIONES DONDE SE PUEDE APLICAR LA PROGRAMACIN EN LA VIDA


COTIDIANA Y EN LA INFORMTICA

En la vida cotidiana se emplea la programacin frecuentemente para resolver


problemas. En mi da a da, utilizo la programacin en todo momento, desde que me
levanto, me voy a la computadora a colocar mi msica favorita, hasta ir a cepillarme y
alistarme para ir la universidad. Sin darme cuenta, los pensamientos y organizacin de la
semana estn basados en la programacin. Con la programacin se utilizan procesos
secuenciales para realizar nuestras labores, por ms minina que sea, con un proceso
estructurado, paso a paso, con un inicio y un final.

En informtica, la programacin se emplea para disear aplicaciones y programas,


que permitan hacer una tarea determinada. Por ejemplo, en el desarrollo de un software
para el anlisis de inventarios en una planta ensambladora de vehculos.

Programar sirve para resumir y dar funciones a programas que usamos en la vida
diaria, as como tambin en la informtica. La programacin en las actividades cotidianas
permite resolver problemas y facilita el uso de la tecnologa en las mejores formas, mucho
ms sencillas donde la toma de decisiones se ve influenciada y orientada a la sociedad
donde la mquina por s sola no sirve por s misma, pero al usarlas complementamos
nuestras capacidades al hacer uso de la tecnologa como una herramienta que ayuda al
progreso y facilidad en el desarrollo de la vida cotidiana desde todos los mbitos. En la
informtica es tan importante ya que sin ello las computadoras no cumpliran con
determinadas tareas.

CONCEPTO DE ALGORITMO

Un Algoritmo es una secuencia de operaciones detalladas y no ambiguas, que al


ejecutarse paso a paso, conducen a la solucin de un problema. En otras palabras es un
conjunto de reglas para resolver una cierta clase de problema. Algoritmo es un conjunto
de instrucciones que especifican la secuencia de operaciones a realizar, en orden, para
resolver un sistema especfico o clase de problema.

Caractersticas de un algoritmo

Las caractersticas que debe poseer una secuencia de tareas para considerarse
algoritmo son: precisin, de finitud y finitud.

PRECISN DE FINITUD O FINITUD


DETERMINISMO
Hay un orden preciso en el Todas las veces que se El algoritmo debe terminar
cual deben ejecutarse las realicen las tareas o pasos en algn momento y debe
tareas que conforman el de un algoritmo, con las usar cantidad finita de
algoritmo. mismas condiciones recursos.
iniciales, se deben obtener
resultados idnticos.

Ventajas y desventajas de los algoritmos

Ventajas de un algoritmo:
1) Los algoritmos son la esencia de la informtica, son uno de los centros de inters
de muchas, si no todas, de las reas del campo de la informtica.
2) Puedes trabajar en orden.
3) Te redacta en orden paso a paso lo que hay que hacer.
4) Ayuda a resolver ms fcil y rpido los problemas.
5) Disminuye sensiblemente el riesgo de errores.
6) Favorece el obtener el mximo de informacin.

Desventajas de un algoritmo:
1) Hay textos que desarrollan los algoritmos, mediante diversos tipos de programas,
por ejemplo: el lenguaje de programacin C++, pero para comprender las letras
deben poseer al menos un ao de experiencia en ese lenguaje de programacin
de alto y bajo nivel.
2) Muchos algoritmos interesantes llevan implcitos complicados mtodos de
organizacin de los datos utilizados.
3) Con frecuencia sucede que muchos de los algoritmos que se van a utilizar son
fciles de implementar una vez que se ha descompuesto el programa, sin
embargo, en la mayor parte de los casos, existen unos pocos algoritmos cuya
eleccin es crtica porque su ejecucin ocupara la mayora de los recursos del
sistema.
4) La eleccin del mayor algoritmo para una tarea particular puede ser un proceso
muy complicado y con frecuencia conllevara un anlisis matemtico sofisticado.
5) Actualmente se est estudiando en la informtica, como seleccionar el algoritmo
que conduzca a la mejor implementacin pues para la mayora de los problemas
existen varios algoritmos diferentes.

PASOS QUE CONFORMAN UN ALGORITMO QUE RESUELVA EL SIGUIENTE


PROBLEMA DE LA VIDA COTIDIANA: LEVANTARSE EN LA MAANA Y LAVARSE
LA CARA Y LOS DIENTES.

Lavarnos los dientes es un procedimiento que realizamos en las maanas al


levantarnos. Veamos la forma de expresar este procedimiento como un Algoritmo:

1. Tomar la crema dental.


2. Destapar la crema dental.
3. Tomar el cepillo de dientes.
4. Aplicar crema dental al cepillo.
5. Tapar la crema dental.
6. Abrir la llave del lavamanos.
7. Remojar el cepillo con la crema dental.
8. Cerrar la llave del lavamanos.
9. Frotar los dientes con el cepillo.
10. Abrir la llave del lavamanos.
11. Enjuagarse la boca.
12. Enjuagar el cepillo.
13. Cerrar la llave del lavamanos.
14. Secarse la cara y las manos con una toalla.
Inicio
Algoritmo representado en un
Diagrama de flujo que muestra
la estructura secuencial del problema Abrir la llave del
planteado. lavamanos

Enjuagarse la cara

Tomar el cepillo de
dientes

Destapar la crema
dental

Aplicar crema
dental al cepillo

Tapar la crema
dental

Remojar el cepillo
con la crema dental

Frotar los dientes


con el cepillo

Enjuagarse la boca

Enjugar el cepillo

Cerrar la llave del


lavamanos

Secarse la cara y las


manos con una toalla

Fin
LEXICO, SINTAXIS, SEMNTICA

Un lenguaje de programacin es un lenguaje especial, no natural, diseado con un


vocabulario, morfologa y sintaxis muy simples y rgidas y orientadas a la programacin de
instrucciones elementales cuya ejecucin por un determinado sistema fsico da lugar a la
realizacin de una tarea.

Lxico: Es el conjunto de smbolos que se pueden usar en lenguaje. Estos smbolos o


elementos bsicos del lenguaje, podrn ser los siguientes:

Identificadores: Nombres simblicos que se darn a ciertos elementos de


programacin (nombres de variables, tipos, mdulos, etc.).
Constantes: Datos que no cambiaran su valor a los largo del programa.
Operadores: Smbolos que representaran operaciones entre variables y
constantes.
Instrucciones: Smbolos especiales que representaran estructuras de
procesamiento, y definicin de elementos de programacin.
Comentarios: Texto que se usara para documentar los programas.

Sintaxis: Es el conjunto de reglas que gobiernan la construccin o formacin de


sentencias (instrucciones) vlidas en un lenguaje. La sintaxis de un lenguaje de
programacin es el aspecto que ofrece el programa. Proporcionar las reglas de sintaxis
para un lenguaje de programacin significa decir cmo se escriben los enunciados,
declaraciones y otras construcciones de lenguaje.

La sintaxis, cuya definicin seria la disposicin de palabras como elementos en una


oracin para mostrar su relacin, describe la serie de smbolos que constituyen
programas vlidos. Solamente las sentencias correctamente sintcticas pueden ser
traducidas por un lenguaje de programacin, y los programas que contienen errores de
sintaxis son rechazados por la computadora. Cada lenguaje de programacin posee sus
propias reglas sintcticas.

El vocabulario de un lenguaje es un conjunto de smbolos (en ocasiones se


denominan smbolos terminales). Los smbolos usuales son: letras, dgitos, smbolos
especiales (, ; : / & + - *, etc.), palabras reservadas o claves if (si), then (entonces), repeat
(repetir), for (o), begin (inicio), end (fin). Las reglas sintcticas son los mtodos de
produccin de sentencias o instrucciones vlidas que permitirn formar un programa. Las
reglas sintcticas permiten reconocer o serie de smbolos es correcta gramaticalmente y a
su vez informacin sobre su significado o semntica.

Las reglas sintcticas deben definir los conceptos de sentencia (instruccin),


expresin, identificador, variables, constantes, etc., y deben permitir de modo fcil verificar
si una secuencia de smbolos es una sentencia, expresin, etc., correcta del lenguaje.
Semntica: Es el conjunto de reglas que proporcionan el significado de una sentencia o
instruccin del lenguaje. La semntica de un lenguaje de programacin es el significado
que se da a las diversas construcciones sintcticas. Por ejemplo, para proporcionar la
sintaxis que se usa en Pascal para declarar un vector de 10 elementos, V, de enteros se
dara una declaracin en Pascal, como: V: array [0...9] of entero. Por otra parte, en C, se
especificara como: int V [10]; si bien ambos crean objetos de datos similares en el tiempo
de ejecucin, su sintaxis es muy diferente. Para entender el significado de la declaracin,
se necesita la semntica tanto de Pascal como de C para esta clase de declaraciones de
arreglo.

Ejemplo: El lenguaje sin duda, forma parte del individuo, de su formacin integral como
ser social; asimismo es vlido afirmar que a travs de l, cada persona participa como
actor principal en los procesos sociales que le permitan afianzar su identidad, interactuar
en una sociedad especfica y compartir la misma cultura. La comunicacin permite
desarrollar acciones y propiciar transformaciones sociales, a travs del dilogo, la crtica
constructiva, el discernimiento, el consenso, la reflexin y todo ello contribuye a que los
individuos sean capaces de construir opiniones o cambiarlas por otras que podran surgir
producto de la interaccin social a partir de la convivencia comunicativa. Dicho esto, se
hace referencia a que estas tres partes son fundamentales en la programacin para el
desarrollo de programas informticos, porque constituyen las rdenes que permitirn
llevar a cabo el proceso deseado. Esto tiene una similitud con el proceso de la
comunicacin ya que para establecer una conversacin con una persona se requiere de
la intervencin de los elementos que influyen en la comunicacin como es el emisor, el
receptor, el mensaje, el canal. En la programacin, la parte lxica, sintaxis y semntica,
son como los elementos de la comunicacin, ya que para programar se necesitan de
estos elementos que permitan transmitir e intercambiar datos numricos, cdigos, o
smbolos, para establecer las instrucciones que se darn al computador.

LENGUAJES DE PROGRAMACIN

Un lenguaje de programacin consiste en un conjunto de rdenes o comandos que


describen el proceso deseado. Cada lenguaje tiene sus instrucciones y enunciados
verbales propios, que se combinan para formar los programas de cmputo.

Caractersticas definitorias de los lenguajes de programacin

Los lenguajes de programacin tienen muchas caractersticas, pero en general las


ms deseables son que el lenguaje sea expresivo, legible y eficiente. Otras se enumeran
a continuacin.

1) Simplicidad: Aumenta la legibilidad y la facilidad de escritura, aunque demasiada


simplicidad tiene el efecto contrario sobre la legibilidad. Aumenta la confiabilidad
del software ya que al ser ms sencillo, la verificacin y deteccin de errores es
ms sencilla.
2) Estructuras de control: Controlan el flujo de ejecucin de los programas. Influyen
en la legibilidad y en la facilidad de escritura. Aumentan el control que el
programador tiene sobre un programa, y por lo tanto aumenta la confiabilidad.
Ejemplos son las estructuras IF-THEN-ELSE, WHILE, FOR, etc.
3) Tipos y estructuras de datos: Son muy tiles ya que organizan la informacin de
acuerdo a su tipo y en estructuras de datos convenientes. Los tipos y estructuras
de datos aumentan la confiabilidad ya que es posible el chequeo de tipos.
4) Diseo de sintaxis: Determina la manera en que se combinan los smbolos y
elementos de un lenguaje. Influye en la legibilidad y facilidad de escritura, en la
confiabilidad y en los costos.
5) Soporte para abstraccin: Minimiza la complejidad de los problemas a resolver
agrupndolos de acuerdo a ciertas caractersticas. Est comprobado que esta
caracterstica aumenta la legibilidad y facilidad de escritura as como la
confiabilidad.
6) Expresividad: Se refiere a la naturalidad con la que un lenguaje expresa sus
sentencias. Aumenta la legibilidad y la confiabilidad, y en general disminuye la
facilidad de escritura y el costo de aprendizaje.
7) Chequeo de tipos: Impacta mucho en la confiabilidad ya que muchos
programadores tienen tendencia a cometer errores de tipos (por ejemplo, cuando
se necesita una matriz, usan un vector). El chequeo puede ser esttico
(en tiempo de compilacin) o dinmico (durante la ejecucin). El chequeo dinmico
es ms flexible pero produce sobrecarga durante la ejecucin.
8) Manejo de excepciones: Aumenta la confiabilidad porque permite al programador
definir el comportamiento que tendr el programa ante tal o cual excepcin. Es una
caracterstica muy deseable, aunque slo se encuentra disponible en los lenguajes
ms modernos. Ciertos lenguajes antiguos han incorporado el manejo de
excepciones en sus versiones ms nuevas.

Tipos de lenguajes de programacin

Los lenguajes de programacin los podemos clasificar en tres grupos:

Lenguajes de maquina: Es un lenguaje compuesto por cdigos que un sistema puede


ejecutar directamente, los problemas ejecutables son precisamente secuencias de
instrucciones de lenguaje de mquina, un ejemplo de instrucciones en lenguaje de
mquina es:

0011 0000 0001


0101 0001 0011

Las anteriores instrucciones le indican a un procesador que sume dos datos y que
luego multiplique ese resultado por otro. Las instrucciones de lenguaje en lenguaje de
mquina estn compuestas por un cdigo que identifica la instruccin (opcode) y uno o
varios operando (o referencias a los mismos).
Lenguaje de bajo nivel (ensamblador): Escribir programas funcionales en lenguaje de
mquina es una tarea que pocas personas desean hacer, pues es muy propenso a
errores y tedioso, por ello a alguien se le ocurri asociar smbolos o mnemnicos a las
instrucciones que una mquina poda realizar, por ejemplo en algn lenguaje
ensamblador las instrucciones en lenguaje de mquina antes mencionadas quedaran:

Add [0] [1]


mul [1] [3]

Para convertir los programas en lenguaje ensamblador a cdigo de mquina se usa


un programa llamado ensamblador.

Lenguajes de alto nivel: Son lenguajes que tienen conjuntos de instrucciones similares a
las palabras del idioma ingles (o algn otro) que son ms fciles de entender por los seres
humanos. Son independientes de la mquina, no dependen del diseo del hardware, son
muy portables. Ms fciles de programar y entender. La sintaxis usada est ms cerca del
lenguaje humano que de la mquina. Inconvenientes: Tiempo de ejecucin mayor y no se
aprovechan los recursos internos de la mquina eficientemente.

En C, las instrucciones para hacer lo que hicimos en lenguaje de mquina y


ensamblador seran:
res=(a+b)*c;

Existen muchos lenguajes de programacin de alto nivel (C/C++, COBOL, Visual


Basic, Java, Modula-2, LISP, etc.)

EJEMPLOS POR CADA TIPO DE LENGUAJE DE PROGRAMACIN

Ejemplo de lenguaje mquina: Para el microprocesador 68000: suma de dos enteros.

Direccin Cdigo Binario Cdigo Ensamblador Alto Nivel


$1000 0011101000111000 MOVE. W $1200, D5 Z=X+Y
$1002 0001001000000000
$1004 1101101001111000 ADD.W $1202. D5
$1006 0001001000000010
$1008 0011000111000101 MOVE.W $D5, $1204
$100A 0001001000000100
Ejemplo de lenguaje ensamblador: Programa fuente que imprime un mensaje en
pantalla.

Ejemplo de lenguaje de alto nivel: Escribir un programa en Pascal que dada una
calificacin en valor alfabtico (A, B, C, D E) indique su equivalente en valor numrico
(4, 5, 6, 7 u 8).
BIBLIOGRAFA

http://conceptodefinicion.de/programacion-informatica/
http://www.mailxmail.com/curso-componentes-pc-s/caracteristicas-programacion
https://hipertextual.com/2015/09/programacion-beneficios
http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/4/informatica_4.pdf
http://www.monografias.com/trabajos-pdf/lenguajes-programacion/lenguajes
programacion2.shtml
http://matesmoliere.github.io/docs/lenguajes_de_programacion2.pdf
http://www.istr.unican.es/asignaturas/intro_sw/cap1-intro-2en1.pdf
http://www.unamerida.com/archivospdf/MIA316-U7.pdf
https://prezi.com/sf5m_0xr_uqh/importacia-de-la-programacion-en-la-vida-diaria/