Está en la página 1de 11

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA ELECTRICA

FUNDAMENTOS DE PROGRAMACION

TAREA 2. Introducción a la programación.

ALUMNO: WONG VEGA JOHAN MIZIRAIM.


NO. BOLETA: 2024300080
GRUPO: 1AV7
PROFESOR: MAD. SILVIANO ESCAMILLA GARCIA.
FECHA DE ENTREGA: 17/09/2023
Índice.
Instrucciones. ...................................................................................................................................... 3
¿Qué es un sistema operativo, características y cuál es su función? ................................................. 4
¿Qué es un lenguaje de programación? ............................................................................................. 5
Mencione los lenguajes de programación más usados en la industria y ¿por qué?........................... 5
¿Qué es un compilador y cuál es su principal función? ...................................................................... 6
¿Qué es el lenguaje de máquina? ....................................................................................................... 7
¿Qué es un enlazador? ........................................................................................................................ 7
¿Qué es un algoritmo? ........................................................................................................................ 7
¿Qué es un diagrama de flujo, con que figuras se representan los procesos? ................................... 8
Línea de tiempo de la historia del lenguaje “C”. ................................................................................. 8
Lista de las principales características de por qué usar el lenguaje “C”. ............................................ 9
¿Cuáles son los pasos en el ciclo de desarrollo de un programa? ...................................................... 9
Conclusión. ........................................................................................................................................ 10
Bibliografía ........................................................................................................................................ 11
Instrucciones.
Como se darán cuenta en el temario, que les adjunto, la primera unidad corresponde a una
introducción sobre la programación, con la investigación que realicen y lo que se comente en
clase, esperemos ir aclarando dicha unidad.

1.- Investigar los siguientes puntos.

✓ ¿Qué es un sistema operativo, características y cuál es su función?

✓ ¿Qué es un lenguaje de programación?

✓ Mencione los lenguajes de programación más usados en la industria y ¿por qué?

✓ ¿Qué es un compilador y cuál es su principal función?

✓ ¿Qué es el lenguaje de máquina?

✓ ¿Qué es un enlazador?

✓ ¿Qué es un algoritmo?

✓ ¿Qué es un diagrama de flujo, con que figuras se representan los procesos?

✓ ¿Realice en un diagrama o línea de tiempo una breve historia del lenguaje “C”?

✓ ¿Genere una lista de las principales características de por qué usar el lenguaje “C”?

✓ ¿Cuáles son los pasos en el ciclo de desarrollo de un programa?

3
¿Qué es un sistema operativo, características y cuál es su función?
Un sistema operativo es el software principal o conjunto de programas de un sistema informático
que gestiona los recursos de hardware y provee servicios a los programas de aplicación de software.
Es el encargado de controlar y supervisar la interacción de los componentes de hardware en el
contexto del orden, los datos, la memoria y la gestión de programas. El sistema operativo permite
al usuario interactuar con el ordenador de manera fácil, de manera que pueda ejecutar diferentes
tareas usando distintos tipos de programas. El sistema operativo se compone de tres elementos
principales: el kernel o núcleo, la interfaz y el sistema de archivos. Algunos ejemplos de sistemas
operativos son Windows, Linux, OS/2 y DOS4.

Las características de un sistema operativo son las propiedades o cualidades que lo definen y lo
diferencian de otros tipos de software. Algunas de las características más importantes de un sistema
operativo son:

• Interfaz del usuario: Es la parte del sistema operativo que permite al usuario comunicarse
con el ordenador y los programas que se ejecutan en él. La interfaz puede ser gráfica, como
en Windows o Mac OS, o de texto, como en Linux o DOS12.
• Gestión del trabajo: Es la función del sistema operativo que se encarga de organizar y
priorizar las tareas que realiza el ordenador, como procesar programas, ejecutar
aplicaciones, almacenar datos, etc. La gestión del trabajo se basa en criterios como el
tiempo, la memoria, los recursos y la importancia de cada tarea.
• Gestión de recursos: Es la función del sistema operativo que se ocupa de administrar los
recursos de hardware y software del ordenador, como el procesador, la memoria, el disco
duro, los dispositivos de entrada y salida, etc. La gestión de recursos se encarga de asignar,
liberar y optimizar el uso de estos recursos entre las diferentes tareas que se realizan en el
ordenador.
• Control de operaciones del sistema: Es la función del sistema operativo que se
responsabiliza de supervisar y controlar el funcionamiento del ordenador y sus
componentes. El control de operaciones del sistema incluye aspectos como el arranque, el
apagado, la actualización, la seguridad, la detección y solución de errores, etc.
• Recuperación de errores: Es la función del sistema operativo que se dedica a detectar y
corregir los posibles errores que se produzcan en el ordenador o en los programas que se
ejecutan en él. La recuperación de errores puede implicar acciones como reiniciar el
sistema, cerrar una aplicación, restaurar un archivo dañado, etc.
• Gestión de memoria: Es la función del sistema operativo que se ocupa de administrar el
espacio de memoria disponible en el ordenador. La gestión de memoria se encarga de
asignar, liberar y reubicar la memoria entre las diferentes tareas que se realizan en el
ordenador. La gestión de memoria también implica técnicas como la paginación, la
segmentación o la memoria virtual para optimizar el uso de la memoria.

La función de un sistema operativo es el software principal o conjunto de programas que


gestiona los recursos de hardware y provee servicios a los programas de aplicación de software.
Es el encargado de controlar y supervisar la interacción de los componentes de hardware en el
contexto del orden, los datos, la memoria y la gestión de programas. El sistema operativo

4
permite al usuario interactuar con el ordenador de manera fácil, de manera que pueda ejecutar
diferentes tareas usando distintos tipos de programas.

• Algunas de las funciones principales de un sistema operativo son:


• Gestionar la memoria de acceso aleatorio y ejecutar las aplicaciones, designando los
recursos necesarios.
• Administrar al CPU gracias a un algoritmo de programación.
• Direccionar las entradas y salidas de datos (a través de drivers) por medio de los
periféricos de entrada o salida.
• Administrar la información para el buen funcionamiento de la PC.
• Dirigir las autorizaciones de uso para los usuarios.

¿Qué es un lenguaje de programación?


Un lenguaje de programación es un sistema de comunicación que permite a los humanos dar
instrucciones a las computadoras para crear programas informáticos. Un lenguaje de programación
está compuesto por símbolos y reglas que siguen una estructura y una lógica determinada. Los
lenguajes de programación se pueden clasificar según su nivel de abstracción, su paradigma o su
propósito.

Los lenguajes de programación se traducen al lenguaje de máquina, que es el único que las
computadoras pueden entender. El lenguaje de máquina está formado por una secuencia de bits,
unos y ceros, que representan las operaciones básicas que realiza el procesador. La traducción del
lenguaje de programación al lenguaje de máquina se puede hacer mediante un compilador o un
intérprete5.

Algunos ejemplos de lenguajes de programación son: Python, Java, C, C++, Ruby, JavaScript, PHP,
HTML, CSS, SQL, etc. Cada uno de estos lenguajes tiene sus propias características, ventajas y
desventajas, y se utiliza para diferentes tipos de aplicaciones o proyectos.

Mencione los lenguajes de programación más usados en la industria


y ¿por qué?
Los lenguajes de programación más usados en la industria son aquellos que ofrecen ventajas
competitivas para el desarrollo de software, como la eficiencia, la portabilidad, la escalabilidad, la
seguridad, la facilidad de aprendizaje y la compatibilidad con otras tecnologías. Según diferentes
fuentes, como el índice PYPL y la encuesta a programadores de Stack Overflow, algunos de los
lenguajes de programación más populares y demandados en la actualidad son:

• Python: Es un lenguaje de programación de alto nivel, de código abierto y multiparadigma.


