Tema I Introducción A Los Algoritmos y La Programación

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA


UNIVERSIDAD BOLIVARIANA DE VENEZUELA
PROGRAMA DE FORMACIÓN DE GRADO: INFORMÁTICA PARA LA GESTIÓN
SOCIAL
UNIDAD CURRICULAR: ALGORITMO Y PROGRAMACIÓN
SECCIÓN: 1102D

INTRODUCCIÓN A
LOS ALGORITMOS
Y LA
PROGRAMACIÓN

PROFESORA: ESTUDIANTE:
IEHOVANA SAHMKOW
CARACAS, MARZO DE 2023
ÍNDICE
INTRODUCCIÓN...........................................................................................................................3
DESARROLLO…………………………..……………………………………………..………4-6
 INTRODUCCIÓN A LOS ALGORITMOS Y LA PROGRAMACIÓN............................4
 LENGUAJE DE MÁQUINA..............................................................................................4
 LENGUAJE DE PROGRAMACIÓN.................................................................................4
 COMPILADORES E INTERPRETADORES.................................................................4-5
 CICLO DE VIDA DE UN SISTEMA.................................................................................5
 ALGORITMOS...................................................................................................................6
 HISTORIA DE LOS ALGORITMOS.............................................................................6-7
CONCLUSIÓN................................................................................................................................8
REFERENCIAS BIBLIOGRÁFICAS............................................................................................9

2
INTRODUCCIÓN
Es indudable que, gracias a la programación, pueden organizarse las acciones necesarias
para que un proyecto, software, o sistema informático pueda ejecutarse. Sin la programación,
muchos de los avances tecnológicos con los que contamos, no existirían.
De hecho, podemos decir que, la importancia de la programación reside en que, con ella
puede desarrollarse cualquier funcionalidad tecnológica. Además, la programación se basa en
algoritmos, estos últimos son escritos en código o en lenguaje natural que permiten resolver un
problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades.
Asimismo, la programación y los algoritmos aplican el uso de lenguajes de programación
que pueden ser de perfil bajo o alto, siendo el primero, el conocido lenguaje de máquina que
consiste en números binarios de ceros y unos, y el segundo, se basa en lenguajes u códigos
escritos.
Sin embargo, para que la CPU admita códigos escritos hace falta traducirlos a lenguaje de
máquina, ya que solo ejecutan este formato, para llevarlos a lenguaje de máquina se hace uso de
compiladores.
También, si no queremos compilar el software que hemos creado, podemos utilizar
interpretadores, estos realizan la traducción a medida que sea necesaria, típicamente, instrucción
por instrucción, y normalmente no guardan el resultado de dicha transcripción.
Por otro lado, existe una desventaja a la hora de emplear interpretadores que
compiladores, puesto que los softwares interpretados resultan ser muy lentos que uno compilado
debido a la diferencia en velocidades de una a la otra.
Finalmente, es necesario aprender programación porque viene a ser como un idioma más,
en el que se logra una comunicación directa con el ambiente tecnológico. Al aprenderlo se
dispone a entrar a un mundo de oportunidades laborales con muchas demandadas, soluciones y
desarrollo.

3
INTRODUCCIÓN A LOS ALGORITMOS Y LA PROGRAMACIÓN

LENGUAJE DE MÁQUINA
El lenguaje de máquina es un lenguaje de bajo nivel, compuesto por números binarios
(ceros y unos). Este lenguaje se ejecuta directamente en la CPU de la computadora y actúa sobre
el hardware que compone el equipo.
Cuando se usa la expresión “bajo nivel” para referirse a este lenguaje no se refiere a que
sea menos importante ni mucho menos, esto muestra el nivel de abstracción entre este lenguaje y
el hardware de la máquina, puesto que como te darás cuenta, programar solamente con unos y
ceros es literalmente imposible, por ello tienes que utilizar un lenguaje de alto nivel como por
ejemplo C++ para crear los algoritmos y desarrollar el código.
Luego de ello, este lenguaje de programación compilará tu programa y lo convertirá a
lenguaje de máquina, para que actúe directamente sobre el procesador del dispositivo para el cual
estás programando el software.
Esto es así debido a que como mencionamos, los dispositivos digitales como
computadoras y otro hardware programable sólo pueden interpretar datos binarios. Es por ello
que todo lo que ves en la computadora está compuesto por unos y ceros. Cada una de las
imágenes que componen un programa que usas, video que miras o canción que escuchas,
incluyendo este texto que estás leyendo, es binario.
En este sentido, para que puedas ver la complejidad del lenguaje de máquina, tienes el
siguiente ejemplo: para que el dispositivo sea capaz de mostrar un simple “Hola”, es necesario
procesar 01101000011011110110110001100001. De aquí radica la importancia de los lenguajes
de programación o de alto nivel.

