PROGRAMACION BASICA

¡Bienvenido a este espacio dedicado a la programación básica!
Aquí encontrarás conceptos fundamentales, explicaciones claras y recursos prácticos diseñados para ayudarte a iniciar en el mundo del desarrollo de software. Mi objetivo es acompañarte paso a paso, desde lo más básico hasta construir una base sólida que te permita avanzar con confianza en tu aprendizaje. ¡Gracias por visitar y espero que el contenido te sea útil!




 1.1 Introduccion:

Los algoritmos son el corazón de la programación y de cualquier proceso computacional. Un algoritmo es un conjunto de pasos ordenados, lógicos y finitos que permiten resolver un problema o realizar una tarea específica. Desde operaciones matemáticas simples hasta sistemas complejos como motores de búsqueda o aplicaciones móviles, todo funciona gracias a algoritmos bien diseñados.

En programación, los algoritmos sirven como guía para que la computadora sepa exactamente qué hacer, en qué orden y bajo qué condiciones. Estos pasos deben ser precisos, claros y sin ambigüedades para que puedan ser interpretados correctamente por una máquina.

Comprender los algoritmos es fundamental porque permiten desarrollar la lógica necesaria para crear programas eficientes y resolver problemas de manera estructurada. Antes de escribir código, se diseña el algoritmo; después, ese algoritmo se traduce a un lenguaje de programación.

Dominar este concepto es esencial para todo programador principiante, ya que es la base sobre la que se construyen aplicaciones, videojuegos, sistemas e incluso inteligencia artificial.


1.2 Técnicas de representación de algoritmos

Para comprender y comunicar cómo funciona un algoritmo, es necesario representarlo de manera ordenada y visual. Existen varias técnicas que permiten describir los pasos de un proceso antes de traducirlo a un lenguaje de programación. Estas representaciones ayudan a planificar, analizar y mejorar soluciones antes de escribir una sola línea de código.

1. Lenguaje natural
Consiste en describir el algoritmo utilizando palabras comunes, como si se explicara un procedimiento paso a paso.
Es simple y accesible, pero puede volverse ambiguo si no se redacta con precisión.

Ejemplo:

Ingresar un número

Verificar si es mayor que 0

Mostrar “positivo” o “negativo”

El pseudocódigo es una forma estructurada de escribir un algoritmo usando una mezcla de lenguaje común y elementos similares a los de un lenguaje de programación. No sigue una sintaxis formal, pero utiliza palabras clave como inicio, si, entonces, fin, para, etc.



Ventajas:

  • Fácil de leer
  • No depende de un lenguaje de programación
  • Útil para diseñar algoritmos antes de codificarlos

Son representaciones gráficas que usan símbolos para mostrar el recorrido de un proceso. Cada símbolo tiene una función específica (inicio, proceso, decisión, entrada/salida). Las flechas indican la secuencia de pasos.



Ventajas:

  • Visuales y fáciles de entender
  • Ideales para explicar la lógica a otras personas
  • Permiten identificar errores o pasos innecesarios

4. Diagramas N-S (o diagramas estructurados)
Representan la lógica usando bloques rectangulares anidados. Muestran la estructura del algoritmo (secuencial, condicional o repetitiva) de forma más ordenada que un diagrama de flujo.


Ventajas:

  • Claros, limpios y muy organizados
  • Facilitan entender programas más largos
  • Reducen la complejidad visual

5. Tablas de decisión
Se usan cuando el algoritmo depende de muchas condiciones. Permiten organizar entradas y salidas posibles para determinar qué acción ejecutar.

Se usan para:

  • Procesos con múltiples casos
  • Problemas donde intervienen varias reglas   

6. Lenguajes de programación
Aunque no es una técnica previa, muchos algoritmos se representan directamente escribiéndolos en un lenguaje como Python, C o Java. Esto convierte la solución en código ejecutable.

Conclusión
Las técnicas de representación de algoritmos permiten planificar y visualizar soluciones antes de programar. Ya sea mediante pseudocódigo, diagramas de flujo o tablas de decisión, estas herramientas ayudan a estructurar el pensamiento lógico y facilitan la comprensión del problema. Dominar estas formas de representación es fundamental para todo programador en formación.




En programación, las variables y constantes son elementos fundamentales que permiten almacenar y manipular información dentro de un programa. Comprenderlas es esencial para construir cualquier tipo de algoritmo o aplicación.