Se caracteriza por su simplicidad, legibilidad y versatilidad. Se usa en diversos campos como
el aprendizaje automático, la ciencia de datos, la automatización, la computación científica
y el desarrollo web.
• JavaScript: Es un lenguaje de programación interpretado, dinámico y orientado a objetos.
Es uno de los pilares de la web, junto con HTML y CSS. Permite crear contenido interactivo
y dinámico para las páginas web, así como aplicaciones web complejas. Algunos de los
frameworks más populares de JavaScript son React, Angular y Vue.

5
• Java: Es un lenguaje de programación compilado, estático y orientado a objetos. Es uno de
los más antiguos y usados del mundo, debido a su portabilidad, robustez, rendimiento y
compatibilidad con versiones anteriores. Se usa para crear aplicaciones web, aplicaciones
de escritorio, aplicaciones móviles y sistemas operativos. Algunos de los frameworks más
usados de Java son Spring, Hibernate y Android.
• C/C++: Son dos lenguajes de programación relacionados, que comparten una sintaxis
similar, pero tienen diferencias significativas. C es un lenguaje de programación de bajo
nivel, estructurado y procedimental. C++ es un lenguaje de programación de medio nivel,
híbrido y multiparadigma. Ambos se usan para crear software de alto rendimiento, como
sistemas operativos, videojuegos, aplicaciones gráficas y software embebido.
• C#: Es un lenguaje de programación compilado, estático y orientado a objetos. Es parte del
framework .NET de Microsoft, que ofrece una plataforma integrada para el desarrollo de
software. Se usa para crear aplicaciones web, aplicaciones móviles, aplicaciones de
escritorio y videojuegos. Algunos de los frameworks más usados de C# son ASP.NET,
Xamarin y Unity.

Estos son solo algunos ejemplos de los lenguajes de programación más usados en la industria, pero
hay muchos más que también tienen su importancia y relevancia según el tipo de proyecto o
aplicación que se quiera desarrollar. Lo importante es elegir el lenguaje que mejor se adapte a las
necesidades y objetivos del desarrollador y del cliente.

¿Qué es un compilador y cuál es su principal función?


Un compilador es un programa informático que se encarga de traducir el código fuente de un
lenguaje de programación a otro lenguaje que pueda ser entendido y ejecutado por la máquina. La
principal función de un compilador es convertir el código fuente, que suele estar escrito en un
lenguaje de alto nivel más cercano al lenguaje humano, en un código objeto, que suele estar escrito
en un lenguaje de bajo nivel más cercano al lenguaje binario de la máquina.

Para realizar esta función, el compilador realiza varias etapas, como el análisis léxico, el análisis
sintáctico, el análisis semántico, la generación de código intermedio, la optimización de código y la
generación de código objeto. En cada una de estas etapas, el compilador verifica que el código
fuente sea correcto y coherente, y lo transforma y optimiza para mejorar su eficiencia y
rendimiento.

Un compilador es una herramienta esencial para el desarrollo de software, ya que permite a los
programadores escribir programas en lenguajes más legibles y mantenibles, y crear programas más
rápidos y eficientes que se pueden ejecutar en diferentes plataformas y sistemas operativos.

6
¿Qué es el lenguaje de máquina?
El lenguaje de máquina es el sistema de códigos directamente interpretable por un circuito
microprogramable, como el microprocesador de una computadora o el microcontrolador de un
autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones
a ser tomadas por la máquina. El lenguaje de máquina se compone de instrucciones binarias, que
son codificadas en una secuencia de 0 y 1. Estas instrucciones le indican a la computadora qué hacer,
y cómo hacerlo. El lenguaje de máquina es el único lenguaje que una computadora es capaz de
entender. El lenguaje de máquina exacto para un programa o acción puede variar según el sistema
operativo. El lenguaje de máquina es el lenguaje más básico y elemental que poseen los
ordenadores, y es el que permite comunicarse con ellos a un nivel muy bajo.

