Entradas

Mostrando las entradas etiquetadas como Programación

Programación Estructurada vs. Programación Orientada a Objetos

Comparación: Programación Estructurada vs. POO Comparación entre Programación Estructurada y Programación Orientada a Objetos Característica Programación Estructurada Programación Orientada a Objetos Enfoque principal Proceso o algoritmo Objetos y sus interacciones Organización del código Basada en funciones y procedimientos Basada en clases y objetos Unidades de código Funciones y procedimientos Clases y objetos Variables Globales y locales Atributos de objeto Reutilización de código A través de funciones y procedimientos A través de herencia y composición Abstracción de datos Util

Factorial de un número positivo...

Imagen
  Código en Python . Puedes usar editor en línea:  https://replit.com/ para probar el código.

Aplicación del enfoque top-down en la resolución de problemas

El enfoque top-down, también conocido como enfoque de arriba hacia abajo, es una metodología de resolución de problemas que comienza con una visión general del problema y luego lo descompone en subproblemas más pequeños y manejables.  Esta metodología es útil para problemas complejos o que requieren un enfoque holístico. Pasos típicos del enfoque top-down El enfoque top-down se puede dividir en los siguientes pasos: Definición del problema : El primer paso es definir claramente el problema que se quiere resolver. Esto implica identificar los síntomas, las causas y las consecuencias del problema. Análisis del problema : Una vez que se ha definido el problema, es necesario analizarlo en detalle para comprenderlo mejor. Esto implica recopilar información, identificar las posibles soluciones y evaluar los riesgos y beneficios de cada solución. Desarrollo de una solución : El siguiente paso es desarrollar una solución que aborde las causas del problema. Esta solución debe ser factible, efec

Alan Turing, un visionario...

Había una vez un visionario llamado Alan Turing, cuya mente brillante y curiosa lo llevaría a convertirse en el principal promotor de la computación tal como la conocemos hoy día. — ¿Los sabías? Nacido en 1912 en Maida Vale, Londres, desde una edad temprana demostró una inteligencia excepcional y una pasión insaciable por los rompecabezas y los desafíos intelectuales. Desde su infancia, Turing mostró un interés particular en las matemáticas y la lógica. A medida que crecía, fue desarrollando habilidades que le facilitaron el ingreso a la Universidad de Cambridge, donde pronto comenzó a destacar en sus estudios y a explorar la naturaleza fundamental de la computación.  Fue allí donde comenzó a idear conceptos que más tarde serían relevantes para la creación de las primeras computadoras. — ¡Un genio! La Segunda Guerra Mundial cambió el rumbo de la vida de Turing de una manera inesperada. Fue reclutado por el Gobierno Británico para trabajar en Bletchley Park, un centro secreto donde se d

Ejecución de la instrucción a := a+b en un lenguaje de bajo nivel

Lenguaje de programación de bajo nivel Un lenguaje de programación de bajo nivel es un tipo de lenguaje que se encuentra más cercano a la máquina o al código de operación que entiende directamente el hardware de una computadora; en particular, el microprocesador. Se caracteriza por tener una estrecha relación con la arquitectura del procesador y las instrucciones que este puede ejecutar. Por lo tanto, estos lenguajes ofrecen un alto nivel de control sobre el hardware y permiten una programación muy eficiente en términos de rendimiento y recursos.  Características distintivas de los lenguajes de bajo nivel 1. Abstracción mínima : Los lenguajes de bajo nivel brindan una abstracción mínima sobre el hardware, lo que significa que las instrucciones y operaciones en el código se corresponden directamente con las operaciones que el procesador puede realizar. 2. Uso directo de memoria : En estos lenguajes, los programadores deben administrar la memoria manualmente, lo que implica controlar dir

7 razones para aprender SQL (Structured Query Language)

Imagen
Origen del lenguaje SQL El lenguaje SQL (Structured Query Language) tiene su origen en la década de 1970, impulsado por un equipo de IBM que construyó un sistema de gestión de bases de datos experimental.  Tanto el Dr. Edgar F. Ted Codd como Donald D. Chamberlin y Raymond F. Boyce hicieron contribuciones significativas al desarrollo del lenguaje SQL.  El Dr. Edgar F. Ted Codd desarrolló el modelo relacional de bases de datos, que es la base conceptual del lenguaje SQL.  En 1970, Codd publicó un influyente artículo titulado “ A Relational Model of Data for Large Shared Data Banks ” donde presentó el concepto del modelo relacional . Este modelo propuso una forma de organizar los datos en tablas relacionadas, matemáticamente, lo que revolucionó la gestión de bases de datos. Por otro lado, Donald D. Chamberlin y Raymond F. Boyce fueron parte del equipo de IBM que creó la primera implementación práctica del lenguaje SQL, para interactuar con el sistema de gestión de bases de datos experimen