Variable
Una variable es un elemento que permite almacenar información cuyo valor puede cambiar durante la ejecución de un programa. Funciona como un contenedor donde el programa guarda datos temporales, como números, textos o resultados de operaciones. Su principal característica es la capacidad de modificarse tantas veces como sea necesario mientras el programa se ejecuta.

Constante

Una constante es un espacio de memoria que almacena un valor fijo que no puede modificarse después de ser asignado. Se utiliza para representar datos permanentes o valores que deben mantenerse estables durante todo el programa, como π o una tarifa establecida. Las constantes ayudan a evitar errores y hacen que el código sea más claro y confiable.







2. OPERADORES


Los operadores son símbolos o palabras especiales que permiten realizar operaciones dentro de un programa. Actúan sobre uno o más valores (llamados operandos) para producir un resultado. Son esenciales para trabajar con datos, tomar decisiones y construir la lógica de un algoritmo.

Los operadores se clasifican según el tipo de operación que realizan:

1. Operadores aritméticos
Permiten realizar operaciones matemáticas básicas.

Ejemplos comunes:
+ suma
- resta
* multiplicación
/ división
% módulo (residuo de una división)




2. Operadores relacionales o de comparación
Comparan dos valores y devuelven un resultado verdadero o falso.

Ejemplos:
== igual
!= diferente
> mayor que
< menor que
>= mayor o igual
<= menor o igual

Estos operadores son fundamentales en estructuras condicionales como if o en ciclos.

Permiten combinar condiciones o invertir su valor lógico.

Ejemplos:
AND / && → ambas condiciones deben ser verdaderas
OR / || → basta con que una sea verdadera
NOT / ! → invierte el valor lógico

Son clave para evaluar expresiones complejas en decisiones y bucles.

4. Operadores de asignación
Se utilizan para asignar valores a variables.

Ejemplos:
= asignación simple
+= suma y asigna
-= resta y asigna
*= multiplica y asigna
/= divide y asigna

Hacen más compacta y clara la escritura del código.

Importancia de los operadores

Los operadores permiten manipular datos, comparar resultados, tomar decisiones y controlar el flujo del programa. Sin ellos, un algoritmo no podría ejecutar cálculos, evaluar condiciones ni procesar información de forma eficiente. Son una parte esencial de la lógica y la estructura de cualquier lenguaje de programación.




3. C++

¿Qué es C++?
C++ es un lenguaje de programación de propósito general, potente y ampliamente utilizado en el desarrollo de software. Surge como una extensión del lenguaje C, incorporando el paradigma de programación orientada a objetos, lo que permite crear programas más organizados, modulares y fáciles de mantener.

Es reconocido por su alto rendimiento, su capacidad para trabajar directamente con el hardware y su flexibilidad para adaptarse a proyectos de distintos niveles de complejidad. Por estas razones, C++ se utiliza tanto en aplicaciones sencillas como en sistemas de gran escala.



Características principales de C++
1. Lenguaje compilado
El código se convierte directamente en lenguaje máquina, lo que permite ejecutar programas de manera rápida y eficiente.

2. Orientado a objetos
C++ introduce conceptos como clases, objetos, herencia, polimorfismo y encapsulamiento, que facilitan la organización del código.

3. Control total sobre la memoria
Permite gestionar de forma manual la memoria mediante punteros, lo que ofrece gran control, aunque también exige responsabilidad del programador.

4. Portabilidad
Un programa escrito en C++ puede ejecutarse en distintos sistemas operativos con mínimas modificaciones.

5. Versatilidad
Se usa en videojuegos, aplicaciones de escritorio, sistemas embebidos, inteligencia artificial, herramientas de ingeniería, simulaciones y más.



¿Por qué aprender C++?
  • Desarrolla una base sólida en programación
  • Permite comprender cómo funciona el hardware y el software a bajo nivel
  • Es uno de los lenguajes más rápidos y poderosos
  • Sigue siendo ampliamente utilizado en la industria
  • Abre oportunidades en áreas como robótica, simulaciones, motores gráficos y software científico

C++ en el contexto de la programación básica
Aunque es un lenguaje avanzado, C++ también es ideal para aprender conceptos fundamentales de la programación, como:

  • Variables y constantes
  • Estructuras de decisión
  • Ciclos y bucles
  • Funciones
  • Manejo de memoria
  • Algoritmos básicos