LENGUAJE DE PROGRAMACIÓN
Es un programa destinado a la construcción de otros programas informáticos,
aplicaciones u softwares. Dicho lenguaje está compuesto por símbolos y reglas sintácticas y
semánticas, expresadas en forma de instrucciones y relaciones lógicas, mediante las cuales se
construye el código fuente de una aplicación o pieza de software determinado. En otras palabras,
permiten la creación de software a través de código escrito o líneas de texto, las cuales
conforman un conjunto conocido como Source Code (Código Fuente), siendo esto último el
software creado tal cual y como se presenta en el monitor.
También, se les denominan lenguajes de alto nivel y pueden contar con un compilador.

COMPILADORES E INTERPRETADORES
Los compiladores son softwares que traducen un programa escrito en un lenguaje de
programación de alto nivel en lenguaje de máquina con el fin de ejecutarlo en la CPU de la
computadora y actuar sobre el hardware que compone el equipo.
En cambio, los interpretadores son programas informáticos que ejecutan directamente
instrucciones escritas en un lenguaje de programación o scripting, sin necesidad de que hayan
sido compiladas previamente en un programa de lenguaje máquina.

4
Asimismo, los intérpretes solo realizan la traducción a medida que sea necesaria,
típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha
traducción. Los programas interpretados suelen ser más lentos que los compilados debido a la
necesidad de traducir el programa mientras se ejecuta, incluyéndose que la diferencia en
velocidades puede ser minúscula o grande.

CICLO DE VIDA DE UN SISTEMA


Se trata de las fases por las que debe pasar un sistema de informática en cuanto al análisis
y el diseño para mantener la estructura y el funcionamiento de otro sistema desarrollado, tanto
web como empresarial. En el ciclo de vida de un sistema de información pueden distinguirse
siete fases:
1. Planificación: en esta fase se prepara el diseño y posterior implementación del sistema.
Es necesario definir el alcance del proyecto, justificarlo y escoger una metodología para
su desarrollo. También es preciso asociar las diferentes actividades a plazos de tiempo y
designar roles y responsabilidades.
2. Análisis: averiguar qué es exactamente lo que tiene que hacer el sistema. La etapa de
análisis en el ciclo de vida del de un sistema corresponde al proceso mediante el cual se
intenta descubrir qué es lo que realmente se necesita y se llega a una comprensión
adecuada de los requerimientos del sistema.
3. Diseño: se han de estudiar posibles alternativas de implementación para el sistema de
información que hemos de construir y se ha de decidir la estructura general que tendrá el
sistema (su diseño arquitectónico). El diseño de un sistema es complejo y el proceso de
diseño ha de realizarse de forma iterativa. Todo esto es enseñado a la parte gerencial de la
empresa, de forma que estén enterados de la naturaleza del software (por ejemplo, si está
basado en java, HTML, entre otros), características del hardware, las tareas relacionadas
a tecnología que hay que realizar, entre otros. Básicamente es la parte gráfica del
software con el que interactúa el usuario o como es el hardware físicamente.
4. Desarrollo: el desarrollo software marca un antes y un después en la vida del sistema y
significa, además, el inicio de la producción. El cambio es una constante durante esta
etapa, en la que suele ser recomendable poner el foco en la formación y capacitación de
los usuarios y el equipo técnico, es decir en esta fase se genera el código fuente en el
lenguaje de programación escogido.
5. Integración y Periodo de Pruebas: el objetivo de esta etapa es corroborar que el diseño
propuesto cumple con los requisitos de negocio establecidos. Puede ser necesario repetir
las pruebas tantas veces como haga falta para evitar errores y, de hecho, conviene que el
usuario final dé su conformidad con el resultado. Por último, este estadio concluye con la
verificación y validación, que ayudan a asegurar la compleción del programa con éxito.
6. Implementación: es cuando se lanza el sistema en el mercado o la empresa que se vaya
utilizar, dando a los clientes información acerca del software o hardware que se desea
promocionar e implementar.
7. Mantenimiento: después de haber lanzado el sistema en el negocio o público al que va
dirigido, se debe entender que existe la posibilidad de fallos y, por ello, hay que tener
muy bien establecido un plan de pruebas, de soporte y de mantenimiento para corregir,
incluso mejorar el hardware u software.

5
ALGORITMOS
Es un conjunto de instrucciones sistemáticas y previamente definidas que se utilizan para
solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o
actividades. Estas instrucciones están ordenadas y acotadas a manera de pasos a seguir para
alcanzar un objetivo. Dicho de otra forma, todo programa o sistema operativo funciona a través de
algoritmos, escritos en un lenguaje de programación que el ordenador pueda entender para
ejecutar los pasos o instrucciones de una forma automatizada.
Todo algoritmo tiene una entrada, conocida como input y una salida, conocida como
output, y entre medias, están las instrucciones o secuencia de pasos a seguir. Estos pasos deben
estar ordenados y, sobre todo, deben ser una serie finita de operaciones que permitan conseguir
una determinada solución.

