Está en la página 1de 11

Universidad Tecnológica de Panamá

Facultad de Ingeniería en Sistemas Computacionales

Maestría en Informática Educativa


Proyecto Final
Tema:
Introducción a la Programación

Integrante:
GRUPO E -

Fecha:
8-23-2022
ÍNDICE DE FIGURA

Ilustración 1.Diagrama de Flujo....................................................................................................................4


Ilustración 2 Programar................................................................................................................................5
Ilustración 3 Definición de Problema...........................................................................................................9

ÍNDICE DE TABLA

Tabla 1 Editores............................................................................................................................................7
Tabla 2 Errores.............................................................................................................................................8

2
Contenido
1 INTRODUCCIÓN....................................................................................................................................4
1. ¿Qué es la programación?....................................................................................................................5
1.1 Programa......................................................................................................................................5
1.2 Elementos de un programa..........................................................................................................5
1.3 Los programas están basados en datos........................................................................................5
2 Lenguajes de programación.................................................................................................................6
2.1 Lenguajes de bajo y alto nivel.......................................................................................................6
3 Editores................................................................................................................................................6
3.1 Depuración:........................................................................................................................................6
3.2 Resaltado de sintaxis..........................................................................................................................6
3.3 Extensiones e integraciones...............................................................................................................6
3.4 Personalización...................................................................................................................................6
4 Fases en la resolución de problemas....................................................................................................7
4.1 Análisis del problema.........................................................................................................................7
4.2 Diseño del algoritmo:.........................................................................................................................7
4.3 Codificación:.......................................................................................................................................8
4.4 Compilación y ejecución:....................................................................................................................8
4.5 Verificación:........................................................................................................................................8
4.6 Depuración.........................................................................................................................................8
4.6.1 Errores de compilación................................................................................................................8
4.6.2 Errores de ejecución....................................................................................................................8
4.7 Documentación y mantenimiento:.....................................................................................................9
5 CONCLUSIÓN......................................................................................................................................10
6 BIBLIOGRAFÍA.....................................................................................................................................11

3
1 INTRODUCCIÓN

La programación es un conocimiento que se aprende, como se aprende hacer


reacciones químicas en un laboratorio, resolver ecuaciones matemáticas o andar en
bicicleta. El principal objetivo de este libro es mostrar que el aprendizaje de la
programación puede ser fácil, si se empieza desde lo básico y se continúa de manera
gradual, hasta que se es capaz de escribir un programa que resuelve un problema. La
primera dificultad del aprendizaje de la programación radica en la necesidad de
aprender dos cosas bastante diferentes de manera simultánea:
1. Un lenguaje para transmitir a la máquina las órdenes que se le quieren dar; esto es,
el lenguaje de programación y una manera de pensar y concebir dar órdenes a la
computadora.
2. El algoritmo traducido en programa.
El uso de un lenguaje siempre debe respetar un conjunto de reglas de sintaxis y de
semántica; sin embargo, un programa que es correcto desde el punto de vista del
lenguaje no siempre va a realizar la tarea o a resolver el problema que se quiere
solucionar. En el proceso de aprendizaje de un programa, si ya se conoce programar
con algún otro lenguaje de programación, resulta más fácil aprender otro lenguaje, sin
muchas explicaciones, mejor aún si el segundo lenguaje pertenece al mismo paradigma
de programación. Por esta razón, considero que el lenguaje C es el más óptimo de
aprender como primer lenguaje, ya que es un
lenguaje imperativo, que permite un manejo muy
preciso de conceptos importantes de la
programación, como las variables, los apuntadores,
las funciones y los arreglos, entre otros aspectos.

Ilustración 1.Diagrama de Flujo

1. ¿Qué es la programación?
La programación (también conocida como
codificación) es el proceso de escribir
instrucciones en un dispositivo, como un PC o

Ilustración 2 Programar
un dispositivo móvil. Estas instrucciones se escriben mediante un lenguaje de
programación, que el dispositivo interpreta después. Se puede hacer referencia a
estas series de instrucciones con varios términos. Algunos términos populares
son programa, programa informático, aplicación (app) y ejecutable.
1.1 Programa
Un programa puede ser cualquier cosa que se escriba con código. Algunos
ejemplos de programas que se ejecutan en distintos dispositivos son:
 Websites
 Juegos
 Aplicaciones de teléfono