Muchos estudiantes y profesionales lo eligen como su primer lenguaje debido a la sólida base teórica y práctica que proporciona.



3.1 BIBLIOTECAS:

Bibliotecas de C++
Las bibliotecas de C++ son colecciones de funciones, clases y herramientas que facilitan el desarrollo de programas al proporcionar soluciones ya hechas para tareas comunes. En lugar de escribir código desde cero, el programador puede incluir estas bibliotecas y aprovechar sus funcionalidades. Esto hace el proceso de programación más rápido, seguro y organizado.

Las bibliotecas de C++ se dividen principalmente en bibliotecas estándar y bibliotecas externas, cada una con un propósito específico dentro del lenguaje.



1. Bibliotecas estándar de C++
El lenguaje incluye un conjunto amplio de bibliotecas conocidas como Standard Library, que vienen instaladas por defecto y cubren funciones esenciales para casi cualquier programa. Para utilizarlas, se emplea la directiva #include.

Bibliotecas más importantes:
• <iostream>
Permite trabajar con entrada y salida de datos, como cout y cin.
Es fundamental para mostrar mensajes en pantalla y recibir información del usuario.

• <string>
Proporciona herramientas para manejar cadenas de texto de forma más sencilla y segura que los arreglos tradicionales de caracteres.

• <cmath>
Incluye funciones matemáticas como raíz cuadrada, potencia, seno, coseno, etc.
Es útil para cálculos científicos o numéricos.

• <vector>
Permite usar vectores dinámicos, una estructura de datos muy flexible que puede cambiar de tamaño automáticamente.

• <algorithm>
Contiene algoritmos ya implementados como ordenar, buscar, contar elementos y más.
Evita tener que programar estas funciones desde cero.

• <fstream>
Sirve para manejar archivos de texto o de datos, permitiendo leer, escribir y modificar archivos directamente desde el programa.

• <map>, <set>, <queue>, <stack>
Ofrecen estructuras de datos clave para resolver problemas complejos y organizar información de manera eficiente.

2. Bibliotecas externas
Son creadas por terceros para ampliar las capacidades del lenguaje. No vienen instaladas por defecto, pero permiten trabajar en áreas más avanzadas.

Ejemplos de bibliotecas externas populares:
Boost → Ampliación poderosa de la biblioteca estándar

OpenCV → Visión por computadora

SDL o SFML → Gráficos y videojuegos

Qt → Interfaces gráficas de usuario

TensorFlow C++ API → Inteligencia artificial

Estas bibliotecas permiten crear desde videojuegos hasta aplicaciones científicas, interfaces visuales o sistemas complejos.

Importancia de las bibliotecas en C++
  • Las bibliotecas son fundamentales porque:
  • Ahorran tiempo de desarrollo
  • Mejoran la calidad del código
  • Permiten crear proyectos más complejos
  • Facilitan el mantenimiento
  • Proporcionan herramientas optimizadas y listas para usar
Gracias a ellas, C++ se convierte en uno de los lenguajes más potentes y versátiles en la industria del software.





4. DESICIONES:

Las decisiones en programación son estructuras que permiten que un programa elija entre diferentes caminos según una condición. En otras palabras, son los mecanismos que permiten que un algoritmo piense y actúe de forma diferente dependiendo de la situación.

Una decisión se basa en evaluar una condición lógica, la cual siempre da como resultado verdadero o falso. Según ese resultado, el programa ejecuta un bloque de instrucciones u otro. Gracias a esto, el flujo del programa deja de ser lineal y se vuelve dinámico e inteligente.


Estructuras de decisión
Las estructuras de decisión son mecanismos en programación que permiten que un algoritmo tome distintos caminos dependiendo de si una condición se cumple o no. Gracias a ellas, los programas pueden reaccionar a diferentes situaciones, analizar datos y ejecutar acciones específicas según sea necesario.

Estas decisiones se basan en condiciones lógicas, las cuales se evalúan como verdaderas o falsas. Dependiendo del resultado, el programa selecciona qué instrucciones ejecutar. Sin estas estructuras, el flujo de un programa sería lineal y no podría adaptarse a diferentes escenarios.



1. If (Si)
Es la estructura de decisión más básica.
Permite ejecutar un bloque de código solo si la condición es verdadera.