HISTORIA DE LOS ALGORITMOS


Un algoritmo sencillamente son pasos para resolver un problema, como leer una receta de
cocina, es decir, es una receta para solución de problemas. Los algoritmos están en todas partes,
desde que te levantas en la mañana estas en contacto con algoritmos, ya sea cuando suena tu
despertador en tu teléfono, uses cualquier equipo electrónico, cuando estas frente a un semáforo,
pagues con la tarjeta de crédito o débito, en fin, no puedes volver a dormir sin estar en contacto
con ellos. ¿Pero cuál es su historia? ¿Cómo llegaron a ser parte fundamental de nuestro diario
vivir?
A pesar de que aparentase que el empleo de algoritmos es algo reciente, la realidad es que
en la antigüedad ya se empleaban algoritmos como en el caso de los babilonios para resolver
multiplicaciones y raíces cuadradas. Los egipcios usaban un algoritmo de multiplicación similar
al de expansión binaria. Sin embargo, aún no existía el concepto de algoritmo como tal ni las
bases teóricas para ello.
La palabra algoritmo proviene de la traducción al latín de Al-Khwārizmī que es el
nombre de un matemático y astrónomo quien escribió un tratado sobre manipulación de números
y ecuaciones en el siglo IX llamado Quitab Al Jabr Al Mugabala. En sus escritos se recolectan el
sistema de numeración hindú, el concepto del cero y desarrolló con un número limitados de
procesos para resolver ecuaciones de primer y segundo grado. Alcanzó gran reputación por el
enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir números decimales.
Al-Khwārizmī preservó y difundió el conocimiento griego e hindú. Lamentablemente su texto
sobre tratados de números se perdió, su versión latina del libro de cálculo con los números
hindúes sí se conoce. Sin embargo, del libro de algebra si se preserva manuscritos árabes, pero
son datados cinco siglos posterior a la fecha de redacción de Al-Khwārizmī. Debemos tener en
cuenta que Al-Khwārizmī no fue el creador del primer algoritmo –anteriormente mencionamos
que ya se empleaban algoritmos-, pero si fue el primero en pensar en modo algorítmico.
Por un tiempo los algoritmos solo se conceptualizaban para reglas de aritmética para
números arábicos. No fue hasta el siglo VXIII que se comienza a emplear algoritmos con el
concepto tal y como hoy se conoce.
El primer caso de algoritmos computacionales proviene del año 1842 de los escritos de la
matemática británica Ada Lovelace para la maquina analítica de Charles Babbage. De allí que
sea considerada como el primer programador de la historia, que además en su honor a un
lenguaje de programación se le ha colocado su nombre, este es el lenguaje de programación Ada.
6
Sin embargo, dado que Babbage nunca terminó su máquina analítica, el algoritmo que realizó no
llegó a implementarse. No obstante, su trabajo inspiró a otros investigadores que se dedicaron a
este campo.
Años más tarde en el 1900 el matemático David Hilbert había propuesto varias preguntas
fundamentales sobre problemas teóricos de las matemáticas, como es el caso del problema de la
decisión planteada por el matemático Gottfrie Leibniz que decía: "¿Es posible encontrar una
manera sencilla de decidir si un problema matemático cualquiera tiene solución?". En el año
1931 el matemático Kurt Gödel publica el Teorema de Incompletitud donde postula que existen
proposiciones que son indecidibles. En base a este problema entre los años 1930 y 1940 derivó el
desarrollo teórico y formalización de los algoritmos con los trabajos de Alan Turing, Emil Post,
Stephen Kleene y Alonzo Church con el objetivo de resolver este problema o demostrar el
Teorema.
Entre los años 1950 y 1960 los lenguajes de programación, compiladores y sistemas
operativos estaban en desarrollo, por lo tanto, se convirtieron tanto en el sujeto como la base para
la mayoría del trabajo teórico sobre los algoritmos. Sin embargo, no fue hasta la década de 1980
de la mente de Paul Benioff y Richard Feynman que una nueva revolución en la teoría de los
algoritmos resurge, esta fue la computación cuántica, que a diferencia de las clásicas funciona
sobre los principios de la mecánica cuántica, en donde los bits podían estar super posicionados
en diferentes estados a la vez a diferencia de las computadoras clásicas que solo pueden estar en
1 o 0. A este nuevo estado super posicionado de bit se le llama qbits y es la base de este tipo de
computadoras. Esto trajo consigo el desafío de desarrollar algoritmos para computadoras
cuánticas. Entre los años 1992 y 1998 David Deutsch, Richard Cleve, Artur Ekert, Chiara
Macchiavello, Michele Mosca, Peter Shor y Lov Grover realizaron trabajos sobre algoritmos
cuánticos.
Desde la creación del primer algoritmo estos han sido indispensables para el desarrollo
humano, especialmente hoy en día estamos dominado por la era de los algoritmos. Podríamos
decir que desarrollar algoritmos es una de las herramientas más importantes para el desarrollo de
cualquier civilización, por lo tanto, conocer su historia es conocer el desarrollo de la civilización
humana.