¿Qué es un enlazador?
Un enlazador es un programa que se encarga de unir el código objeto de un programa con las
bibliotecas y recursos necesarios para crear un archivo ejecutable o una biblioteca. El enlazador
permite que el programa pueda ser ejecutado por la máquina, ya que traduce el código fuente,
que suele estar escrito en un lenguaje de alto nivel, a un código de máquina, que es el único que la
máquina puede entender. El enlazador también se ocupa de optimizar el código y eliminar los
recursos innecesarios.

Existen dos tipos de enlazadores: los estáticos y los dinámicos. Los enlazadores estáticos realizan
el proceso de enlace en el momento de la compilación, creando un archivo ejecutable que
contiene todo el código necesario para el programa. Los enlazadores dinámicos realizan el proceso
de enlace en el momento de la carga o la ejecución del programa, conectando el archivo
ejecutable con las bibliotecas externas que se encuentran en el sistema.

Algunos ejemplos de lenguajes de programación que utilizan enlazadores son C, C++, Java, Python,
etc. Cada uno de estos lenguajes tiene su propio enlazador, que puede variar según el sistema
operativo o la plataforma donde se ejecute el programa.

¿Qué es un algoritmo?
Un algoritmo es un conjunto ordenado y finito de operaciones simples que se realizan para
resolver un problema o lograr un objetivo. La palabra algoritmo proviene del nombre del
matemático persa Al-Juarismi, considerado el padre del álgebra. Los algoritmos se pueden
representar de diferentes formas, como mediante un lenguaje natural, un pseudocódigo, un
diagrama de flujo o un lenguaje de programación. Los algoritmos se usan en diversas áreas del
conocimiento, como las matemáticas, la informática, la lógica, la ingeniería, etc. Algunos ejemplos
de algoritmos son:

• El algoritmo de Euclides, que permite hallar el máximo común divisor de dos números
enteros positivos.
• El algoritmo de ordenación rápida (quicksort), que permite ordenar una lista de elementos
según un criterio determinado.
• El algoritmo de búsqueda binaria, que permite encontrar un elemento en una lista
ordenada mediante comparaciones sucesivas.

7
• El algoritmo de Dijkstra, que permite hallar el camino más corto entre dos nodos de un
grafo ponderado.

Los algoritmos son la base de la programación y la inteligencia artificial, ya que permiten crear
programas y sistemas que pueden ejecutar tareas complejas y aprender de los datos.

¿Qué es un diagrama de flujo, con que figuras se representan los


procesos?
Un diagrama de flujo es una herramienta gráfica que permite representar los pasos o etapas de un
proceso de forma visual y ordenada. Los diagramas de flujo se utilizan para facilitar la comprensión,
el análisis, la comunicación y la mejora de los procesos.

Para representar los procesos en un diagrama de flujo se utilizan diferentes figuras geométricas,
cada una con un significado específico. Las figuras más comunes son:

• El rectángulo, que representa una acción o una tarea que se realiza en el proceso.
• El rombo, que representa una decisión o una pregunta que se debe responder con sí o no.
• El óvalo, que representa el inicio o el fin del proceso.
• El círculo, que representa un conector o un enlace entre partes del diagrama.
• El paralelogramo, que representa una entrada o una salida de datos o información.
• El pentágono, que representa un comentario o una nota aclaratoria.

Línea de tiempo de la historia del lenguaje “C”.


El lenguaje de programación C es uno de los más antiguos y populares del mundo, y ha servido de
base para muchos otros lenguajes. Su historia se remonta a finales de la década de 1960 y principios
de la de 1970, cuando se desarrolló en los Laboratorios Bell de AT&T como una evolución del
lenguaje B. A continuación, te presento una línea de tiempo con los principales hitos de la historia
del lenguaje C:

• 1969-1973: El desarrollo inicial de C se llevó a cabo en los Laboratorios Bell de AT&T entre
1969 y 1973; según Ritchie, el periodo más creativo tuvo lugar en 1972. Se le dio el nombre
“C” porque muchas de sus características fueron tomadas de un lenguaje anterior llamado
"B".
• 1974: El lenguaje C estaba lo suficientemente maduro como para que el 90% de UNIX
pudiera reescribirse con él. En los laboratorios Bell concedieron la licencia de UNIX a las
universidades, y así fue como se empezó a distribuir el lenguaje C.
• 1978: En 1978, Ritchie y Brian Kernighan publicaron la primera edición de El lenguaje de
programación C, también conocido como La biblia de C. Este libro fue durante años la
especificación informal del lenguaje. El lenguaje descrito en este libro recibe habitualmente
el nombre de “el C de Kernighan y Ritchie” o simplemente "K&R C".
• 1983: En 1983, el Instituto Nacional Estadounidense de Estándares organizó un comité,
X3j11, para establecer una especificación estándar de C. Tras un proceso largo y arduo, se
completó el estándar en 1989 y se ratificó como el “Lenguaje de Programación C”
ANSIX3.159-1989. Esta versión del lenguaje se conoce a menudo como ANSI C, o a veces
como C89 (para distinguirla de C99).

8
• 1990: En 1990, el estándar ANSI (con algunas modificaciones menores) fue adoptado por la
Organización Internacional para la Estandarización (ISO) en el estándar ISO/IEC 9899:1990.
Esta versión se conoce a veces como C90. No obstante, “C89” y “C90” se refieren en esencia
al mismo lenguaje.
• 1999: En 1995, el comité X3j11 comenzó a trabajar en una revisión del estándar ANSI/ISO
C, que incorporara nuevas características al lenguaje. Lo que llevó a la publicación del
estándar ISO9899:1999 en 1999. Este estándar se denomina habitualmente “C99”. Se
adoptó como estándar ANSI en marzo de 2000.

Lista de las principales características de por qué usar el lenguaje


“C”.
El lenguaje de programación C es uno de los más antiguos y populares del mundo, y ha servido de
base para muchos otros lenguajes más modernos. Algunas de las principales características de por
qué usar el lenguaje C son:

• Es un lenguaje estructurado, que permite organizar el código en funciones y bloques,


facilitando la lectura, el mantenimiento y la depuración.
• Es un lenguaje de nivel medio, que combina las ventajas de la programación de alto nivel,
como la expresividad y la portabilidad, con las de la programación de bajo nivel, como el
control y la eficiencia.
• Es un lenguaje independiente del hardware, que se puede migrar a otros sistemas
operativos y plataformas con pocas modificaciones.
• Es un lenguaje de propósito general, que se puede usar para desarrollar cualquier tipo de
aplicación o software, desde sistemas operativos hasta videojuegos.
• Es un lenguaje rico en tipos de datos, operadores y variables, que ofrece una gran
flexibilidad y potencia al programador.
• Es un lenguaje que ofrece un control absoluto de todo lo que sucede en el ordenador,
permitiendo acceder y manipular directamente la memoria y los dispositivos de entrada y
salida.

Estas son algunas de las razones por las que el lenguaje C sigue siendo uno de los más usados y
demandados en la industria del software.

¿Cuáles son los pasos en el ciclo de desarrollo de un programa?


Los pasos en el ciclo de desarrollo de un programa son las etapas que se siguen para crear una
solución de software desde la idea hasta el mantenimiento. Existen diferentes modelos o
metodologías que definen estos pasos, pero en general se pueden resumir en los siguientes:

• Análisis de los requisitos: Es la fase en la que se recopila y documenta la información sobre


el problema a resolver, las necesidades y expectativas del cliente, y las especificaciones
técnicas del software. Esta fase es fundamental para establecer el alcance, los objetivos y
los criterios de éxito del proyecto.
• Diseño del sistema: Es la fase en la que se define la arquitectura, los componentes, las
interfaces y los recursos del software. Se utiliza un lenguaje de modelado, como UML, para