Aunque es posible crear un programa sin escribir código, el dispositivo interpreta
la lógica subyacente, que es muy probable que se haya escrito con código. Un
programa en ejecución o que ejecuta código está llevando a cabo instrucciones.
El dispositivo que usa actualmente para leer este módulo ejecuta un programa
que lo imprime en la pantalla.
1.2 Elementos de un programa
Saber cómo se ejecuta un programa y en qué datos se basa es un primer paso
importante para saber cómo crear sus propios programas.
Una única indicación de un programa se denomina instrucción. Normalmente,
una instrucción tiene un espaciado entre caracteres o un interlineado que marcan
dónde termina o finaliza la instrucción. La forma en que un programa finaliza
varía según cada lenguaje.
1.3 Los programas están basados en datos
La mayoría de los programas se basan en el uso de los datos obtenidos de un
usuario u otro origen, donde las instrucciones pueden basarse en estos datos
para llevar a cabo instrucciones. Los datos pueden cambiar el comportamiento
de un programa, por lo que los lenguajes de programación ofrecen una forma de
almacenar temporalmente los datos para su uso posterior.
Los datos se almacenan en una instrucción denominada variable. Las variables
son instrucciones que indican a un dispositivo que guarde los datos en su
memoria. Las variables de los programas son similares a las de álgebra, donde
tienen un nombre único y su valor puede cambiar con el tiempo.

2 Lenguajes de programación
El propósito principal de los lenguajes de programación es que los
desarrolladores compilen instrucciones para enviar a un dispositivo.
Los lenguajes de programación son un vehículo para la comunicación entre
humanos y equipos. Los dispositivos solo pueden reconocer los caracteres
binarios 1 y 0.

5
La mayoría de los desarrolladores consideran que usar solo caracteres binarios
no es una manera eficaz de comunicarse. Los lenguajes de programación se
presentan en diferentes formatos y pueden servir para distintos propósitos. Por
ejemplo, JavaScript se usa principalmente para aplicaciones web, y Bash se usa
principalmente para sistemas operativos.
2.1 Lenguajes de bajo y alto nivel
Para que un dispositivo interprete los lenguajes de bajo nivel, estos requieren
menos pasos que los de alto nivel. Sin embargo, la popularidad de los lenguajes
de alto nivel se debe a su legibilidad y compatibilidad. JavaScript se considera un
lenguaje de alto nivel.
El código de la sección siguiente muestra la diferencia entre un lenguaje de alto
nivel, como JavaScript, y un lenguaje ensamblador de bajo nivel.

3 Editores
Una de las herramientas más cruciales para el desarrollo de software es el
entorno de edición. Un editor es donde se escribe el código y, a veces, donde se
ejecuta.
Los desarrolladores confían en los editores para sus características útiles, entre
las que se incluyen:
3.1 Depuración: ayuda a detectar errores mediante la ejecución del código paso
a paso, línea por línea. Algunos editores tienen funcionalidades de depuración o
se pueden personalizar para lenguajes de programación específicos.
3.2 Resaltado de sintaxis: agrega colores y formato de texto al código, lo que
facilita la lectura. La mayoría de los editores permiten el resaltado de sintaxis
personalizado.
3.3 Extensiones e integraciones: agregue características especializadas que
proporcionen acceso a otras herramientas que no están integradas en el editor
base. Por ejemplo, muchos desarrolladores también necesitan una manera de
documentar su código, explicar cómo funciona o instalar una extensión de
corrección ortográfica para comprobar si hay errores tipográficos. La mayoría de
estas adiciones están pensadas para su uso dentro de un editor específico, y la
mayoría de los editores incluyen una manera de buscar las extensiones
disponibles.
3.4 Personalización: la mayoría de los editores son personalizables, lo que
permite a los desarrolladores crear sus propios entornos de desarrollo únicos.
Muchos editores también permiten a los desarrolladores crear sus propias
extensiones.
A continuación, se indican algunos editores y extensiones de desarrollo web
populares:
 Visual Studio Code
o Code Spell Checker
o Live Share

6
o Prettier: formateador de código
 Atom
