Fundamentos de Programación es una asignatura básica que permite crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal.
En este curso usted podrá aprender desde cero todo lo relacionado a la programación comenzando por comenzando por temas muy importantes como teoría de entidades primitivas, pasando por los condicionales, bucles, arreglos, etc.
Si usted no tiene conocimiento previo sobre programación y le gustaría comenzar a aprender e ir poco a poco avanzando en este mundo, este curso es el más recomendado, ya que cuando finalice este curso usted sabrá todo lo necesario para poder migrar hacia diferentes lenguajes de programación como C++, Java, Python, C#, etc y se le hará mucho más sencillo.
Elementos de entorno de Algoritmos y Programación
En este vídeo veremos los conceptos de computadora, sistema, sistema de procesamiento de información, hardware, software, información, dato, procesamiento de la información.
En este vídeo vamos a ver lo que es un Algoritmo, además veremos sus características, los tipos de algoritmos, los lenguajes algorítmicos y por último daremos un concepto sencillo de lo que es un programa.
En este vídeo veremos el tema de Lenguaje de programación, que es un serie de símbolos con reglas sintácticas y semánticas para poder realizar un programa, además veremos los tipos de lenguajes de programación, que se dividen en: Según el nivel de abstracción, Según la forma de ejecución, Según el paradigma de programación.
En este vídeo veremos el tema de Lenguaje de programación, que es un serie de símbolos con reglas sintácticas y semánticas para poder realizar un programa, además veremos los tipos de lenguajes de programación, que se dividen en: Según el nivel de abstracción, Según la forma de ejecución, Según el paradigma de programación.
En este vídeo veremos la metodologías para la solución de problemas mediante computadora, en el cual analizaremos todo el camino para transformar el problema planteado en un programa que resuelva dicho problema, la secuencia es la siguiente:
1. Definición del problema
2. Analisis del problema
3. Hacer el algoritmo
4. Codificar el algoritmo en algun lenguaje de programación
5. Depurar el programa
6. Documentar el programa
7. Mantenimiento
Entidades Primitivas
En este vídeo descargaremos PSeint que es una herramienta para asistir a un estudiante en sus primeros pasos en programación. Mediante un simple e intuitivo pseudolenguaje en español (complementado con un editor de diagramas de flujo), le permite centrar su atención en los conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje y proporcionando un entorno de trabajo con numerosas ayudas y recursos didácticos.
En este vídeo vamos a ver el tema de los identificadores (constantes y variables), que es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que nos permite accesar a su contenido. Los identificadores se dividen en 2: constantes y variables. Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Y una variable es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa.
En este vídeo vamos a ver lo que son los tipos de datos, mostraremos los numéricos, lógicos, caracteres, etc; además veremos como definir las variables con sus tipos de datos asignados en pseint.
En este vídeo veremos como podemos asignar valores a las variables, para ello hay que tener en cuenta lo siguiente:
- En la parte izquierda sólo puede haber una variable.
- La variable a la que se le asigna el valor pierde su valor anterior.
- El tipo de dato del valor que se obtiene al evaluar la parte derecha tiene que ser el mismo que el tipo de dato de la variable de la parte izquierda, es decir a una variable sólo se le pueden dar valores de su mismo tipo de dato.
En este vídeo veremos la entrada y salida de información, la entrada de información es toda aquellos datos que tenemos que pedirle al usuario para poder procesar la solución del problema, y la salida de información son todos aquellos mensajes que le mostramos al usuario por pantalla ya sea para pedir un dato o mostrar un resultado.
En este vídeo vamos a ver lo que son los operadores aritmeticos que permiten la realización de operaciones matemáticas con los valores (variables y constantes).
Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, El resultado es real.
Y además veremos como poder utilizarlos en Pseint.
En este vídeo veremos los operadores relacionales que se utilizan para establecer una relación entre 2 valores, compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso), los operadores relacionales comparan valores del mismo tipo, tienen el mismo nivel de prioridad en su evaluación, los operadores relacionales tienen menor prioridad que los aritméticos.
En este vídeo veremos los operadores lógicos los cuales se utilizan para establecer relaciones entre valores lógicos, además stos valores pueden ser resultado de una expresión relacional. son el and (conjunción) representado con una "Y", el or (disyunción) representado con un "O" y la negación representado con un "NO".
En este vídeo veremos las funciones internas que son funciones matemáticas diferentes de las operaciones básicas pero que se incorporan al lenguaje y que se consideran estándar. Dependen del lenguaje. Normalmente se encuentran en la librería de matemáticas del lenguaje de programación.
En este vídeo resolveremos un ejercicio aritmético para practicar lo aprendido en el capitulo de entidades primitivas.
En este vídeo vamos a resolver el ejercicio 2, que nos pide lo siguiente:
Determinar la solución lógica de la siguiente operación: ((3+5*8)<3 y ((-6/3*4)+2<2)) o (a>b)
En este vídeo resolveremos el ejercicio 3 que nos pide lo siguiente:
Hacer un programa que intercambie el valor de 2 variables.
Representación de Algoritmos
¿Qué es un Diagrama de Flujo?
Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de cómo deben realizarse los pasos en la computadora para producir resultados.
Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos.
¿Qué es el diagrama estructurado N-S?
El diagrama estructurado N-S también conocido como diagrama de chapín es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas.
¿Qué es un Pseudocódigo?
Mezcla de lenguaje de programación y español que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa.
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a realizar.
Estructuras Secuenciales
Estructuras Secuenciales
La estructura secuencial es aquella en la que una acción sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.
Resolver en Diagrama de Flujo el siguiente ejercicio:
Ejercicio 2: Hacer un programa para ingresar el radio de un circulo y se reporte su área y la longitud de la circunferencia.
Desarrollar con Diagramas N-S el siguiente ejercicio:
Ejercicio 3: Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.
Resolver mediante Pseudocódigo el siguiente ejercicio:
Ejercicio 4: Un profesor prepara tres cuestionarios para una evaluación final: A, B y C. Se sabe que se tarda 5 minutos en revisar el cuestionario A, 8 en revisar el cuestionario B y 6 en el C. La cantidad de exámenes de cada tipo se entran por teclado. ¿Cuántas horas y cuántos minutos se tardará en revisar todas las evaluaciones?
En este vídeo resolveremos en Diagrama de Flujo el siguiente ejercicio:
Ejercicio 5: Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuánto deberá pagar finalmente por su compra.
En este vídeo vamos a resolver con Diagramas N-S el siguiente ejercicio:
Ejercicio 6: Un alumno desea saber cuál será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del exámen final.
15% de la calificación de un trabajo final.
Estructuras Condicionales
Estructuras Condicionales:
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Existen 3 tipos: Simples, Dobles, Múltiples.
En este vídeo vamos a resolver mediante Pseudocódigo el siguiente ejercicio:
Ejercicio 1: Ingrese un número entero y reportar si es par o impar.
En este vídeo vamos a resolver el siguiente ejercicio en Diagrama de Flujo:
Ejercicio 2: Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobará si su promedio de tres calificaciones es mayor o igual a 70; reprueba caso contrario.
En este vídeo vamos a resolver en Diagramas N-S el siguiente ejercicio:
Ejercicio 3: En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $100. ¿Cuál será la cantidad que pagará una persona por su compra?
En este vídeo vamos a resolver mediante Pseudocódigo el siguiente ejercicio:
Ejercicio 4: Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume.
En este vídeo vamos a resolver mediante Diagrama de Flujo el siguiente ejercicio:
Ejercicio 5: Leer tres números diferentes e imprimir el número mayor de los tres.
Realizar el siguiente ejercicio en Diagramas N-S:
Ejercicio 6: Una frutería ofrece las manzanas con descuento según la siguiente tabla:
Número de kilos comprados | % Descuento
0 – 2 | 0%
2.01 – 5 | 10%
5.01 – 10 | 15%
10.01 en adelante | 20%
Determinar cuánto pagará una persona que compre manzanas en esa frutería.
Resolver mediando Pseudocódigo el siguiente ejercicio:
Ejercicio 7: Elaborar un programa que me muestre los días de las semanas cuando ingrese los siete primeros números.
En este vídeo resolveremos en diagrama de flujo el siguiente ejercicio:
Ejercicio 8: Elaborar un programa que me muestre el significado de aniversario de cada década hasta los 60.
En este vídeo vamos a resolver con Diagramas N-S el siguiente ejercicio:
Ejercicio 9: Hacer un programa que tenga un menú con las siguientes opciones:
Opción 1: Elevar un número a una potencia X
Opción 2: Sacar la raíz cuadrada de un número
Opción 3: Salir
Estructuras Repetitivas
En este vídeo veremos los Ciclos con un número determinado de iteraciones, que son aquellos en que el número de iteraciones se conoce antes de ejecutarse el ciclo.
Ciclos con un número indeterminado de iteraciones:
Son aquellos en que el número de iteraciones no se conoce con exactitud, ya que esta dado en función de un dato dentro del programa.
Ejercicio 1 (Ciclo Para – Hasta – Hacer):
Calcular la suma de los “N” primeros números. (Pseudocódigo)
Ejercicio 2 (Ciclo Para – Hasta – Hacer):
Se desea calcular independientemente la suma de los números pares e impares comprendidos entre 1 y 50. (Diagrama de Flujo)
Ejercicio 3 (Ciclo Para – Hasta – Hacer):
Leer 10 números e imprimir cuantos son positivos, cuantos negativos y cuantos neutros. (Diagrama N-S)
Ejercicio 4 (Ciclo Para – Hasta – Hacer):
Suponga que se tiene un conjunto de calificaciones de un grupo de 10 alumnos. Realizar un algoritmo para calcular la calificación promedio y la calificación más baja de todo el grupo. (Pseudocódigo)
Ejercicio 5 (Ciclo Mientras – Hacer):
Calcular el factorial de un número mayor o igual a 0. (Diagrama de Flujo)
Ejercicio 6 (Ciclo Mientras – Hacer):
Calcular la siguiente sumatoria de los “N” elementos:
S = 1 + 4 + 9 + …
N elementos
(Diagrama N-S)
Ejercicio 7 (Ciclo Mientras – Hacer):
Ingresar “N” enteros, visualizar la suma de los números pares de la lista, cuántos números pares existen y cuál es el promedio de los números impares. (Pseudocódigo)
Ejercicio 8 (Ciclo Mientras – Hacer):
Dada las horas trabajadas de 5 personas y la tarifa de pago calcular el salario, y la sumatoria de todos los salarios. (Diagrama de Flujo)
Ejercicio 9 (Ciclo Repetir – Hasta Que):
Calcular la suma de los “N” términos de la siguiente serie:
S = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + … 1/N
(Diagrama N-S)
Ejercicio 10 (Ciclo Repetir – Hasta Que):
Ingresar “N” números, calcular el máximo y mínimo de ellos. (Pseudocódigos)
Ejercicio 11 (Ciclo Repetir – Hasta Que):
Imprimir la serie de los “N” términos de la serie de Fibonacci. (Diagrama de Flujo)
Ejercicio 12 (Ciclo Repetir – Hasta Que):
Calcular la sumatoria:
S = 1 + x/1! + x^2/2! + x^3/3! + …, x^n/n!
Se debe ingresar “X” real y “N” entero positivo. (Diagrama N-S)
Arreglos
¿Qué es un Arreglo?
Un arreglo es una estructura de datos que almacena bajo el mismo nombre (variable) una colección de datos del mismo tipo.
¿Qué son los arreglos Unidimensionales?
Es un arreglo de “N” elementos organizados en una dimensión donde “N” es el número de elementos.
Ejercicio 1:
Crea un arreglo unidimensional con un tamaño de 5 (números reales), pregúntale al usuario los valores y calcula la suma y promedio de todos ellos. (Pseudocódigo)
Ejercicio 3:
Crea un arreglo unidimensional con "N" caracteres, lee los elementos por teclado, guardarlos en el arreglo y muéstralos en el orden inverso al introducido. (Diagrama N-S)
Ejercicio 3:
Crea un arreglo unidimensional con "N" caracteres, lee los elementos por teclado, guardarlos en el arreglo y muéstralos en el orden inverso al introducido. (Diagrama N-S)
Ejercicio 4:
Crea un arreglo unidimensional con "N" números, lee los elementos por teclado, guardarlos en el arreglo, calcula cuál de los números es el mayor de todos y además cuál es el menor de todos. (Pseudocódigo)
Ejercicio 5:
Leer 8 números enteros dentro de un arreglo. Debemos mostrarlos en el siguiente orden: el primero, el último, el segundo, el penúltimo, el tercero, etc. (Diagrama de Flujo)
Ejercicio 6:
Leer por teclado una serie de 5 números reales. El programa debe indicarnos si los números están ordenados de forma creciente, decreciente, o si están desordenados. (Diagrama N-S)
Ejercicio 7:
Crear un programa que lea por teclado un arreglo de 6 números y la desplace una posición hacia abajo: el primero pasa a ser el segundo, el segundo pasa a ser el tercero y así sucesivamente. El último pasa a ser el primero. (Pseudocódigo)
Ejercicio 8:
Leer 5 elementos numéricos que se introducirán ordenados de forma creciente. Éstos los guardaremos en un arreglo de tamaño 6. Leer un número N, e insertarlo en el lugar adecuado para que el arreglo continúe ordenado.
(Diagrama de Flujo)
Ejercicio 9:
Leer por teclado un arreglo de 5 elementos numéricos y una posición (entre 0 y 4). Eliminar el elemento situado en la posición dada sin dejar huecos.
(Diagrama N-S)
Ejercicio 10:
Leer dos arreglos de 5 números enteros cada uno, que estarán ordenados crecientemente. Copiar (fusionar) los dos arreglos en un tercero, de forma que los números sigan ordenados.
(Pseudocódigos)
Ordenamientos
Método de la Burbuja:
La filosofía de este método es ir comparando los elementos del arreglo de 2 en 2 y si no están colocados correctamente intercambiarlos, así hasta que tengamos el arreglo ordenado.
En este vídeo codificaremos el método burbuja, crearemos un arreglo de 5 elementos enteros, le pediremos al usuario los números del arreglo, y luego utilizaremos el método burbuja para ordenar los elementos y los mostraremos en pantalla en orden ascendente y descendente, por último mostrare como hacer una pequeña modificación para que este algoritmo sea un poco más eficiente.
Ordenamiento por Inserción:
Es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. Requiere O(n^2) operaciones para ordenar una lista de n elementos.
En este vídeo codificaremos el ordenamiento por inserción, crearemos un arreglo de 5 elementos enteros, le pediremos al usuario los números del arreglo, y luego utilizaremos el ordenamiento por inserción para ordenar los elementos y los mostraremos en pantalla en orden ascendente y descendente.
Ordenamiento por Selección:
Se trata de buscar el elemento más pequeño y colocarlo en la primera posición, después el segundo más pequeño y colocarlo en la segunda posición, y así sucesivamente hasta que el arreglo este ordenado.
En este vídeo codificaremos el ordenamiento por selección, crearemos un arreglo de 5 elementos enteros, le pediremos al usuario los números del arreglo, y luego utilizaremos el ordenamiento por selección para ordenar los elementos y los mostraremos en pantalla en orden ascendente y descendente.
Búsquedas
Búsqueda Secuencial:
Se puede aplicar para búsquedas internas y externas, y hay que ir pasando secuencialmente por todos los elementos de la estructura hasta encontrar el elemento o acabar la lista.
Búsqueda Secuencial:
Se puede aplicar para búsquedas internas y externas, y hay que ir pasando secuencialmente por todos los elementos de la estructura hasta encontrar el elemento o acabar la lista. En este vídeo hacemos su Pseudocódigo
Búsqueda Binaria:
Para que se pueda aplicar la búsqueda binaria a un arreglo, éste debe estar previamente ordenado ascendentemente.
Se trata de dividir el espacio de búsqueda en sucesivas mitades hasta encontrar el elemento buscado o hasta que ya no pueda hacer más mitades.
Primero hallamos el índice de la mitad del arreglo y miramos si el elemento coincide con él, sino coincide averiguamos donde debería estar el elemento buscado, si en la parte derecha o izquierda, y dentro de esa mitad hago lo miso sucesivamente.
Búsqueda Binaria:
Para que se pueda aplicar la búsqueda binaria a un arreglo, éste debe estar previamente ordenado ascendentemente.
Se trata de dividir el espacio de búsqueda en sucesivas mitades hasta encontrar el elemento buscado o hasta que ya no pueda hacer más mitades.
Primero hallamos el índice de la mitad del arreglo y miramos si el elemento coincide con él, sino coincide averiguamos donde debería estar el elemento buscado, si en la parte derecha o izquierda, y dentro de esa mitad hago lo miso sucesivamente.
Cadenas de Caracteres
Cadena de Caracteres:
- Es un conjunto de 0 o más caracteres. Entre estos caracteres puede estar incluido el blanco.
- Las cadenas de caracteres se almacenan en posiciones contiguas de memoria.
- La longitud de una cadena es el número de caracteres de la misma.
- Una subcadena es una cadena extraída de otra.
En este vídeo veremos las diferentes operaciones que podemos realizar con las cadenas en pseint, veremos funciones que nos ayudan a diferentes propósitos como: Hallar la longitud de la cadena, sacar una subcadena, concatenar 2 cadenas, convertir una cadena a un número, convertir un número a una cadena, convertir una cadena a mayúscula y convertir una cadena a minúscula.
Ejercicio 1:
Diseñe un programa que permita ingresar una cadena de caracteres, y detecte cuántas vocales tiene.
(Pseudocódigo)
Ejercicio 2:
Calcular la longitud de 2 cadenas de caracteres, y mostrar la cadena con la mayor longitud.
(Diagrama de Flujo)
Ejercicio 3:
Diseñe un algoritmo cuya entrada sea una Cadena, y un número entero N, cuya función sea generar la cadena dada N veces.
Ejercicio 4:
Diseñe un algoritmo que elimine los espacios en blanco de un texto.
Ejercicio 5:
Cambiar una cadena de caracteres, al revés
Ejemplo:
“hola” -> “aloh”
Ejercicio 6:
Diseñar un algoritmo que tomando como entrada una cadena de texto nos devuelva si es o no un palíndromo. Se conoce que se denomina palíndromo a una palabra o frase que, ignorando los blancos, se lee igual de izquierda a derecha que de derecha a izquierda.
Ejercicio 7:
Ingresar una frase y modificarla convirtiendo el primer carácter de cada palabra si esta fuera una letra, de minúsculas a mayúsculas.
Ejercicio 8:
Sustituir todos los espacios en blanco de una frase por un asterisco (*).
Ejercicio 9:
Leer una frase y contar el número de vocales (de cada una) que aparecen.
Ejercicio 10:
Realizar un programa que permita contabilizar cuantas veces una subcadena se repite dentro de una frase.
Matrices
¿Qué son las matrices?
Es un arreglo de M*N elementos organizados en dos dimensiones donde “M” es el número de filas y “N” es el número de columnas.
Para representar una matriz se necesita un nombre de matriz acompañado de 2 índices.
¿Qué son las matrices?
Es un arreglo de M*N elementos organizados en dos dimensiones donde “M” es el número de filas y “N” es el número de columnas.
Para representar una matriz se necesita un nombre de matriz acompañado de 2 índices.
Ejercicio 1:
Hacer un algoritmo que almacene números en una matriz de 3*4. Imprimir la suma de los números pares almacenados en la matriz.
(Pseudocódigo)
Ejercicio 2:
Hacer un algoritmo que llene una matriz de 4*4 y determine la posición [fila, columna] del número mayor almacenado en la matriz.
(Diagrama de Flujo)
Ejercicio 3:
Hacer un algoritmo que llene una matriz de 4*4. Calcular la suma de cada fila y almacenarla en un arreglo, la suma de cada columna y almacenarla en otro arreglo.
(Diagrama N-S)