Uso:

  • Tomar decisiones simples
  • Verificar valores
  • Controlar errores o restricciones

Agrega una alternativa en caso de que la condición no se cumpla.
Si la condición es verdadera se ejecuta el primer bloque; si es falsa, se ejecuta el segundo.

Uso:

  • Dar dos posibles respuestas
  • Manejar casos opuestos
  • Procesar datos según su valor

Se utiliza cuando hay múltiples condiciones posibles.
El programa evalúa cada condición en orden y ejecuta el bloque correspondiente a la primera que resulte verdadera.

Uso:

  • Comparaciones de rang os
  • Menús de opciones
  • Selección entre varias alternativas

4. Switch (según el lenguaje)
Permite elegir entre varios casos predefinidos según el valor de una variable.
Es más ordenado que usar muchos Else If cuando hay muchas opciones.

Uso:

  • Menús grandes
  • Clasificación por categorías
  • Procesar valores específicos

Importancia de las decisiones en programación

Las estructuras de decisión permiten que los programas sean dinámicos, inteligentes y capaces de adaptarse a diferentes situaciones. Gracias a ellas, un algoritmo puede analizar condiciones, elegir caminos y resolver problemas de forma más flexible y eficiente.


Bucles o ciclos

Los bucles, también llamados ciclos, son estructuras fundamentales en programación que permiten repetir un conjunto de instrucciones varias veces sin tener que escribirlas repetidamente. Su función es ejecutar un bloque de código mientras se cumpla una condición o durante un número específico de repeticiones.

Gracias a los bucles, los programas pueden manejar tareas repetitivas de forma eficiente, como recorrer listas, contar elementos, solicitar datos o realizar cálculos iterativos. Sin ellos, las soluciones serían largas, poco prácticas y difíciles de mantener.




Existen varios tipos de bucles, pero los más comunes son:

Bucles controlados por contador: repiten las instrucciones un número determinado de veces.

Bucles controlados por condición: continúan ejecutándose mientras una condición sea verdadera.

Los bucles permiten automatizar procesos, ahorrar tiempo y crear programas más dinámicos y funcionales. Dominar su uso es esencial para avanzar en la programación y construir soluciones más complejas y eficientes.



While, Do While y For
En programación, estas tres estructuras de control permiten repetir instrucciones de manera ordenada y eficiente. Aunque todas realizan ciclos, cada una funciona de forma distinta y se utiliza según la necesidad del algoritmo.

1. While
El bucle While ejecuta un bloque de código mientras una condición sea verdadera.
Antes de cada repetición, el programa verifica la condición; si es falsa, el ciclo termina.

Características principales:

  • La condición se evalúa antes de ejecutar el bloque.
  • Puede ejecutarse cero veces si la condición inicial es falsa.
  • Se usa cuando no se sabe cuántas repeticiones serán necesarias.

2. Do While
El Do While es similar al While, pero con una diferencia clave:
el bloque se ejecuta al menos una vez, porque la condición se evalúa al final del ciclo.

Características principales:

  • El código se ejecuta primero y luego se verifica la condición.
  • Siempre se realiza al menos una repetición.
  • Es útil cuando el programa necesita ejecutar una acción antes de comprobar la condición.

3. For
El bucle For repite un bloque de código un número específico de veces.
Generalmente se utiliza cuando se conoce de antemano la cantidad de repeticiones.

Incorpora tres elementos en una sola línea:

  • Inicialización
  • Condición
  • Actualización del contador

Características principales:


  • Controlado por un contador.
  • Claro y fácil de leer para tareas repetitivas definidas.
  • Ideal para recorrer listas, sumar valores o repetir procesos un número fijo de veces.




Gracias por visitar este blog y por acompañarnos en este recorrido por los fundamentos de la programación básica. Nuestro objetivo es ofrecerte contenido claro, útil y accesible para que puedas dar tus primeros pasos en el mundo del desarrollo y comprender de manera sencilla los conceptos esenciales.

La programación es un camino lleno de aprendizaje continuo, creatividad y oportunidades. Espero que cada tema aquí explicado haya sido una guía para fortalecer tus conocimientos y motivarte a seguir explorando.

Te invito a seguir visitando el blog para descubrir nuevas publicaciones, recursos y temas avanzados que te ayudarán a crecer como programador.

¡Nos vemos en el próximo artículo!
Sigue aprendiendo, sigue creando. 🚀