o Corrector ortográfico
o Teletype
o Atom-Beautify
o
Tabla 1 Editores

4 Fases en la resolución de problemas


El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y
a su ejecución en la misma. Aunque el proceso de diseñar programas es, esencialmente, un proceso
creativo, se puede considerar una serie de fases o pasos comunes, que generalmente deben seguir todos
los programadores. Las fases de resolución de un problema con computadora son:

4.1 Análisis del problema: Esta es la primera fase de la resolución de un problema con


computadora. Esta fase requiere una clara definición, donde se contemple exactamente lo que
debe hacer el programa y el resultado o solución deseada.

4.2 Diseño del algoritmo: En la etapa de análisis del proceso de programación se determina
qué hace el programa. En la etapa de diseño se determina cómo hace el programa la tarea
solicitada. Los métodos más eficaces para el proceso de diseño se basan en el conocido divide y
vencerás. Es decir, la resolución de un problema complejo se realiza dividiendo el problema en
subproblemas y a continuación dividiendo estos subproblemas en otros de nivel más bajo, hasta
que pueda ser implementada una solución en la computadora. Este método se conoce
técnicamente como diseño descendente (top-down) o modular. El proceso de romper el
problema en cada etapa y expresar cada paso en forma más detallada se denomina refinamiento
sucesivo.

4.3 Codificación: Esta la escritura en un lenguaje de programación de la representación del


algoritmo desarrollada en las etapas precedentes. Dado que el diseño de un algoritmo es
independiente del lenguaje de progra mación utilizado para su implementación, el código puede
ser escrito con igual facilidad en un lenguaje o en otro. Para realizar la conversión del algoritmo

7
en programa se deben sustituir las palabras reservadas en español por sus homónimos en inglés,
y las operaciones/instrucciones indicadas en lenguaje natural por el lenguaje de programación
correspondiente.

4.4 Compilación y ejecución: Una vez que el algoritmo se ha convertido en un programa


fuente, es preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en
un disco. Esta operación se realiza con un programa editor. Posteriormente el programa fuente
se convierte en un archivo de programa que se guarda (graba) en disco. El programa fuente debe
ser traducido a lenguaje máquina, este proceso se realiza con el compilador y el sistema
operativo que se encarga prácticamente de la compilación. Si tras la compilación se presentan
errores (errores de compilación) en el programa fuente, es preciso volver a editar el programa,
corregir los errores y compilar de nuevo. Este proceso se repite hasta que no se producen
errores, obteniéndose el programa objeto que todavía no es ejecutable directamente.
Suponiendo que no existen errores en el programa fuente, se debe instruir al sistema operativo
para que realice la fase de montaje o enlace (link), carga, del programa objeto con las bibliotecas
del programa del compilador. El proceso de montaje produce un programa ejecutable. Una vez
que el programa ejecutable se ha creado, ya se puede ejecutar (correr o rodar) desde el sistema
operativo con sólo teclear su nombre (en el caso de DOS). Suponiendo que no existen errores
durante la ejecución (llamados errores en tiempo de ejecución), se obtendrá la salida de
resultados del programa.

4.5 Verificación: Es el proceso de ejecución del programa con una amplia variedad de datos
de entrada, llamados datos de test o prueba, que determinarán si el programa tiene o no errores
(“bugs”). Para realizar la verificación se debe desarrollar una amplia gama de datos de test:
valores normales de entrada, valores extremos de entrada que comprueben los límites del
programa y valores de entrada que comprueben aspectos especiales del programa. 

4.6 Depuración: Es el proceso de encontrar los errores del programa y corregir o eliminar
dichos errores. Cuando se ejecuta un programa, se pueden producir tres tipos de errores: 
Tabla 2 Errores
4.6.1 Errores de compilación. Se producen normalmente
por un uso incorrecto de las reglas del lenguaje de programación
y suelen ser errores de sintaxis. Si existe un error de sintaxis, la
computadora no puede comprender la instrucción, no se
obtendrá el programa objeto y el compilador imprimirá una lista
de todos los errores encontrados durante la compilación.

4.6.2 Errores de ejecución. Estos errores se producen por


