Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matricula:
2022-1947
Asignatura:
Introducción a la elaboración de algoritmos
Facilitador/a:
José Abreu Sánchez
Algoritmos Fundamentales:
Se puede entender un algoritmo como una secuencia de pasos finitos bien
definidos que resuelven un problema. Por ejemplo, la ejecución de tareas
cotidianas tan simples como cepillarse los dientes, lavarse las manos o seguir el
manual de instrucciones de armado de un mueble, se pueden ver como un
algoritmo.
Input (entrada). Información que damos al algoritmo con la que va a trabajar para
ofrecer la solución esperada.
Proceso. Conjunto de pasos para que, a partir de los datos de entrada, llegue a la
solución de la situación.
Existen lenguajes de programación de bajo nivel y de alto nivel que, a pesar de ser
simples en comparación con los lenguajes humanos, son más complejos que los
lenguajes de máquina. Los lenguajes de bajo nivel incluyen ensamblador y
lenguajes de máquina. Un lenguaje ensamblador contiene una lista de instrucciones
básicas y es mucho más difícil de leer que un lenguaje de alto nivel. Los lenguajes
de alto nivel, por su parte, están diseñados para ser fáciles de leer y entender, lo
cual permite a los programadores escribir códigos fuente de forma natural,
utilizando palabras y símbolos lógicos.
Tipos de datos:
Los datos a procesar por una computadora pueden clasificarse en:
• Simples
• Estructurados
Los datos simples ocupan solo una casilla de memoria, por lo tanto, una variable
simple hace referencia a un único valor a la vez. Dentro de ese grupo de datos se
encuentran: enteros, reales, caracteres, booleanos.
Los datos estructurados se caracterizan por el hecho de que con un nombre
(identificador de variable estructurada) se hace referencia a un grupo de casillas de
memoria. Es decir, un dato estructurado tiene varios componentes (pueden ser
datos simples o estructurados). Sin embargo, los componentes básicos (los del
nivel más bajo) de un dato estructurado son datos simples. Dentro de este grupo de
datos se encuentran: arreglos, cadenas de caracteres, registros y conjuntos.
Manejo de Variables:
Las variables, como su nombre lo indica, se utilizan para almacenar valores que
tienen la propiedad de variar el contenido. Cuando hablamos de contenido nos
referimos a cualquier tipo de datos, por ejemplo, un nombre, una fecha, un color,
un número etc. A las variables se les asigna un nombre para poder utilizarlas.
Por ejemplo, puedo crear una variable llamada fecha y esta almacenará una fecha.
A los nombres de las variables se los denomina identificadores.
Unidades de información:
Las aplicaciones que suministran este modelo de servicio son accesibles a través de
un navegador web o de cualquier aplicación diseñada para tal efecto y el usuario
no tiene control sobre ellas, aunque en algunos casos se le permite realizar algunas
configuraciones. Esto le elimina la necesidad al cliente de instalar la aplicación en
sus propios computadores, evitando asumir los costos de soporte y el
mantenimiento de hardware y software.
Un escenario al que se aspira con la llegada de la web 3.0, es que cada usuario
tenga un perfil personal en internet basado en su historial de búsquedas, mismo que
se usará para brindarle una experiencia de navegación única. De esta manera, al
colocar dos personas los mismos criterios de búsqueda en un servicio, cada una
recibirá distintos resultados conforme a sus perfiles personales.
Lenguaje ensamblador
Los lenguajes de bajo nivel están muy relacionados con el lenguaje máquina.
Ambos tipos de lenguaje tienen como objetivo ser comprendidos por un
ordenador. La única diferencia es que los lenguajes ensambladores están
hechos para ser escritos por humanos de manera sencilla. Pese a esto, tiene
que ser traducido por un programa conocido como Ensamblador para que los
ordenadores puedan comprenderlo.
Intérpretes:
Un intérprete es un traductor que toma un programa fuente, lo traduce y, a
continuación, lo ejecuta. Los programas intérpretes clásicos como BASIC,
prácticamente ya no se utilizan, más que en circunstancias especiales.
Sin embargo, está muy extendida la versión interpretada del lenguaje Smalltalk, un
lenguaje orientado a objetos puro.
Compiladores:
1. Escritura del programa fuente con un editor (programa que permite a una
computadora actuar de modo similar a una máquina de escribir electrónica) y
guardarlo en un dispositivo de almacenamiento (por ejemplo, un disco).
Fortran, se trata del lenguaje de programación más antiguo y que continúa en uso
hoy en día. Este lenguaje se sigue utilizando en la industria automovilística,
gubernamental, aeroespacial y en la investigación. Por ejemplo, resulta muy eficaz
para pronosticar el tiempo.
1964: Basic: Desarrollado por alumnos de Darmouth College, Basic fue diseñado
como un lenguaje simplificado para aquellos que no contaban con grandes
conocimientos técnicos o matemáticos. Una versión modificada de Basic,
elaborada por Bill Gates y Paul Allen, fue el primer producto de Microsoft. En
1977, Basic fue integrado en el Apple II para su puesta en marcha.
1970 (Pascal): Este lenguaje de programación se creó por Niklaus Wirth, que le
puso en nombre “Pascal” en honor a Blaise Pascar, el inventor de las calculadoras
matemáticas. Este lenguaje se desarrolló como una herramienta de enseñanza y
formación, aunque su uso es comercial. Por ejemplo, es el lenguaje de
programación que se utiliza en Skype.
1987: Perl: Desarrollado por un programador de Unix, Larry Wall, Perl como
solución a las flaquezas de Unix. Actualmente, se utiliza en CraigList.
1993: Ruby: Este lenguaje fue creado por Yukihiro Matsumoto, que utilizó partes
de sus lenguajes de programación preferidos: Perl, Smalltalk, Eiffel, Ada y Lisp.
Ahora se utiliza por Base camp.
2009: Go, de Google: Se trata, nada más y nada menos, que el lenguaje de
programación creado por Google. 2009, Go, de Google. Se inspira en C, pero es
más complejo. Sigamos descubriendo más lenguajes que forman parte de la
evolución de los lenguajes de programación.
Paradigmas de programación:
Un paradigma de programación es una manera o estilo de programación de
software. Existen diferentes formas de diseñar un lenguaje de programación y
varios modos de trabajar para obtener los resultados que necesitan los
programadores. Se trata de un conjunto de métodos sistemáticos aplicables en
todos los niveles del diseño de programas para resolver problemas
computacionales.
Lenguajes declarativos:
Este paradigma no necesita definir algoritmos puesto que describe el problema en
lugar de encontrar una solución al mismo. Este paradigma utiliza el principio del
razonamiento lógico para responder a las preguntas o cuestiones consultadas.
Podemos definir un objeto como una estructura abstracta que, de manera más
fiable, describe un posible objeto del mundo real y su relación con el resto
del mundo que lo rodea a través de interfaces. Ejemplos de lenguajes de
programación orientados a objetos serían Java, Python o C#.
Metodología de la programación:
La metodología de programación es el enfoque teórico - práctico que hace posible
encontrar soluciones a problemas complejos partiendo del análisis y apoyándose en
la planificación. Este planteamiento hace posible maximizar la eficiencia del
desarrollo del software al ganar en visibilidad y control.
1. Especificación de datos.
3. Especificación de requisitos.
Programación estructurada.
La programación estructurada es una teoría orientada a mejorar la claridad, calidad
y tiempo de desarrollo utilizando únicamente subrutinas o funciones. Basada en el
teorema del programa estructurado propuesto por Böhm y Jacopini, ha permitido
desarrollar software de fácil comprensión.
Herramientas de programación:
Las herramientas de programación, son aquellas que permiten realizar aplicativos,
programas, rutinas, utilitarios y sistemas para que la parte física del computador u
ordenador, funcione y pueda producir resultados.
Las herramientas de programación más comunes del mercado, cuentan hoy día con
programas de depuración o debugger, que son utilitarios que nos permiten detectar
los posibles errores en tiempo de ejecución o corrida de rutinas y programas.
Editores de texto:
Es un programa informático que permite crear y modificar archivos digitales
compuestos únicamente por textos sin formato, conocidos comúnmente como
archivos de texto o “texto plano”. El programa lee el archivo e interpreta los bytes
leídos según el código de caracteres que usa el editor. Es comúnmente de 7- u 8-
bits en ASCII o UTF-8, rara vez EBCDIC.
Por ejemplo, un editor ASCII de 8 bits que lee el número binario 0110
0001 (decimal 97 o hexadecimal 61) en el archivo lo representará en la pantalla
por la figura a , que el usuario reconoce como la letra "a" y ofrecerá al usuario las
funciones necesarias para cambiar el número binario en el archivo.
Los editores de texto son incluidos en el sistema operativo o en algún paquete de
software instalado, y se usan cuando se deben crear o modificar archivos de texto
como archivos de configuración, lenguaje de programación interpretado (scripts) o
el código fuente de algún programa.
Programas ejecutables:
Cuando solicita que se ejecute un programa, el sistema operativo realiza una serie
de operaciones para transformar el programa ejecutable del disco en un programa
en ejecución.
El sistema operativo también crea automáticamente una única hebra dentro de ese
proceso. Una hebra es el estado de ejecución actual de una sola instancia de un
programa. En AIX®, el acceso al procesador y a otros recursos se asigna en una
base de hebras, en lugar de una base de proceso. El programa de aplicación puede
crear varias hebras dentro de un proceso. Estas hebras comparten los recursos que
son propiedad del proceso en el que se están ejecutando.