Está en la página 1de 14

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR


UNIVERSIDAD DE ORIENTE
EXTENSIÓN PUERTO ORDAZ
TECNOLOGÍA EN SISTEMAS INDUSTRIALES
ASIGNATURA: PROGRAMACIÓN EN COMPUTACIÓN
SECCIÓN: 01

PROGRAMACIÓN Y ALGORITMOS

PROFESOR BACHILLER
JORGE PEREZ REYNALDO GONZÁLEZ
C.I.: 25.083.849

CIUDAD GUAYANA, MAYO DE 2017


CONCEPTO DE PROGRAMACIÓN

La programación es el proceso por medio del cual se diseña, codifica, limpia y


protege el código fuente de programas computacionales. A través de la programación se
dictan los pasos a seguir para la creación del código fuente de programas informáticos.
De acuerdo con ellos el código se escribe, se prueba y se perfecciona. El objetivo de la
programación es la de crear software, que después será ejecutado de manera directa por
el hardware de la computadora, o a través de otro programa. La programación se guía por
una serie de reglas y un conjunto pequeño de órdenes, instrucciones y expresiones que
tienden a parecerse a una lengua natural acotada. 

CARACTERÍSTICAS DE LA PROGRAMACIÓN

Un programa útil tiene 5 atributos o características:

 Exactitud y precisión: Un programa debe aceptar datos, procesarlos y generar


resultados sin errores de sintaxis o de lógica; de ahí la necesidad de exactitud y
precisión.
 Integridad o completitud: Un programa es completo sólo 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
diseñado se puede generalizar; es decir puede procesar conjuntos de datos que
varían en el número de transacciones y en la naturaleza de los datos mismos. Las
instrucciones se deben elaborar para que no se limiten a un número específico de
transacciones en el conjunto de datos. No debe suponerse que una parte
específica de datos siempre sea de igual tamaño. El programa contiene diferentes
opciones que pueden o no ser aplicadas durante una corrida. Los usuarios pueden
seleccionar la opción adecuada cada vez.
 Eficiencia: Debe asegurarse que las instrucciones para procesar datos se
selecciones tan rápida y fácilmente 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.
 Documentación: Consiste en la inclusión de auxiliares que explican con claridad
como ocurre el procesamiento de los datos en un programa. La documentación
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; explicación que
describa en el lenguaje común cómo es el procesamiento de los datos; descripción
de los datos que van a introducirse y procesarse, incluyendo su tipo y
tamaño. Interna: Consiste en comentarios y descripciones que se insertan entre
los enunciados ejecutables de un programa. Explica la sucesión de los pasos del
procesamiento y los objetivos de los diferentes grupo de enunciados del programa.
REQUERIMIENTOS Y NECESIDADES QUE EXIGE LA PROGRAMACIÓN DE UNA
SITUACIÓN YA SEA INFORMÁTICA O DEL ÁMBITO COTIDIANO.

En el ámbito informático:

 Capacidad de organización y planificación así como capacidad de gestión de la


Información.
 Capacidad para la resolución de problemas.
 Capacidad para tomar decisiones basadas en criterios objetivos (datos
experimentales, científicos o de simulación disponibles) así como capacidad de
argumentar y justificar lógicamente dichas decisiones, sabiendo aceptar otros
puntos de vista.
 Capacidad de comunicación en lengua extranjera, particularmente en inglés.
 Capacidad para adaptarse a las tecnologías 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 podríamos desarrollar


las actividades, no tendríamos un orden para hacer las cosas.
 Permite tener un orden al momento de realizar actividades específicas.
 Permite mediante una secuencia de pasos el desarrollo de las actividades que se
llevaran a cabo.
 Ayuda a la organización para resolver problemas de manera satisfactoria, a través
de pasos coordinados.
 Proporciona un método sencillo de resolución de problemas de manera rápida.

PARA QUE ES NECESARIO IMPLEMENTAR LA PROGRAMACIÓN, 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 programación.
Aparte de la mejor perspectiva del mundo actual que nos brinda, la programación tiene
numerosos efectos positivos en la salud y en el desarrollo de una persona. Algunos de
ellos son:

 Mejoran la capacidad de atención y concentración. La programación de un


software medianamente complejo, implica una atención extra a cada palabra que
escribimos en el editor de código. Debes recordar los nombres de las variables, las
normas del lenguaje en el que se está programando, el patrón que deseas seguir
para hacer el programa funcionar. Los puntos a tener en cuenta son muy
numerosos, por lo que la atención y la concentración es vital para desarrollar esta
tarea.
 Más autonomía y mayor interés por la experimentación y el