9
representar gráficamente el diseño y facilitar su comprensión y validación. Esta fase es
importante para determinar la estructura, la funcionalidad y la usabilidad del software.
• Implementación: Es la fase en la que se escribe el código fuente del software utilizando un
lenguaje de programación, como C, Java o Python. Se aplican técnicas de programación,
como algoritmos, estructuras de datos y patrones de diseño, para crear un código eficiente,
legible y mantenible. Esta fase es esencial para materializar el diseño y crear el producto
final.
• Pruebas: Es la fase en la que se verifica y valida el funcionamiento y la calidad del software.
Se utilizan diferentes tipos de pruebas, como unitarias, de integración, de sistema y de
aceptación, para detectar y corregir errores, defectos o vulnerabilidades. Esta fase es clave
para garantizar que el software cumple con los requisitos y las expectativas del cliente.
• Despliegue: Es la fase en la que se instala y pone en marcha el software en el entorno de
producción. Se realizan ajustes y configuraciones necesarias para asegurar la compatibilidad
y el rendimiento del software. Esta fase es crucial para entregar el software al cliente y
ponerlo a su disposición.
• Operaciones y mantenimiento: Es la fase en la que se monitoriza y soporta el
funcionamiento del software una vez desplegado. Se realizan actualizaciones, mejoras y
correcciones periódicas para adaptar el software a los cambios o necesidades del cliente o
del mercado. Esta fase es vital para prolongar la vida útil y la satisfacción del software.

Estos son los pasos generales en el ciclo de desarrollo de un programa, pero pueden variar según el
modelo o metodología que se utilice. Algunos ejemplos de modelos son el modelo en cascada, el
modelo iterativo, el modelo ágil o el modelo DevOps.

Conclusión.
Una conclusión del sistema operativo es que se trata de un software fundamental para el
funcionamiento de un ordenador, ya que gestiona los recursos de hardware y provee servicios a los
programas de aplicación. El sistema operativo permite al usuario interactuar con el ordenador de
manera fácil y eficiente, mediante una interfaz gráfica o de texto. El sistema operativo se compone
de tres elementos principales: el kernel, la interfaz y el sistema de archivos. Existen diferentes tipos
de sistemas operativos, como Windows, Linux, OS/2 y DOS, cada uno con sus propias características,
ventajas y desventajas. El sistema operativo es la base de la programación y la informática, ya que
permite crear y ejecutar todo tipo de software.

10
Bibliografía
https://concepto.de. (s.f.).

https://hipertextual.com/2011/10/historia-de-la-tecnologia-lenguaje-c. (s.f.).

https://isnca.org/es/lenguaje-de-m%C3%A1quina/. (s.f.).

https://tecnomagazine.net/los-5-lenguajes-de-programacion-mas-utilizados/. (s.f.).

https://www.ceupe.com/blog/que-es-un-sistema-operativo.html. (s.f.).

https://www.compuhoy.com/cual-es-la-funcion-de-un-sistema-operativo/. (s.f.).

https://www.lifeder.com/diagrama-de-flujo/. (s.f.).

https://www.lucidchart.com/pages/es/simbolos-comunes-de-los-diagramas-de-flujo. (s.f.).

https://www.muytecnologicos.com/diccionario-tecnologico/lenguaje-de-maquina. (s.f.).

https://www.smartdraw.com/flowchart/simbolos-de-diagramas-de-flujo.htm. (s.f.).

https://www.softzone.es/programas/lenguajes/que-es-compilador/. (s.f.).

https://www.stackscale.com/es/blog/lenguajes-programacion-mas-populares/. (s.f.).

https://www.sutori.com/es/historia/linea-de-tiempo-lenguaje-c-y-c--
BMzVy6TrNCVkd24n1KhLziKu. (s.f.).

https://www.timetoast.com/timelines/hitoria-de-lenguaje-c-y-su-evolucion-hasta-la-actualidad.
(s.f.).

https://www.youtube.com/watch?v=MTFbezZiGAY. (s.f.).

https://www.youtube.com/watch?v=OTwVVVLPO5w. (s.f.).

https://www.youtube.com/watch?v=Tu9OQSff-gw. (s.f.).

https://www.youtube.com/watch?v=U3CGMyjzlvM. (s.f.).

https://www.youtube.com/watch?v=z2fOZBwka2A. (s.f.).

11

También podría gustarte