Haskell: lenguaje de programación funcional

Haskell es un lenguaje utilizado en una variedad de contextos y plataformas debido a su enfoque funcional, su sistema de tipos fuerte y a su capacidad para abordar problemas complejos de manera elegante y segura. Programación funcional con Haskell Se trata de un lenguaje de programación funcional, puro y de propósito general. Fue creado por un comité de investigadores, liderado por Simon Peyton Jones y Philip Wadler, con la colaboración de otros en 1990. Haskell se basa en el cálculo lambda, que es un sistema formal desarrollado en la década de 1930 para estudiar las funciones matemáticas y su computabilidad. El cálculo lambda es una piedra angular en el campo de la teoría de la computación y ha sido una influencia significativa en el diseño de lenguajes de programación funcionales. Una de las características más distintivas de Haskell es su enfoque en la programación funcional pura, lo que significa que evita el cambio de estado y las operaciones con efectos secundarios. Esto ayuda a

Recursos en línea para aprender a programar

Imagen
Es claro que existen muchos recursos en línea disponibles para aprender programación en el contexto de Internet. Y lo mejor es que un porcentaje alto de ellos son recursos gratuitos… ¿Cuáles son los recursos en línea más utilizados para aprender a programar en el contexto de internet? La cantidad de recursos en línea para aprender a programar es casi infinita. Hay guías, tutoriales en vídeo, libros básicos y avanzados, ejemplos de programas y proyectos, plataformas virtuales de aprendizaje pagas y gratuitas, y mucho más.  Y ahora, con la llegada de aplicaciones basadas en inteligencia artificial, los recursos son aún más extraordinarios. Estos recursos están disponibles para cualquiera que quiera aprender a programar, independientemente de su nivel de experiencia o conocimientos previos.  Si estás interesado en aprender a programar, te animo a que explores los recursos que están disponibles en línea. Hay muchos recursos excelentes para elegir, así que seguro que encontrarás uno que se

Programa para reducir una fracción dada X/Y

En un libro sobre algoritmos, un problema básico es el siguiente: “escribe un programa para reducir una fracción dada x/y (con números x, y enteros) a sus términos más simples”. Piden que el programa sea hecho en Pascal y en C++. Programa en Pascal: Program ReduceFraction; Function GCD(a, b: integer): integer; begin   if b = 0 then     Result := a   else     Result := GCD(b, a mod b); end; Procedure ReduceFraction(var numerator, denominator: integer); var   gcd1: integer; begin   gcd1 := GCD(numerator, denominator);   numerator := numerator div gcd1;   denominator := denominator div gcd1; end; var   x, y: integer; Begin     writeln('Ingrese el numerador (x): ');     readln(x);     writeln('Ingrese el denominador (y): ');     readln(y);     ReduceFraction(x, y);     writeln('La fraccion reducida es: ', x, '/', y);     readln; End. Programa en C++: #include <iostream> int GCD(int a, int b) {     return (b == 0) ? a : GCD(b, a % b); } void ReduceFract

Conceptos fundamentales en programación. ¡Algunos...😉!

En este post encuentras un grupo de conceptos - tomados al azar - fundamentales en programación, que debemos dominar para adentrarnos en la construcción de algoritmos que pueden ser ejecutados por un computador u ordenador. La acción "programar computadoras" no es más que escribir código para “decirle” a una máquina lo que tiene que hacer. Es una habilidad esencial en el mundo actual, dado que la tecnología está cada vez más integrada en nuestras vidas. Hay muchas razones por las que aprender a programar es importante. Aquí hay algunas de ellas: Las oportunidades laborales son abundantes. La demanda de programadores está creciendo rápidamente, y los salarios son altos. Según el Foro Económico Mundial, la programación es una de las habilidades más demandadas en la actualidad. La posibilidad de resolver problemas. La programación te enseña a pensar lógicamente y a resolver problemas de forma creativa. Estas son habilidades valiosas que se pueden aplicar a cualquier campo, más a

Concepto de “Programa Almacenado”. ¡No es cualquier concepto!