aprendizaje. Cualquier persona que comience a aprender un lenguaje de
programación puede, partiendo de una base mínima, aprender por sí mismo
mediante la experimentación, siendo así más autónoma. ¿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
programación también deja vía libre para la resolución de un mismo problema de
diferentes formas, dando rienda suelta a la experimentación y a la creatividad.
Además, al ser una actividad "multipropósito" (puedes escribir desde un
videojuego hasta un software de gestión de datos), se aumenta de forma natural el
interés de la persona y, por lo tanto, mejora la capacidad de aprendizaje del mismo
(por eso de que, cuanto más nos interesa algo, más recursos centramos en ello).
 Mayor orden y capacidad de comprensión. La programación en cualquier
lenguaje requiere ser ordenados en todo momento; o, por el contrario, el
ordenador no será capaz de comprender correctamente nuestras órdenes.
Además, al estar escribiendo en un idioma completamente diferente, se ejercita
constantemente la capacidad de comprensión para poder plasmar nuestra idea en
código. También ejercitamos esta capacidad de comprensión 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 cálculo y de lógica. Numerosos estudios realizados en
personas muestran que la enseñanza de programación en edades tempranas se
traduce en mejoras en la capacidad de cálculo y de lógica, dos aptitudes muy
asociadas a la acción de programar. En adultos, los resultados, obviamente, son
menores, pero también generan una mejora.

Como se ve, la programación tiene numerosos efectos positivos en un ámbito


psicológico, pero si observamos más allá, el dominio de esta también genera una mayor
aceptación en el mercado laboral y una mayor comprensión del mundo que nos rodea,
atributos muy apreciados en la sociedad actual y que, sin duda, tendrán aún más valor en
ese futuro informatizado que nos aguarda.

SITUACIONES DONDE SE PUEDE APLICAR LA PROGRAMACIÓN EN LA VIDA


COTIDIANA Y EN LA INFORMÁTICA

En la vida cotidiana se emplea la programación frecuentemente para resolver


problemas. En mi día a día, utilizo la programación en todo momento, desde que me
levanto, me voy a la computadora a colocar mi música favorita, hasta ir a cepillarme y
alistarme para ir la universidad. Sin darme cuenta, los pensamientos y organización de la
semana están basados en la programación. Con la programación se utilizan procesos
secuenciales para realizar nuestras labores, por más minina que sea, con un proceso
estructurado, paso a paso, con un inicio y un final.

En informática, la programación se emplea para diseñar aplicaciones y programas,


que permitan hacer una tarea determinada. Por ejemplo, en el desarrollo de un software
para el análisis de inventarios en una planta ensambladora de vehículos.

Programar sirve para resumir y dar funciones a programas que usamos en la vida
diaria, así como también en la informática. La programación en las actividades cotidianas
permite resolver problemas y facilita el uso de la tecnología en las mejores formas, mucho
más sencillas donde la toma de decisiones se ve influenciada y orientada a la sociedad
donde la máquina por sí sola no sirve por sí misma, pero al usarlas complementamos
nuestras capacidades al hacer uso de la tecnología como una herramienta que ayuda al
progreso y facilidad en el desarrollo de la vida cotidiana desde todos los ámbitos. En la
informática es tan importante ya que sin ello las computadoras no cumplirían 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 solución 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 específico o clase de problema.

Características de un algoritmo

Las características que debe poseer una secuencia de tareas para considerarse
algoritmo son: precisión, de finitud y finitud.

PRECISÓN 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 algún 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 idénticos.

Ventajas y desventajas de los algoritmos

Ventajas de un algoritmo: 
1) Los algoritmos son la esencia de la informática, son uno de los centros de interés
de muchas, si no todas, de las áreas del campo de la informática. 
2) Puedes trabajar en orden. 
3) Te redacta en orden paso a paso lo que hay que hacer. 
4) Ayuda a resolver más fácil y rápido los problemas. 
5) Disminuye sensiblemente el riesgo de errores. 
6) Favorece el obtener el máximo de información. 