instrucciones que la computadora puede comprender pero no
ejecutar. Ejemplos típicos son: división por cero y raíces
cuadradas de números negativos. En estos casos se detiene la
ejecución del programa y se imprime un mensaje de error.
4.6.3 Errores lógicos. Se producen en la lógica del programa y la fuente del error suele ser el diseño
del algoritmo. Estos errores son los más difíciles de detectar, ya que el programa puede funcionar y no
producir errores de compilación ni de ejecución, y sólo puede advertirse el error por la obtención de
resultados incorrectos.

8
4.7 Documentación y mantenimiento: La documentación de un problema consta de las
descripciones de los pasos a dar en el proceso de resolución de dicho problema. La importancia de esta
debe ser destacada por su decisiva influencia en el producto final. Programas pobremente
documentados son difíciles de leer, más difíciles de depurar y casi imposibles de mantener y modificar.
La documentación de un programa puede ser interna y externa. La documentación interna es la
contenida en líneas de comentarios. La documentación externa incluye análisis, diagramas de flujo y/o
pseudocódigos, manuales de usuario con instrucciones para ejecutar el programa y para interpretar los
resultados.

Ilustración 3 Definición de Problema

9
5 CONCLUSIÓN

Programar no es solo ingresar un código con ciertas especificaciones y esperar que


realice las acciones requeridas. Más allá de eso, la programación es un idioma más
y aprenderlo nos beneficia y ayuda a lograr una comunicación directa con el
ambiente tecnológico que nos rodea.

La programación va más allá que cualquier idioma, pues también es un gran tutor
cuando se trata de aprender a solucionar problemas, principalmente situaciones
de lógica e ingenio. Es el arte de crear soluciones desde cero a paradigmas
complejos a base de un pensamiento estructurado, lógico y creativo.

Imagina tener el poder de crear herramientas que te ayuden a hacer tu vida, y la de


otras personas que comparten tu necesidad, más sencilla. Eso es exactamente lo
que sucede con las aplicaciones, sitios, programas y todos aquellos software
exitosos: satisfacen una necesidad común.

Aprender a programar puede abrirte las puertas a un mejor empleo, nuevas áreas
de trabajo o incluso a una nueva forma de ver cómo funciona todo a nuestro
alrededor.

En ocasiones una de las grandes barreras para aprender algo nuevo es el miedo.
Pero cuando se trata de algo tan común e importante para la vida cotidiana y que
además nos acerca al entorno tecnológico, se convierte en una oportunidad que no
podemos dejar pasar.

Sin duda alguna, los beneficios que otorga aprender a programar no solo se
reflejan en el mundo digital, sino también en la solución de problemas de la vida
cotidiana.

”Todos en el país deberían aprender a programar un ordenador... porque eso te


enseña a pensar.”
–Steve Jobs.

10
6 BIBLIOGRAFÍA

Bibliografía básica

JOYANES, L. (2008). Fundamentos de la programación. Algoritmos y Estructura de Datos, 4ª Edición.


Madrid: McGraw-Hill.

JOYANES, L.; RODRIGUEZ, L; FERNANDEZ, M. (2003).  Fundamentos de programación Libro de problemas.


2ª Edición. Madrid: McGraw-Hill.

AHO, Alfred V.; HOPCROFT, John E.; ULLMAN, Jeffrey D. (1998). Estructuras de datos y algoritmos.
México: Addison Wesley.

BRASSARD, G.; BRATLEY, P. (1997). Fundamentos de Algoritmia. Madrid: Prentice-Hall.

COLLADO MACHUCA, M.; MORALES FERNÁNDEZ, R.; MORENO NAVARRO, J. J. (1987). Estructuras de


datos. Realización en Pascal. Madrid: Ediciones Díaz de Santos.

GARCÍA MOLINA, J. J.; MONTOYA DATO, F. J.; FERNÁNDEZ ALEMÁN, J. L.; MAJADO ROSALES, M. J.
(2005). Una introducción a la programación. Un enfoque algorítmico. Madrid: Thomson-Paraninfo.

JOYANES, L. (1990). Problemas de Metodología de la Programación. Madrid: McGraw-Hill.

JOYANES, L.; ZAHOHERO, I. (2005). Programación en C : metodología, algoritmos y estructura de datos,


2ª Edición. Madrid: McGraw-Hill

11

También podría gustarte