El concepto de “Programa Almacenado” es fundamental en la arquitectura de computadoras y ha sido una de las ideas más influyentes en la historia de la informática. 💡  Este concepto fue introducido por John von Neumann, un matemático húngaro, y su importancia radica en que permitió a las computadoras realizar tareas complejas mediante la lectura y ejecución de instrucciones almacenadas en la memoria, en lugar de realizar una serie de tareas fijas y preprogramadas. Esto allanó el camino para la construcción de las computadoras programables que conocemos hoy en día.  ¡Les presento una emocionante historia!, a partir del concepto «Programa Almacenado». En esta narración, descubriremos la trascendental intervención de tres actores clave, sin los cuales no tendríamos los computadores u ordenadores tal como los conocemos hoy.  ¡Aquí la tienes! 😄 Historia de tres valientes💡UAL, UC, RAM Había una vez en el reino incipiente de la computación, tres valientes ‘personajes’ que forjaron una profu

Importancia de la robustez del software

Imagen
La tecnología de la información ha transformado nuestra relación con las computadoras y el software. El desarrollo de programas de computadora es un desafío, ya que deben ser funcionales y seguros. La eficacia de un programa es vital para atraer y retener a los usuarios, generando un mayor interés en su utilización. La importancia de la robustez en programación La tecnología de la información ha transformado radicalmente la manera en que interactuamos con el mundo que nos rodea, y el desarrollo de software juega un papel fundamental en este avance.  La creación de programas informáticos es una tarea compleja y desafiante, en la que no solo se busca ofrecer funcionalidades y características atractivas, sino también garantizar que estos programas sean fiables, seguros y consistentes.  En este contexto, la robustez de un programa se convierte en un aspecto esencial para su éxito y aceptación en el mercado. La robustez de un programa se define como su capacidad para funcionar correctamen

Ejemplo de código VBA (Microsoft Excel)

Imagen
Macro en VBA para Microsoft Excel que determina si una cadena de texto es un palíndromo o no, usando un ‘repita para’… Al final encuentras el enlace a un post con un algoritmo recursivo que tiene el mismo propósito.  ¿Qué es un palíndromo? “Palíndromo” viene del griego palin dromein que significa literalmente “que recorre a la inversa”. Es decir, que la última letra de una frase es la misma que la primera, que la penúltima es idéntica a la segunda, etcétera.  Es igual que los números y las fechas capicúas (2002, 242.242, 11.11.11…), pero con las letras.  ¡Por supuesto, es el pasatiempo favorito de supersticiosos y locos por la simetría 😯! Los palíndromos van desde algunas de las palabras más bonitas del castellano, como “ reconocer ” o el colorante “ anilina ”, y nombres propios hasta poemas enteros que se han escrito con simetría perfecta, como los de Darío Lancini. Ejemplos de palíndromo “oso”, “reconocer”, “radar”, “arenera” “anilina”, “anona”, “Menem” “logra Casillas allí sacar g

Arquitectura del computador y la programación

Imagen
La arquitectura de un computador y los lenguajes de programación son dos aspectos inseparables en el campo de la informática.  La comprensión de la arquitectura es fundamental para escribir programas eficientes, diseñar sistemas compatibles y optimizar el rendimiento del software, mientras que los lenguajes de programación proporcionan las herramientas para expresar la lógica y funcionalidad de manera más abstracta y accesible para los desarrolladores. Arquitectura del computador y lenguajes de programación En el mundo actual, dominado por la tecnología y la digitalización, el conocimiento de la arquitectura de un computador es esencial para cualquier estudiante universitario en el campo de la ingeniería informática, computación o sistemas.  A menudo, los estudiantes se enfocan principalmente en aprender lenguajes de programación y técnicas de desarrollo de software, dejando de lado la comprensión profunda de cómo funciona realmente un computador (u ordenador, como es común en España)

Lenguaje de programación PASCAL

Imagen
La decisión de aprender PASCAL dependerá en gran medida de tus objetivos y las circunstancias en las que te encuentres . Origen, importancia, pertinencia del lenguaje de programación Pascal PASCAL es un lenguaje de programación de alto nivel que fue desarrollado en 1970 por el científico de la computación suizo, Niklaus Wirth. Este lenguaje lleva el nombre del matemático y filósofo francés Blaise Pascal. Fue diseñado como un lenguaje educativo y para el desarrollo de software en general . Aunque PASCAL ha perdido gran parte de su popularidad en comparación con otros lenguajes de programación modernos, aún existen algunas empresas, instituciones y organizaciones que utilizan PASCAL en ciertos contextos o proyectos específicos.  Características principales de PASCAL: Simplicidad y claridad : PASCAL fue diseñado para ser un lenguaje simple y legible, lo que facilita su aprendizaje y comprensión para programadores principiantes y avanzados. Estructurado : Fomenta la programación estructura