Desventajas de un algoritmo: 
1) Hay textos que desarrollan los algoritmos, mediante diversos tipos de programas,
por ejemplo: el lenguaje de programación C++, pero para comprender las letras
deben poseer al menos un año de experiencia en ese lenguaje de programación
de alto y bajo nivel. 
2) Muchos algoritmos interesantes llevan implícitos complicados métodos de
organización de los datos utilizados.
3) Con frecuencia sucede que muchos de los algoritmos que se van a utilizar son
fáciles de implementar una vez que se ha descompuesto el programa, sin
embargo, en la mayor parte  de los casos, existen unos pocos algoritmos cuya
elección es crítica porque su ejecución ocupara la mayoría de los recursos del
sistema. 
4) La elección del mayor algoritmo para una tarea particular puede ser un proceso
muy complicado y con frecuencia conllevara un análisis matemático sofisticado. 
5) Actualmente se está estudiando en la informática, como seleccionar el algoritmo
que conduzca a la mejor implementación pues para la mayoría de los problemas
existen varios algoritmos diferentes. 

PASOS QUE CONFORMAN UN ALGORITMO QUE RESUELVA EL SIGUIENTE


PROBLEMA DE LA VIDA COTIDIANA: LEVANTARSE EN LA MAÑANA Y LAVARSE
LA CARA Y LOS DIENTES.

Lavarnos los dientes es un procedimiento que realizamos en las mañanas 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, SEMÁNTICA

Un lenguaje de programación es un lenguaje especial, no natural, diseñado con un


vocabulario, morfología y sintaxis muy simples y rígidas y orientadas a la programación de
instrucciones elementales cuya ejecución por un determinado sistema físico da lugar a la
realización de una tarea.

Léxico: Es el conjunto de símbolos que se pueden usar en lenguaje. Estos símbolos o


elementos básicos del lenguaje, podrán ser los siguientes:

 Identificadores: Nombres simbólicos que se darán a ciertos elementos de


programación (nombres de variables, tipos, módulos, etc.).
 Constantes: Datos que no cambiaran su valor a los largo del programa.
 Operadores: Símbolos que representaran operaciones entre variables y
constantes.
 Instrucciones: Símbolos especiales que representaran estructuras de
procesamiento, y definición de elementos de programación.
 Comentarios: Texto que se usara para documentar los programas.

Sintaxis: Es el conjunto de reglas que gobiernan la construcción o formación de


sentencias (instrucciones) válidas en un lenguaje. La sintaxis de un lenguaje de
programación es el aspecto que ofrece el programa. Proporcionar las reglas de sintaxis
para un lenguaje de programación significa decir cómo se escriben los enunciados,
declaraciones y otras construcciones de lenguaje.

La sintaxis, cuya definición seria “la disposición de palabras como elementos en una
oración para mostrar su relación”, describe la serie de símbolos que constituyen
programas válidos. Solamente las sentencias correctamente sintácticas pueden ser
traducidas por un lenguaje de programación, y los programas que contienen errores de
sintaxis son rechazados por la computadora. Cada lenguaje de programación posee sus
propias reglas sintácticas.

El vocabulario de un lenguaje es un conjunto de símbolos (en ocasiones se


denominan símbolos terminales). Los símbolos usuales son: letras, dígitos, símbolos
especiales (, ; : / & + - *, etc.), palabras reservadas o claves if (si), then (entonces), repeat
(repetir), for (o), begin (inicio), end (fin). Las reglas sintácticas son los métodos de
producción de sentencias o instrucciones válidas que permitirán formar un programa. Las
reglas sintácticas permiten reconocer o serie de símbolos es correcta gramaticalmente y a
su vez información sobre su significado o semántica.

Las reglas sintácticas deben definir los conceptos de sentencia (instrucción),


expresión, identificador, variables, constantes, etc., y deben permitir de modo fácil verificar
si una secuencia de símbolos es una sentencia, expresión, etc., correcta del lenguaje.
Semántica: Es el conjunto de reglas que proporcionan el significado de una sentencia o
instrucción del lenguaje. La semántica de un lenguaje de programación es el significado
que se da a las diversas construcciones sintácticas. Por ejemplo, para proporcionar la
sintaxis que se usa en Pascal para declarar un vector de 10 elementos, V, de enteros se
daría una declaración en Pascal, como: V: array [0...9] of entero. Por otra parte, en C, se
especificaría como: int V [10]; si bien ambos crean objetos de datos similares en el tiempo
de ejecución, su sintaxis es muy diferente. Para entender el significado de la declaración,
se necesita la semántica tanto de Pascal como de C para esta clase de declaraciones de
arreglo.