7
CONCLUSIÓN
Se puede decir que el lenguaje de máquina es un lenguaje, compuesto por números
binarios de ceros y unos, que se ejecutan directamente en la CPU de la computadora con el fin de
hacerla funcionar o cumplir con la razón por la cual fue creada.
Asimismo, los lenguajes de programación pueden ser de alto perfil o de bajo perfil,
siendo este último lo que se conoce como lenguaje de máquina. Aquellos que son de alto perfil
son los lenguajes escritos, los cuales son más fáciles de usar y comprender, puesto que se basan
en símbolos y reglas sintácticas y semánticas, expresadas en forma de instrucciones y relaciones
lógicas, mediante las cuales se construye el código fuente de una aplicación o pieza de software
determinado.
Por otro lado, se debe hacer uso de compiladores e interpretadores para poder utilizar el
software u aplicación que se ha creado en el lenguaje de programación utilizado, puesto que la
CPU o Unidad Central de Procesamiento solo admite lenguaje de máquina para ejecutar, por lo
tanto, el lenguaje escrito del software elaborado, necesita de un compilador para que se encargue
de traducirlo a lenguaje de máquina o sino emplear un interpretador para ejecutarlo
indirectamente en la CPU. Sin embargo, hacer esto último implica que el programa corra
lentamente en nuestro ordenador en comparación de una versión compilada debido a problemas
de velocidad para procesarlo.
También, cabe destacar que un algoritmo es un conjunto de reglas definidas que permite
solucionar un problema, de una determinada manera, mediante operaciones sistemáticas (no
necesariamente ordenadas) y finitas. Estas instrucciones, definidas y ordenadas en función de los
datos, resuelven el problema o la tarea en cuestión, ya sea preparar un postre suculento (el
algoritmo sería la receta) como aparecer entre los primeros resultados de Google para una
búsqueda determinada.
Finalmente, se destaca que la programación es de vital importancia porque con ella, es
posible crear una aplicación o software para desarrollar un proyecto que puede llegar a ser
indispensable en nuestras vidas diarias como Windows, Word, Excel y otros softwares o
programas informáticos.

8
REFERENCIAS BIBLIOGRÁFICAS
 https://open-bootcamp.com/aprender-programar/lenguaje-maquina
 https://www.tecnologia-informatica.com/lenguaje-de-maquina/
 https://concepto.de/lenguaje-de-programacion/
 https://www.areatecnologia.com/informatica/lenguajes-de-programacion.html
 https://www.europeanvalley.es/noticias/que-es-un-compilador-en-programacion/
 https://academia-lab.com/enciclopedia/interprete-informatica/
 https://sutilweb.com/2021/12/09/interprete-informatica/
 https://www.ecured.cu/Int%C3%A9rprete_(Inform%C3%A1tica)#Eficiencia
 https://www.euroinnovaformacion.com.ve/blog/que-es-el-ciclo-de-vida-de-un-
sistema#periacuteodosnbspdel-ciclo-de-vida-de-un-sistema
 https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/ciclo-de-vida-de-un-sistema-de-
informacion-fases-y-componentes
 https://www.gestiopolis.com/ciclo-de-vida-de-un-sistema-de-informacion/
 https://keepcoding.io/blog/ciclo-de-vida-del-desarrollo-del-sistema/#Fase_de_desarrollo
 https://ungoti.com/es/soluciones/desarrollo-de-software/sdlc/
 https://www.ferrovial.com/es/stem/algoritmos/#:~:text=%C2%BFQu%C3%A9%20son
%20los%20algoritmos%3F,seguir%20para%20alcanzar%20un%20objetivo.
 https://www.ecured.cu/Algoritmo
 http://huellasdeunamentelibre.blogspot.com/2019/03/historia-de-los-algoritmos.html
 https://www.edix.com/es/instituto/que-es-algoritmo/
 https://www.epitech-it.es/la-importancia-de-la-programacion/#:~:text=Gracias%20a
%20la%20programaci%C3%B3n%2C%20pueden,los%20que%20contamos%2C%20no
%20existir%C3%ADan.
 https://www.galileo.edu/pdh/historias-de-exito/por-que-es-importante-aprender-a-
programar/#:~:text=La%20programaci%C3%B3n%20viene%20a%20ser,mundo%20de
%20soluciones%20y%20desarrollo.

También podría gustarte