Ejemplo: El lenguaje sin duda, forma parte del individuo, de su formación integral como
ser social; asimismo es válido afirmar que a través de él, cada persona participa como
actor principal en los procesos sociales que le permitan afianzar su identidad, interactuar
en una sociedad específica y compartir la misma cultura. La comunicación permite
desarrollar acciones y propiciar transformaciones sociales, a través del diálogo, la crítica
constructiva, el discernimiento, el consenso, la reflexión y todo ello contribuye a que los
individuos sean capaces de construir opiniones o cambiarlas por otras que podrían surgir
producto de la interacción social a partir de la convivencia comunicativa. Dicho esto, se
hace referencia a que estas tres partes son fundamentales en la programación para el
desarrollo de programas informáticos, porque constituyen las órdenes que permitirán
llevar a cabo el proceso deseado. Esto tiene una similitud con el proceso de la
comunicación ya que para establecer una conversación con una persona se requiere de
la intervención de los elementos que influyen en la comunicación como es el emisor, el
receptor, el mensaje, el canal. En la programación, la parte léxica, sintaxis y semántica,
son como los elementos de la comunicación, ya que para programar se necesitan de
estos elementos que permitan transmitir e intercambiar datos numéricos, códigos, o
símbolos, para establecer las instrucciones que se darán al computador.

LENGUAJES DE PROGRAMACIÓN

Un lenguaje de programación 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 cómputo.

Características definitorias de los lenguajes de programación

Los lenguajes de programación tienen muchas características, pero en general las


más deseables son que el lenguaje sea expresivo, legible y eficiente. Otras se enumeran
a continuación.

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 más sencillo, la verificación y detección de errores es
más sencilla.
2) Estructuras de control: Controlan el flujo de ejecución 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 información 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) Diseño de sintaxis: Determina la manera en que se combinan los símbolos y
elementos de un lenguaje. Influye en la legibilidad y facilidad de escritura, en la
confiabilidad y en los costos.
5) Soporte para abstracción: Minimiza la complejidad de los problemas a resolver
agrupándolos de acuerdo a ciertas características. Está comprobado que esta
característica 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 estático
(en tiempo de compilación) o dinámico (durante la ejecución). El chequeo dinámico
es más flexible pero produce sobrecarga durante la ejecución.
8) Manejo de excepciones: Aumenta la confiabilidad porque permite al programador
definir el comportamiento que tendrá el programa ante tal o cual excepción. Es una
característica muy deseable, aunque sólo se encuentra disponible en los lenguajes
más modernos. Ciertos lenguajes antiguos han incorporado el manejo de
excepciones en sus versiones más nuevas.

Tipos de lenguajes de programación

Los lenguajes de programación los podemos clasificar en tres grupos:

Lenguajes de maquina: Es un lenguaje compuesto por códigos que un sistema puede


ejecutar directamente, los problemas ejecutables son precisamente secuencias de
instrucciones de lenguaje de máquina, un ejemplo de instrucciones en lenguaje de
máquina 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
máquina están compuestas por un código que identifica la instrucción (opcode) y uno o
varios operando (o referencias a los mismos).
Lenguaje de bajo nivel (ensamblador): Escribir programas funcionales en lenguaje de
máquina es una tarea que pocas personas desean hacer, pues es muy propenso a
errores y tedioso, por ello a alguien se le ocurrió asociar símbolos o mnemónicos a las
instrucciones que una máquina podía realizar, por ejemplo en algún lenguaje
ensamblador las instrucciones en lenguaje de máquina antes mencionadas quedarían:

Add [0] [1]


mul [1] [3]

Para convertir los programas en lenguaje ensamblador a código de máquina 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 algún otro) que son más fáciles de entender por los seres
humanos. Son independientes de la máquina, no dependen del diseño del hardware, son
muy portables. Más fáciles de programar y entender. La sintaxis usada está más cerca del
lenguaje humano que de la máquina. Inconvenientes: Tiempo de ejecución mayor y no se
aprovechan los recursos internos de la máquina eficientemente.

En C, las instrucciones para hacer lo que hicimos en lenguaje de máquina y


ensamblador serían:
res=(a+b)*c;

Existen muchos lenguajes de programación de alto nivel (C/C++, COBOL, Visual


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

EJEMPLOS POR CADA TIPO DE LENGUAJE DE PROGRAMACIÓN

Ejemplo de lenguaje máquina: Para el microprocesador 68000: suma de dos enteros.

Dirección Código Binario Código 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
calificación en valor alfabético (A, B, C, D ó E) indique su equivalente en valor numérico
(4, 5, 6, 7 u 8).
BIBLIOGRAFÍA
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/

También podría gustarte