Aprende Programación en C desde cero

Metodología, Algoritmos, Estructura de Datos y Organización de Archivos
4.0 (15 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
68 students enrolled
$19
$20
5% off
Take This Course
  • Lectures 127
  • Length 12.5 hours
  • Skill Level All Levels
  • Languages Spanish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 Spanish

Course Description

C es el lenguaje de programación de propósito general asociado, de modo universal, al sistema operativo UNIX. Sin embargo, la popularidad, eficacia y potencia de C, se ha producido porque este lenguaje no está prácticamente asociado a ningún sistema operativo, ni a ninguna máquina, en especial. Ésta es la razón fundamental, por la cual C, es conocido como el lenguaje de programación de sistemas, por excelencia.

Ventajas de C:

  • El lenguaje C es poderoso y flexible, con órdenes, operaciones y funciones de biblioteca que se pueden utilizar para escribir la mayoría de los programas que corren en la computadora.
  • C se utiliza por programadores profesionales para desarrollar software en la mayoría de los modernos sistemas de computadora.
  • Se puede utilizar C para desarrollar sistemas operativos, compiladores, sistemas de tiempo real y aplicaciones de comunicaciones.
  • Un programa C puede ser escrito para un tipo de computadora y trasladarse a otra computadora con pocas o ninguna modificación

En este curso Aprenderás:

1. Introducción a la Programación en C

  • Concepto de algoritmo
  • Los lenguajes de programación
  • Lenguaje C

2. El lenguaje C : Elementos Básicos

  • Descargar Dev-C++
  • ESTRUCTURA GENERAL DE UN PROGRAMA EN C
    • Librería stdio.h
    • Comentarios
    • Hola mundo
  • Directivas del preprocesador y Variables
    • Archivos de cabecera (librería y macros)
    • Variables globales y locales
  • Tipos de datos en C
  • Entradas y Salidas
  • Sentencias de Escape
  • Salida y Entrada de cadena de caracteres

4. Operadores y Expresiones

  • Operador de Asignación
  • Operadores de incrementación y decrementación
  • Bloque de Ejercicios Operadores

4. Estructuras de Selección

  • La sentencia if
  • Sentencia if de dos alternativas: if-else
  • Sentencia de control Switch
  • Expresiones Condicionales: El operador ?
  • Bloque de Ejercicios Condicionales

5. Estructuras de Control: Bucles

  • La sentencia While
  • Repetición el Bucle For
  • Repetición: El Bucle Do While
  • Bloque de Ejercicios Bucles

6. Funciones

  • Concepto de Función
  • Funciones Numéricas
  • Funciones de Utilidad
  • Recursividad
  • Bloque de Ejercicios

7. Arrays (Listas y Tablas)

  • Concepto Arrays
  • Inicialización de un Array
  • Arrays de caracteres y cadenas de texto
  • Arrays Multidimensionales
  • Ordenación de Listas
  • Búsqueda en Listas
  • Bloque de Ejercicios

8. Estructuras y Uniones

  • Estructuras
  • Acceso a estructuras
  • Estructuras Anidadas
  • Arrays de Estructuras
  • Utilización de Estructuras como Parámetros
  • Uniones
  • Enumeraciones
  • Campos de Bit
  • Bloque de Ejercicios

9. Punteros (Apuntadores)

  • Direcciones en Memoria
  • Concepto de Punteros (Apuntador)
  • Punteros NULL y VOID
  • Punteros a Punteros
  • Punteros y Arrays
  • Arrays de Punteros
  • Punteros de Cadenas
  • Aritmética de Punteros
  • Punteros Constantes frente a punteros a constantes
  • Punteros como argumentos de funciones
  • Punteros a Funciones
  • Punteros a Estructuras
  • Bloque de Ejercicios

10. Asignación Dinámica de Memoria

  • Gestión Dinámica de la memoria
  • Función maiioc
  • Liberación de Memoria, función free
  • Funciones de asignación de memoria calloc() y realloc()
  • Asignación de memoria para Arrays
  • Arrays dinámicos
  • Reglas de Funcionamiento de la asignación de memoria
  • Bloque de Ejercicios

11. Cadenas

  • Concepto de Cadena
  • Lectura de Cadenas
  • La biblioteca string.h
  • Arrays y cadenas como parámetros de funciones
  • Asignación de Cadenas
  • Longitud y Concatenación de Cadenas
  • Comparación de Cadenas
  • Inversión de Cadenas
  • Conversión de Cadenas
  • Conversión de Cadenas a Números
  • Búsqueda de Caracteres y Cadenas
  • Bloque de Ejercicios

12. Entradas y Salidas por Archivos

  • Flujos
  • Puntero FILE
  • Apertura de un Archivo
  • Creación de un archivo secuencial
  • Archivos Binarios en C
  • Funciones para acceso aleatorio
  • Bloque de ejercicios

13. Listas Enlazadas

  • Fundamentos Teóricos
  • Clasificación de las Listas Enlazadas
  • Operaciones en Listas Enlazadas
  • Lista Doblemente enlazada
  • Listas Circulares
  • Bloque de ejercicios

14. Pilas y Colas

  • Concepto de Pila
  • El tipo de pila implementado con arrays
  • Colas
  • El tipo de cola implementado con arrays
  • Realización de una cola con una lista enlazada
  • Bloque de ejercicios

15. Árboles

  • Árboles generales
  • Arboles Binarios
  • Estructuras de un árbol binario
  • Operaciones en árboles binarios
  • Arboles de Expresión
  • Recorrido de un Árbol
  • Árbol Binario de Búsqueda
  • Operaciones en árboles binarios de búsqueda
  • Aplicaciones de árboles de algoritmos de exploración
  • Bloque de Ejercicios

What are the requirements?

  • necesitarás descargar Dev-C++ o Code Bloks, pero descuida lo explicaremos en el curso.
  • el curso comienza desde cero, no hace falta tener conocimientos previos sobre C
  • necesitas una mentalidad positiva, para comenzar a aprender a programar en C

What am I going to get from this course?

  • diseñar programas en C.
  • Plantear el algoritmo correcto para solucionar un problema.
  • Entender la lógica necesaria de los lenguajes de programación.

What is the target audience?

  • Apasionados por la programación
  • Autodidactas
  • Estudiantes
  • Ingenieros

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Presentación
04:00

Presentación

Objetivo del Curso:

Aprender a Desarrollar algoritmos mediante el lenguaje de programación C para la solución de problemas.

A quien va dirigido el curso:

  • Apasionados por la programación
  • Autodidactas
  • Estudiantes
  • Objetivo Final

    Al finalizar este curso sabrás:

  • Como diseñar programas en C.
  • Plantear el algoritmo correcto para solucionar un problema.
  • Entender la lógica necesaria de los lenguajes de programación.
  • Section 2: Introducción a la Programación en C
    01:31

    Introducción

    1. Introducción a la Programación en C

    1. Concepto de algoritmo

    2. Los lenguajes de programación

    3. Lenguaje C

    05:55

    En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.
    En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones lineales.
    En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un cálculo o un problema abstracto, es decir, que un número finito de pasos convierten los datos de un problema (entrada) en una solución (salida). Sin embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en particular. Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca termine de calcular números primos no deja de ser un algoritmo. A lo largo de la historia varios autores han tratado de definir formalmente a los algoritmos utilizando modelos matemáticos. Esto fue realizado por Alonzo Church en 1936 con el concepto de "calculabilidad efectiva" basada en su cálculo lambda y por Alan Turing basándose en la máquina de Turing.

    08:34

    Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.

    Tipos de lenguajes

  • Lenguajes máquina.
  • Lenguaje de bajo nivel (ensamblador).
  • Lenguajes de alto nivel.
  • Lenguajes Máquina:

  • Los lenguajes máquina son aquellos que están escritos en lenguajes directamente inteligibles por la máquina (0 y 1).
  • Ventajas:

  • Mayor velocidad de ejecución
  • Desventajas:

  • Dificultad y lentitud en la codificación.
  • Poca fiabilidad.
  • Dificultad grande de verificar y poner a punto los programas.
  • Los programas sólo son ejecutables en el mismo procesador
  • Lenguajes de Bajo Nivel

  • El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés, ADD, SUB, DIV, etc.
  • Ventajas:

  • Mayor facilidad de codificación y, en general, su velocidad de cálculo.
  • Desventajas:

  • Dependencia total de la máquina, lo que impide la transportabilidad de los programas
  • La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no sólo las técnicas de programación, sino también el conocimiento del interior de la máquina.
  • Lenguajes de Alto Nivel

  • Están diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y ensambladores. Otra razón es que un programa escrito en lenguaje de alto nivel es independiente de la máquina
  • Ventajas:

  • El tiempo de formación de los programadores relativamente corto comparado con otros lenguajes.
  • La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos. Nombres de las instrucciones, tales como READ, WRITE, PRINT, OPEN, etc.
  • Transportabilidad.
  • Desventajas:

  • Incremento del tiempo de puesta a punto, al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo.
  • No se aprovechan los recursos internos de la máquina, que se explotan mejor en lenguajes máquina y ensambladores.
  • Aumento de la ocupación de la máquina.
  • El tiempo de ejecución de los programas es mucho mayor
  • 03:38

    C es un lenguaje de programación originalmente desarrollado por Dennis M. Ritchie entre 1969 y 1972 en los Laboratorios Bell,2como evolución del anterior lenguaje B, a su vez basado en BCPL.

    Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.

    Se trata de un lenguaje de tipos de datos estáticos, débilmente tipificado, de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.

    La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portable entre plataformas y/o arquitecturas.

    Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias unas pocas instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución. Es muy posible escribir C a bajo nivel de abstracción; de hecho, C se usó como intermediario entre diferentes lenguajes.

    En parte a causa de ser de relativamente bajo nivel y de tener un modesto conjunto de características, se pueden desarrollar compiladores de C fácilmente. En consecuencia, el lenguaje C está disponible en un amplio abanico de plataformas (más que cualquier otro lenguaje). Además, a pesar de su naturaleza de bajo nivel, el lenguaje se desarrolló para incentivar la programación independiente de la máquina. Un programa escrito cumpliendo los estándares e intentando que sea portátil puede compilarse en muchos computadores.

    C se desarrolló originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo) por programadores para programadores. Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programación de software de sistema, para la que se diseñó originalmente.

    Section 3: El lenguaje C - Elementos Básicos
    01:51

    Introducción

    2. El lenguaje C - Elementos Básicos

    1. Descargar Dev - C++.

    2. Estructura general de un programa en C.

    3. Directivas del preprocesador y Variables.

    4. Tipos de datos en C.

    5. Entradas y Salidas

    03:10

    LINK DE DESCARGA: http://bit.ly/1RhfuL4

    Dev-C++ es un Entorno Integrado de Desarrollo para el lenguaje de programación C/C++ que usa Mingw (Minimalist GNU for Windows, www.mingw.org ) de GCC (GNU Compiler Collection www.gnu.org/home.es.html ). Es un software de libre distribución (www.bloodshed.net ) sujeto a los términos de la Licencia Pública General (GPL) de GNU. Algunas de las características de Dev-C++ son:

    - Soporta compiladores basados en GCC, por ejemplo Mingw.

    - Tiene integrado un depurador basado en GDB (Gnu DeBugger).

    - Mantiene una lista con las clases utilizadas durante la edición de un programa.

    - Mantiene una lista de las funciones definidas en la implementación del programa.

    - Tiene un manejador de proyectos.

    - Soporta la actualización del software y bibliotecas a través de Internet.

    Antes de trabajar con Dev-C++ Debemos tener un acceso directo al fichero devcpp.exe, que nos permita la ejecución del entorno de trabajo tras hacer un doble clic en el mismo. Antes de trabajar con Dev-C++ debemos personalizarlo al menos con las siguientes opciones:

    - Herramientas -> Opciones del Entorno ->Interfaz -> Idioma: español (Castellano)

    - Herramientas -> Opciones de Compilador -> Configuración -> Compilador de C -> Soporte para Programas ANSI Estándar en C: Yes.

    - Herramientas -> Opciones de Compilador -> Configuración -> Linker -> Generar Información de Debug: Yes.

    - Herramientas -> Opciones del Entorno -> Principal -> Crear archivos de respaldo (Copia de Seguridad).

    - Herramientas -> Opciones del Editor -> Principal -> Resaltar llaves y paréntesis concordantes.

    - Herramientas -> Opciones del Editor -> Sintaxis -> Pre-configuraciones: Classic.

    Un fichero fuente nuevo:

    - Archivo -> Nuevo -> Código Fuente, o bien - Ctrl+N

    Un fichero fuente ya existente:

    - Archivo -> Abrir Proyecto o Archivo , o bien - Ctrl+O Un fichero fuente ya existente, y que se editó recientemente (Dev-C++ guarda un historial de los últimos 10 ficheros fuente distintos que se han abierto):

    - Archivo -> Abrir Archivo Reciente

    06:24

    En este vídeo repasamos los elementos constituyentes de un programa escrito en C, fijando ideas y describiendo ideas nuevas relativas a la mencionada estructura de un programa en C. Un programa en C se compone de una o más funciones. Una de las funciones debe ser obligatoriamente main. Una función en C es un grupo de instrucciones que realizan una o más acciones. Asimismo, un programa contendrá una serie de directivas #include que permitirán incluir en el mismo archivos de cabecera que a su vez constarán de funciones y datos predefinidos en ellos. De un modo más explícito, un programa C puede incluir: directivas de preprocesador; declaraciones globales; o la función main( ) ;funciones definidas por el usuario; 0 comentarios del programa (utilizados en su totalidad). La estructura típica completa de un programa C se muestra en la Figura 3.1. Un ejemplo:


    /*Listado DEMO-UN0.C. Programa de saludo * /
    programa sencillo en C.
    #include <stdio.h> / * Este programa imprime: Bienvenido a la programación en C * /
    int main0
    {
    printf("Bienvenido a la programación en C ");
    return 0;
    }
    La directiva # include de la primera línea es necesaria para que el programa tenga salida. Se refiere a un archivo externo denominado stdio . h en el que se proporciona la información relativa a la función printf ( ) . Obsérvese que los ángulos < y > no son parte del nombre del archivo; se utilizan para indicar que el archivo es un archivo de la biblioteca estándar C. La segunda línea es un comentario, identificado por los caracteres /* y */. Los comentarios se incluyen en programas que proporcionan explicaciones a los lectores de los mismos. Son ignorados por el compilador. La tercera línea contiene la cabecera de la función main ( , obligatoria en cada programa C. Indica el comienzo del programa y requieren los paréntesis ( ) a continuación de main ( ) . La cuarta y séptima línea contienen sólo las llaves { y 1 que encierran el cuerpo de la función main ( ) y son necesarias en todos los programas C.

    09:35

    El preprocesador en un programa C se puede considerar como un editor de texto inteligente que consta de directivas (instrucciones al compilador antes de que se compile el programa principal). Las dos directivas más usuales son #include y #define.

    Todas las directivas del preprocesador comienzan con el signo de libro o «almohadilla>>(# ), que indica al compilador que lea las directivas antes de compilar la parte (función) principal del programa. Las directivas son instrucciones al compilador. Las directivas no son generalmente sentencias, obsérvese que su línea no termina en punto y coma-, sino instrucciones que se dan al compilador antes de que el programa se compile. Aunque las directivas pueden definir macros, nombres de constantes, archivos fuente adicionales, etc., su uso más frecuente en C es la inclusión de archivos de cabecera.


    Existen archivos de cabecera estándar que se utilizan ampliamente, tales como STDIO . H, STDLIB . H, MATH. H, STRING. H y se utilizarán otros archivos de cabecera definidos por el usuario para diseño estructurado. La directiva #include indica al compilador que lea el archivo fuente que viene a continuación de ella y su contenido lo inserte en la posición donde se encuentra dicha directiva. Estos archivos se denominan archivos de cubecera o archivos de inclusión. Los archivos de cabecera (archivos con extensión . h contienen código fuente C) se sitúan en un programa C mediante la directiva del preprocesador #include con una instrucción que tiene el siguiente formato:

    #include <nombrearch. h> O bien #include "nombrearch.h"
    nombrearch debe ser un archivo de texto ASCII (su archivo fuente) que reside en su disco. En realidad, la directiva del preprocesador mezcla un archivo de disco en su programa fuente. La mayoría de los programadores C sitúan las directivas del preprocesador al principio del programa, aunque esta posición no es obligatoria.

    08:35
    C no soporta un gran número de tipos de datos predefinidos, pero tiene la capacidad para crear sus propios tipos de datos. Todos los tipos de datos simples o básicos de C son, esencialmente, números. Los tres tipos de datos básicos son: enteros; números de coma flotante (reales); caracteres. Los tipos de datos fundamentales en C son:

    - enteros: (números completos y sus negativos), de tipo int. variantes de enteros: tipos short, long y unsigned.
    - reales: números decimales, tipos float, double o long double.
    - caracteres: letras, dígitos, símbolos y signos de puntuación, tipo char. char, int , float y double son palabras reservadas, o más específicamente, especificadores de tipos. Cada tipo de dato tiene su propia lista de atributos que definen las características del tipo y pueden variar de una máquina a otra. Los tipos char, i nt y doubl e tienen variaciones o modijcadores de tipos de datos, tales como short, long, signed y unsigned, para permitir un uso más eficiente de los tipos de datos. Existe el tipo adicional enum: Enteros (int). Probablemente el tipo de dato más familiar es el entero, o tipo int. Los enteros son adecuados para aplicaciones que trabajen con datos numéricos. Los tipos enteros se almacenan internamente en 2 bytes (o 16 bits) de memoria. resume los tres tipos enteros básicos, junto con el rango de valores y el tamaño en bytes usual, dependiendo de cada máquina. Tipos de coma flotante (float/double) Los tipos de datos de coma (punto) flotante representan números reales que contienen una coma (un punto) decimal, tal como 3.14159, o números muy grandes, tales como 1.85* IO”. Caracteres (char) Un carácter es cualquier elemento de un conjunto de caracteres predefinidos o alfabeto. La mayoría de las computadoras utilizan el conjunto de caracteres ASCII. C procesa datos carácter (tales como texto) utilizando el tipo de dato char. En unión con la estructura array, que se verá posteriormente, se puede utilizar para almacenar cadenas de caracteres (grupos de caracteres).
    08:52

    Los programas interactúan con el exterior, a través de datos de entrada o datos de salida. La biblioteca C proporciona facilidades para entrada y salida, para lo que todo programa deberá tener el archivo de cabecera stdio . h . En C la entrada y salida se lee y escribe de los dispositivos estándar de entrada y salida, se denominan stdin y stdout respectivamente. La salida, normalmente, es a pantalla del ordenador, la entrada se capta del teclado.
    En el archivo stdio . h están definidas macros, constantes, variables y funciones que permiten intercambiar datos con el exterior. A continuación se muestran las más habituales y fáciles de utilizar. Salida: La salida de datos de un programa se puede dirigir a diversos dispositivos, pantalla, impresora, archivos. La salida que se trata a continuación va a ser a pantalla, además será formateada. La función printf ( ) visualiza en la pantalla datos del programa, transforma los datos, que están en representación
    binaria, a ASCII según los códigos transmitidos. Entrada: La entrada de datos a un programa puede tener diversas fuentes, teclado, archivos en disco. La entrada que consideramos ahora es a través del teclado, asociado al archivo estándar de entrada stdin. La función mas utilizada, por su versatilidad, para entrada formateada es scanf ( ) . El archivo de cabecera stdio.h de la biblioteca C proporciona la definición (el prototipo) de scanf ( ) , así como de otras funciones de entrada o de salida.
    Salida de cadenas de caracteres: Con la función printf ( ) se puede dar salida a cualquier dato, asociándolo el código que le corresponde. En particular, para dar salida a una cadena de caracteres se utiliza el código % s. Así, char arbol [I = "Acebo"; printf ("%s "arbol") ; Para salida de cadenas, la biblioteca C proporciona la función específica puts ( ) . Tiene un solo argumento, que es una cadena de caracteres. Escribe la cadena en la salida estándar (pantalla) y añade el fin de línea. Así, puts (arbol) ; muestra en pantalla lo mismo que printf ("%s "arbol") ;

    Section 4: Operaciones y Expresiones
    01:49

    Introducción

    3. Operadores y Expresiones

  • 1. Operador de Asignación.
  • 2. Ejercicio Operaciones Aritméticas.
  • 3. Ejercicio Hipotenusa de un triángulo rectángulo.
  • 4. Ejercicio Áreas de Trapecios.
  • 5. Ejercicio Descuento del 15% en una tienda.
  • 6. Ejercicio Incremento del 25% del sueldo.
  • 7. Ejercicio Calculando cantidad de segundos.
  • 05:12

    Los programas C constan de datos, sentencias de programas y expresiones. Una expresión es, normalmente, una ecuación matemática, tal como 3 + 5. En esta expresión, el símbolo más (+) es el operador de suma, y los números 3 y 5 se llaman operandos. En síntesis, una expresión es una secuencia de operaciones y operandos que especifica un cálculo.
    Cuando se utiliza el + entre números (o variables) se denomina operador binario, debido a que el operador + suma dos números. Otro tipo de operador de C es el operador unitario («unario»), que actúa sobre un Único valor. Si la variable x contiene el valor 5, -x es el valor -5. El signo menos (-) es el operador unitario menos.
    C soporta un conjunto potente de operadores unarios, binarios y de otros tipos. OPERADOR DE ASIGNACIÓN: El operador = asigna el valor de la expresión derecha a la variable situada a su izquierda.
    codigo = 3467;
    fahrenheit = 123.456;
    coordX = 525;
    coordY = 725;
    Este operador es asociativo por la derecha, eso permite realizar asignaciones múltiples. Así, a = b = c = 45; equivale a a = (b = (c = 45)); o dicho de otro modo, a las variables a, b y c se asigna el valor 4 5. Esta propiedad permite inicializar varias variables con una sola sentencia int a, b, c; a = b = c = 5; /* se asigna 5 a las variables a, b y c */ Además del operador de asignación =, C proporciona cinco operadores de asignación adicionales. Estos operadores de asignación actúan como una notación abreviada para expresiones utilizadas En la Tabla 4.1 aparecen los seis operadores de asignación. con frecuencia. OPERADORES ARITMÉTICOS: Los operadores aritméticos sirven para realizar operaciones aritméticas básicas. Los operadores aritméticos C siguen las reglas algebraicas típicas de jerarquía o prioridad. Estas reglas especifican la precedencia de las operaciones aritméticas. Considere la expresión 3+5*2 ¿Cual es el valor correcto, 1 6 ( 8 * 2 ) o 13 ( 3 + 1 O ) ? De acuerdo a las citadas reglas, la multiplicación se realiza antes que la suma. Por consiguiente, la expresión anterior equivale a: 3 + (5 * 2 ) En C las expresiones interiores a paréntesis se evalúan primero; a continuación, se realizan los operadores unitarios, seguidos por los operadores de multiplicación, división, resto, suma y resta.

    06:25

    En este vídeo vamos a aprender a realizar operaciones en el lenguaje de programación C. Para ello debemos recordar los distintos tipos de datos que existen y como se definen en este lenguaje.

    Los tipos de datos más comunes son:
    • Entero
    • Real
    • Cadena

    El tipo de datos Entero se define en este lenguaje de programación como int nombre_variable. El tipo de datos Real se define en este lenguaje de programación como float nombre_variable. El tipo de datos Cadena se define en este lenguaje de programación como char nombre_variable. También hay que recordar las funciones que se utilizan para mostrar datos en pantalla y para poder capturarlos de teclado. La función printf() muestra en pantalla lo que se indica en el código de nuestro programa, mientras que la función scanf() recoge los datos del teclado. Recordar también que para referirnos a un entero ya definido, hay que utilizar %d, para un real %f y para un carácter %c. Una vez recordado todo esto, podemos proceder a realizar operaciones en el lenguaje de programación C. Operaciones Para poder realizar una operación en el lenguaje de programación C hay que seguir los siguientes pasos:

    1. Declarar el nombre de las variables que representan a los operandos.
    2. Declarar el nombre de la variable que representa el resultado.
    3. Asignarle un valor a los operandos. Esto se puede hacer directamente desde nuestro código o recogiendo los valores por teclado.
    4. Escribir la operación que queremos realizar
    5. Mostrar, si se desea, el resultado por pantalla.
    Las operaciones que se pueden realizar son las siguientes:
    Operaciones Aritméticas:
    Suma +
    Resta -
    Multiplicación *
    División /
    Incremento ++
    Decremento --
    Módulo %

    Muchos de estos operadores no necesitan explicación ya que realizan la misma acción que en la vida real, pero existen unos pocos que sí necesitan explicación. Estos son:
    • Operador aritmético Módulo: Este operador da como resultado el resto de la división entera y se puede utilizar también con números reales.
    • Operadores incremento y decremento: la operación de incremento y decremento, suma o resta respectivamente, una unidad al valor de la variable. Existen dos formas de llevar a cabo estas operaciones. La primera es el postincremento y el postdecremento que primero calcula el valor de la variable y luego la incrementa o decrementa, y la segunda es el preincremento y predecremento que primero incrementa o decrementa en valor de la variable y después calcula la expresión.

    05:39

    En este vídeo vamos a obtener la hipotenusa de un triángulo rectángulo para lo cual primero comenzamos poniendo la librería #include<stdio.h> y además vamos a poner otra librería y se trata de #include<math.h> que es la librería matemática de C, y esa será la librería que nos ayudara a obtener la raíz cuadrada y la potenciación que necesitamos.
    Una vez que ya tenemos las librerías lo siguiente es poner la función principal main, posteriormente declaramos las variables a utilizar, que son hipotenusa, cateto1, cateto2; bien una vez echo eso, nos disponemos a pedirle al usuario que digite el valor del cateto1 y cateto2, con los cuales vamos a realizar las operaciones correspondientes para de esa manera poder obtener el resultado de la hipotenusa que deseamos. Con los datos ya guardados vamos a obtener la hipotenusa, primero hay que saber que la función de la hipotenusa en C y con la librería math.h es sqrt() con lo cual todo lo que este dentro de los paréntesis se le sacara la raíz cuadrada, además hay que saber que la función para sacar la potenciación de un número es pow(numero, potenciación), con la cual cada vez que queramos obtener una potenciación solo utilizamos pow() gracias a la librería math.h.

    Una vez que ya sabemos las funciones de la librería a utilizar, para obtener la hipotenusa del triángulo rectángulo se necesita la fórmula de Pitágoras, la cual nos dice que la hipotenusa de un triángulo rectángulo es la raíz cuadrada de los catetos al
    cuadrado sumándolos, entonces la formula en el programa nos quedaría de la siguiente manera: hipotenusa = sqrt( pow(cateto1,2) + pow(cateto2,2)).
    Con esa fórmula ya obtendremos la hipotenusa de cualquier triangulo rectángulo, y una vez que sabemos cómo obtenerla solo nos faltaría poner el resultado en pantalla, por eso luego solo ponemos un printf() y imprimimos el resultado de la hipotenusa.

    04:54

    En este vídeo haremos un programa el cual debe poder calcular áreas de trapecios, entonces primero que nada vamos a poner la librería que hemos venido utilizando que es la #include<stdio.h> luego de eso, podemos la función principal main() con return 0; al
    final del programa como buena práctica de programación , luego de eso necesitamos poner las variables que utilizaremos en el programa, serán la base mayor, base menor, altura y área, ya que la fórmula del área de un trapecio nos pide tener la base mayor, base menor y altura; así que esos datos vamos a tener que pedirle al usuario.

    Posteriormente tenemos que pedirle al usuario que nos digite la base mayor, base menor y altura, para que con esos datos podamos procesar el programa y completar la fórmula, una vez que le hemos pedido al usuario esos datos, y ya los tenemos guardados en sus
    respectivas variables, ahora vamos a proceder a realizar la formula la cual nos dice que el área de un trapecio se calcula sumando la base mayor con la base menor, a ese resultado lo multiplicamos por la altura y a todo eso lo tenemos que dividir entre dos; por lo tanto la formula en C se vería de la siguiente manera una vez codificada: área =((base mayor + base menor)*altura)/2; Con esa fórmula ya tendríamos el resultado del área del trapecio dentro de la variable área la cual es de tipo float (real) ya que muchas veces las áreas son números reales, además utilizamos float para no perder decimales ya que las áreas deben ser exactas, y una vez hecha la formula aún nos falta algo muy importante y eso es poner un printf() en el cual le digamos al usuario cual es el resultado del área del trapecio, una vez que ponemos ese comentario printf() el programa estaría completo.

    04:22

    El porcentaje es un número asociado a una razón, que representa una cantidad dada como una fracción en 100 partes. También se le llama comúnmente tanto por ciento, donde por ciento significa «de cada cien unidades». Se usa para definir relaciones entre dos cantidades, de forma que el tanto por ciento de una cantidad, donde tanto es un número, se refiere a la parte proporcional a ese número de unidades de cada cien de esa cantidad. El porcentaje se denota utilizando el símbolo %, que matemáticamente equivale al factor 0,01 y que se debe escribir después del número al que se refiere, dejando un espacio de separación.1 Por ejemplo, «treinta y dos por ciento» se representa mediante 32 % y significa ‘treinta y dos de cada cien’. También puede ser representado:

    El porcentaje se usa para comparar una fracción (que indica la relación entre dos cantidades) con otra, expresándolas mediante porcentajes para usar 100 como denominador común. Por ejemplo, si en un país hay 500 000 enfermos de gripe de un total de 10 millones de personas, y en otro hay 150 000 enfermos de un total de un millón de personas, resulta más claro expresar que en el primer país hay un 5 % de personas con gripe, y en el segundo hay un 15 % resultando una proporción mayor en el segundo país.

    El símbolo % es una forma estilizada de los dos ceros. Evolucionó a partir de un símbolo similar sólo que presentaba una línea horizontal en lugar de diagonal (c. 1650), que a su vez proviene de un símbolo que representaba «P cento» (c. 1425). Símbolos relacionados incluyen ‰ (por mil) y ‱ (por diez mil, también conocido como un punto básico), que indican que un número se divide por mil o diez mil, respectivamente. El tanto por ciento se divide entre 100 y se simplifica la fracción.

    05:04

    En este vídeo vamos a ver un poco más de porcentajes ya que ahora el problema nos pide que saquemos el 25% de aumento para un obrero, que posiblemente se estuvo esforzando lo suficiente como para recibir un aumento por parte de la compañía.
    Bien, entonces comenzamos poniendo la librería #include<stdio.h>, posteriormente vamos a poner la función principal main() con su respectivo return 0, como buena practica de programación, excelente ahora vamos a poner las variables que necesitamos para solucionar este problema, y vamos a necesitar una variable de aumento, de salario inicial y de salario final, una vez que ya tenemos esas variables declaradas, lo siguiente es por supuesto pedirle al usuario que nos digite cuál es su salario, ya que el problema no nos lo da como dato en el problema.

    Una vez que ya le pedimos el sueldo y lo guardamos dentro de la variable sueldo inicial, ahora nos disponemos a sacar el 25% de aumento que el obrero tendrá, vamos a poner aumento va a ser igual a salario inicial por 0.25, y en c quedaría de la siguiente manera: aumento = salario_inicial * 0.25; una vez hecha esa operación ahora hay que sumarle el aumento al correspondiente salario para que el obrero este contento con su incremento de sueldo, y bien ahora vamos a utilizar la variable salario final y la vamos a igualar a salario inicial más aumento con lo que en c quedaría de la siguiente manera: salario_final = salario_inicial + aumento; y de esa manera ya estamos terminando la resolución del problema, ahora solo nos faltaría una cosa muy importante y eso es imprimir por pantalla el resultado del salario final, sino no hubiera tenido caso sacarlo si no vamos a imprimirlo, jajaja bueno entonces ponemos un printf() y imprimimos el salario final en pantalla, y bien así este problema estaría resuelto.

    05:03

    En este vídeo vamos a resolver un problema bastante interesante, y se trata de que tenemos que hallar un equivalente a un tiempo en horas, minutos y segundos que el usuario va a digitar, entonces primero que nada necesitamos saber que en una hora hay 3600 segundos, en un minuto hay 60 segundos y en un segundo pues hay un segundo.

    Bien entonces ahora vamos a poner nuestra más conocida librería en c, y se trata de #include<stdio.h> una vez puesta esa librería, ahora vamos a tener que poner nuestra función principal main() con su respectivo return 0; por supuesto como buena práctica de programación.

    Bien una vez hecho las presentaciones correspondientes al programa ahora si vamos a poner las variables a utilizar en la resolución del problema, y serán horas, minutos, segundos que el usuario va a digitar, y también vamos a necesitar t1, t2, t3, total, que serán las variables para poder almacenar los equivalentes en segundos.

    Ahora nos disponemos a pedirle al usuario que nos digite el valor de las horas, el valor de los minutos, y el valor de los segundos, que desea obtener el equivalente en segundos, y bien una vez nos digite esos valores, tenemos que guardar esos valores en sus respectivas variables, una vez que ya tenemos los tiempos, ahora vamos a utilizar nuestras variables t1, t2, t3 para obtener el equivalente.

    La variable t1 la vamos a utilizar para obtener el equivalente en segundos de las horas, así que multiplicamos a horas con 3600 y lo guardamos en t1, luego multiplicamos minutos por 60 y lo guardamos en t2, posteriormente multiplicamos segundos por 1 y lo guardamos en t3.

    Una vez este todo eso, ahora vamos a sumar, para eso es la variable total, en total vamos a sumar t1 mas t2 mas t3, y lo almacenamos en total, y ahora si solo nos faltaría poner el resultado en pantalla, así que ponemos un printf() y imprimimos el resultado de total que es el equivalente en segundos.

    Section 5: Estructuras de Selección
    02:34

    Introducción

    4. Estructuras de Selección

  • 1. La Sentencia if.
  • 1.1. La sentencia if
  • 1.2. Ejercicio: Comprobar si un Alumno está Aprobado.
  • 1.3. Ejercicio: Tarifa Eléctrica.
  • 2. Sentencia if de dos alternativas if – else.
  • 2.1. selección doble if – else.
  • 2.2. Ejercicio: Calcular el Mayor de 2 números.
  • 2.3. Ejercicio: Nombre y Signo Aries.
  • 2.4. Ejercicio: Borrado de Pantalla.
  • 3 Sentencia de control Switch.
  • 3.1. La sentencia switch.
  • 3.2. Ejercicio: Nota del estudiante.
  • 3.3. Ejercicio: Números Romanos.
  • 3.4. Ejercicio: Cajero Automático con menú.
  • 4 Expresiones Condicionales El operador ’?’
  • 06:05

    Como ya se ha mencionado, C es un ejemplo de programación estructurada. En este tipo de programación, es necesario contar con ciertas estructuras que permitan controlar el flujo del programa, es decir, tomar decisiones y repetir acciones. En la gran mayoría de los programas será necesario tomar decisiones sobre qué acciones realizar. Esas decisiones pueden depender de los datos que introduzca el usuario, de si se ha producido algún error o de cualquier otra cosa. La estructura condicional if ... else es la que nos permite tomar ese tipo de decisiones. Traducida literalmente del inglés, se la podría llamar la estructura "si...si no", es decir, "si se cumple la condición, haz esto, y si no, haz esto otro". Un ejemplo sencillo sería el siguiente (no se trata de un programa completo, sino tan sólo una porción de código):
    if (edad < 18)
    printf("No puedes acceder. ");
    else
    printf("Bienvenido. ");
    Este código de ejemplo dice que si el valor de la variable edad es menor que 18 se imprimirá "No puedes acceder. ", mientras que en caso contrario se imprimirá"Bienvenido. ". Como se ve en el ejemplo, la estructura de un condicional es bastante simple:
    if (condición) {
    sentencias_si_verdadero;
    } else {
    sentencias_si_falso;
    }
    La condición, encerrada entre paréntesis, es una expresión que puede dar como resultado 0 (interpretado como falso) o cualquier valor distinto de 0 (interpretado comoverdadero). Cuando la condición sea verdadera, se ejecutarán las sentencias dentro del primer bloque de código, cuando la condición sea falsa, se ejecutarán las sentencias del segundo bloque de código. Las expresiones y valores de tipo verdadero/falso son también llamados valores lógicos o booleanos.

    La indentación o sangría (los espacios al comienzo de las líneas) no es necesaria, pero ayuda a la claridad del código. La utilización de las llaves {...} es obligatoria cuando se quiere utilizar más de una instrucción por bloque, y optativa cuando sólo se quiere escribir una instrucción. Por claridad, sin embargo, es recomendable utilizarlas aún cuando sólo vaya a haber una instrucción.

    04:54

    En este vídeo vamos a resolver el primer problema del bloque de condicionales, en este vídeo solo vamos a utilizar la sentencia if, y bien el problema nos pide que hagamos un programa el cual nos pide verificar si un alumno aprobó o no en un examen, entonces vamos a comenzar poniendo la librería que vamos a utilizar y será la stdio.h porque necesitamos la entrada y salida de datos. Una vez puesta la librería lo siguiente es poner la función principal main() con su return 0; como buena práctica de programación , y perfecto una vez puesto eso, ahora vamos a poner las variables o la variable en este caso ya que solo necesitamos una, y será la nota de examen así que solo vamos a ponerle nota, y ahora vamos a pedirle al usuario que nos digite la nota que saco en su examen y lo vamos a guardar dentro de la variable nota.
    Una vez que ya tenemos el valor de nota guardado, ahora vamos a proceder con el condicional, así que vamos a poner si nota es mayor a 10.5 entonces abrimos y cerramos llaves y luego dentro ponemos con printf que el alumno está aprobado, y en c se vería de la siguiente manera: if(nota > 10.5){ printf(“El alumno está aprobado”);} y bien una vez que ya tenemos eso lo siguiente que haremos en el programa seria compilar, así que cuando compilemos y probemos poniendo nota de examen mayor a 10 por ejemplo 14, nos imprimirá por pantalla el alumno está aprobado ya que el programa comprueba que la condición se cumple por la tanto se ejecuta todo lo que este dentro de él, por el contrario si ponemos como nota de examen, 9 por ejemplo, nos saldrá directamente el final del programa, ya que el programa se da cuenta que el condicional no se cumple, por la tanto no ejecuta las acciones dentro de él.

    07:07

    En este vídeo resolveremos el problema número 3 que nos pide lo siguiente: Visualizar la tarifa de la luz según el gasto de corriente eléctrica. Para un gasto menor de 1.000Kwxh la tarifa es 1.2, entre 1.OOOy 1.850Kwxh es 1.0 y mayor de 1.85OKwxh 0.9. Entonces comenzamos poniendo la librería que utilizaremos que será la stdio.h, luego vamos a poner la función principal del programa main() y con su respectivo return 0; como buena práctica de programación. Ahora si vamos a poner las macros que necesitaremos utilizaremos 3 macros para cada una de la tarifa y las pondremos así: #define TARIFA1 1.2, #define TARIFA2 1.0, #define TARIFA3 0.9, utilizaremos esas macros a lo largo del programa. Y bien ahora que ya tenemos lo necesario para comenzar, adelante.

    Vamos a utilizar 2 variables que serán de tipo flotante (float) para no perder datos en el programa, float gasto, tasa; ahora le vamos a pedir al usuario que digite el total del gasto, y lo guardamos en su respectiva variable gasto; ahora vamos a proceder a utilizar los condicionales primero vamos a comprobar si gasto es menor a 1000, si lo es entonces asignamos tarifa1 a tasa, si no se cumple esa condición, entonces vamos a utilizar otra condicional y ver si está en el rango de 1000 y 1850, Cuando esa condición se cumpla entonces asignamos tarifa2 a tasa, pero si aún esa condición no se cumple entonces necesitamos otro condición por eso vamos a utilizar otro condicional en el que vamos a decir que gasto sea mayor a 1850, y si lo es entonces asignación la tarifa3 a tasa, luego de esos condicionales la variable de tasa ya tendría un valor asegurado entonces solo nos faltaría mostrarlo en pantalla, así que eso haremos, vamos a poner un printf() y mostramos el valor que llega a tener tasa al final de programa.

    03:51

    La especificación formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una descripción más complicada que una lista de sencilla de instrucciones. Este es el caso cuando existe un número de posibles alternativas resultantes de la evaluación de una determinada condición.

    Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas.

    En las estructuras selectivas se evalúan una condición y en función del resultado de la misma se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, elseo bien en español si, entonces, si_no), con una figura geométrica en forma de rombo o bien conun triangulo en el interior de una caja rectangular . las estructuras selectivas o alternativas pueden ser:
    Simples
    Dobles
    Múltiples

    La estructura simple es si (if) con dos formatos: Formato Pascal, si-entonces (if-then) y en formato C, si(if) a estructura selectiva doble es igual que la estructura simple si al cual se le añade la cláusula si-no (else) a estructura selectiva múltiples según-sea(switch en lenguaje C, case en pascal)

    Estructura condicional: if y else

    Es usada para ejecutar una instrucción o bloque de instrucciones solo si una condición es cumplida. Su forma es: if (condición) extracto donde la condición es la expresión que será evaluada. Si esta condición es true (verdadera), el extracto es ejecutado. Si esta es falsa (false), el extracto es ignorado (no ejecutado) y el programa continua en la siguiente instrucción después de la estructura condicional. por ejemplo, el siguiente fragmento de código imprime x es 100 solo si el valor guardado en la variable x es en verdad 100:
    if (x == 100)
    cout << "x es 100";
    Si queremos más de una instrucción para ser ejecutada en caso de que la condición sea verdadera podemos especificar un bloque de instrucciones usando llaves { }:
    if (x == 100)
    {
    cout << "x es ";
    cout << x;
    }
    Podemos adicionalmente especificar que queremos que pase si la condición no es cumplida mediante el uso de la palabra reservada else. su forma usada en conjunción con if es: if (condición) extracto1 else extracto2
    Bicondicional
    La ejecución de la acción de esta secuencia depende del valor de esta. La acción de diferente en cada valor. Se utiliza la estructura if (condicion) else en este tipo de secuencia. La instrucci.on selectiva doble si entonces / sino permite que el lujo del diagrama se bifurque por dos ramas diferentes dependiendo del cumplimiento de una condicion P.

    if (P)
    Instrucciones1;
    else
    Instrucciones2;
    o tambi.en
    if (P) f
    Instrucciones1;

    else f
    Instrucciones2;

    06:39

    En este vídeo vamos a calcular el mayor de 2 números ingresados por el usuario, bien primero vamos a proceder a colocar la librería stdio.h y luego claro la función principal main() lo ponemos con su respectivo return 0; como buena práctica de programación. Una vez puesto lo necesario comenzamos poniendo las variables a utilizar en la resolución del problema serán de tipo entero (int) y le pondremos de nombre n1, n2.

    Ahora vamos a pedirle esos números al usuario y guardamos en sus respectivas variables, n1 y después claro n2. Y bien ahora vamos a proceder a utilizar los condicionales y primero vamos poniendo que n1 sea mayor a n2, si eso se cumple entonces vamos a imprimir por pantalla con printf(), diciéndole al usuario que n1 es mayor a n2 e imprimimos n1, y al utilizar en else es decir el caso contrario significa que no se cumple la primera condición por lo tanto significará que n2 es mayor que n1, entonces vamos a proceder a poner con un printf() en pantalla e imprimirle al usuario que es mayor de los 2 números es n2. Pero además ambos números podrían ser iguales, en tal caso mejor ponemos un condicional anidado el cual es un condicional dentro de otro. Por ello mejor poner que si no se cumple la primera condición es decir n1 no es mayor a n2, tal vez se cumpla la segunda condición es decir n2 es mayor que n1. Y si no se cumplen ambos significara entonces que ambos números pues son iguales. Por lo tanto se imprimiría por pantalla que ambos números son iguales, para que de esa manera el programa este más completo, ya que se puede comprobar si un número es mayor que el otro e indicar cuál de los 2 es mayor o también se puede comprobar si ambos números son iguales

    05:13

    En este vídeo vamos a resolver el siguiente problema: Ingresar por teclado el nombre y el signo de cualquier persona e imprima, el nombre solo si la persona es signo Aries, caso contrario imprima no es signo Aries.

    Bien comencemos poniendo la librería que vamos a utilizar que será la stdio.h y luego vamos a poner la función principal de nuestro programa, main() y por supuesto también ponemos, su peculiar return 0; para seguir con la buena practica de la programación, y genial ahora vamos a proceder poniendo las variables a utilizar serán el nombre y el signo de tipo string, con 30 y 20 espacios respectivamente para poder almacenar los datos correspondientes, bien ahora tenemos que pedirle al usuario que nos digite su nombre y lo guardamos dentro de la variable nombre, y luego le pedimos que nos digite su signo y lo guardamos dentro de la variable signo.

    Una vez que ya tenemos los datos guardados ahora si vamos a proceder con los condicionales, y vamos a comprobar si signo es igual a Aries, pero ahora no se comprueba igual que con los números, ahora vamos a utilizar strcmp() y vamos a comparar signo con Aries pero Aries lo vamos a poner entre comillas y si eso es igual a cero, es decir si es igual ambos, entonces si eso se cumple le vamos a decir el usuario que es Aries y luego vamos a imprimir su nombre en el programa, pero caso contrario, es decir si eso no se cumple entonces vamos al else, en el cual vamos a imprimir que el usuario no es Aries, y lo ponemos con un printf(); entonces en este vídeo nos hemos dado cuenta que para comparar cadenas o strings no es lo mismo como comparar números, ya que ambos se comparan de manera distinta.

    07:24

    En este vídeo vamos a resolver un problema muy interesante, y se trata del borrado de pantalla al pulsar la tecla 1, cuando el usuario digite 1, inmediatamente se borrará lo que este copiado en la pantalla. Y bien comencemos poniendo primero las librerías y esta vez serán #include<stdio.h> y #include<stdlib.h>, el stdlib.h es para poder utilizar la función del borrado de pantalla (clear screen), una vez puestas las librerías, ahora vamos a poner la función principal main(), y con el peculiar return 0; y ahora vamos a comenzar poniendo las variables, vamos a utilizar solo una tecla, así la llamaremos, será una variable de tipo char (carácter).

    Ahora vamos a pedirle al usuario que digite el número 1, vamos poniendo el condicional donde comparamos si la variable tecla almacena el número 1, si lo es entonces utilizaremos system(“cls”); que será la función la cual nos ayudara a limpiar la pantalla
    del programa, y esa función es gracias a la librería stdlib.h ya que sin esa librería no funcionaria, además si no cumple el condicional pues llega hacia el else, el cual como casa contrario le preguntara al usuario nuevamente, claro después de decirle que se
    equivocó y luego le pedimos, que digite el número 1, y procedemos nuevamente a guardar los datos, ahora vamos a utilizar nuevamente condicionales, como condicionales anidados, que es un condicional dentro de otro condicional.

    Además en el vídeo también vamos a ver la función fflush(stdin); la cual nos sirve para poder limpiar el buffer de la máquina, ya que como le hemos pedido datos al usuario antes, pues el buffer se llenó, y la función nos ayudara a limpiar el buffer y poder guardar valores dentro de las variables nuevamente en el programa. Una vez hecho eso ya podemos compilar y al compilar si el usuario pone 1 pues la pantalla se limpiara y si pone cualquier otro carácter pues volverá a preguntar y a comprobar nuevamente el condicional anidado.

    09:48

    SENTENCIA DE CONTROL switch
    La sentencia switch es una sentencia C que se utiliza para seleccionar una de entre múltiples alternativas. La sentencia switch es especialmente Útil cuando la selección se basa en el valor de una variable simple o de una expresión simple denominada expresión de control o selector. El valor de esta expresión puede ser de tipo int o char, pero no de tipo float ni double.
    Sintaxis
    switch (selector){
    case etiqueta, : sentencias,;
    case etiqueta, : sentencias,;
    case etiqueta, : sentencias,;
    default: sentencias,; /* opcional. */
    }

    La expresión de control o se1ector se evalúa y se compara con cada una de las etiquetas de case. La expresión selector debe ser un tipo ordinal (por ejemplo, int, char, pero no (float o s t r i n g ) . Cada etiqueta es un valor Único, constante y cada etiqueta debe tener un valor diferente de los otros. Si el valor de la expresión selector es igual a una de las etiquetas case -por ejemplo, etiqueta entonces la ejecución comenzará con la primera sentencia de la secuencia sentencia y continuará hasta que se encuentra el final de la sentencia de control switch, o hasta encontrar la sentencia break. Es habitual que después de cada bloque de sentencias correspondiente a una secuencia se desee terminar la ejecución del switch; para ello se sitúa la sentencia break como Última sentencia del bloque break hace que siga la ejecución en la siguiente sentencia switch.

    Sintaxis con break
    switch ( selector)
    {
    case etiqueta, : sentencias,;
    case etiqueta, : sentencias,;
    break;
    break ;
    case etiqueta, : sentencias,;
    default: sentencias,;
    }

    El tipo de cada etiqueta debe ser el mismo que la expresión de selector. Las expresiones están permitidas como etiquetas pero sólo si cada operando de la expresión es por sí misma una constante -por ejemplo, 4 + 8 o bien m * 15-, siempre que m hubiera sido definido anteriormente como constante con nombre. Si el valor del selector no está listado en ninguna etiqueta case, no se ejecutará ninguna de las opciones a menos que se especifique una acción por defecto (omisión). La omisión de una etiqueta default puede crear un error lógico difícil de prever. Aunque la etiqueta default es opcional, se recomienda su uso a menos que se esté absolutamente seguro de que todos los valores de selector estén incluidos en las etiquetas case.

    05:23

    En este vídeo vamos a resolver el siguiente problema: Dada una nota de un examen mediante un código escribir el literal que le

    Corresponde a la nota.



    A - Excelente
    B - Notable
    C - Aprobado
    D y F – Reprobado



    Bien comenzamos entonces poniendo primero la librería que utilizaremos y va a ser la stdio.h, ahora vamos a poner la función principal main() con su correspondiente return 0; ahora vamos a poner la variable que vamos a utilizar y será de tipo char (carácter) en la cual vamos a ponerle de nombre nota, ahora con una salida en pantalla le pedimos al usuario que nos digite la nota y la guardamos dentro de su variable correspondiente.



    Y ahora vamos a proceder poniendo los condicionales múltiples switch(nota), en el caso sea ‘A’ vamos a poner excelente con su correspondiente break; luego en el caso sea ‘B’ vamos a poner Notable, posteriormente en el caso sea ‘C’ ponemos aprobado, y por último en el caso sea D y F vamos a poner reprobado, con su respectivo break por supuesto, y caso contrario es decir el default, ponemos no es posible esa nota, ahora al momento de compilar, si ponemos ‘A’ en la consola pues nos va a salir, excelente en la pantalla, en el caso pongamos ‘B’ pues ahora nos sale Notable en la pantalla, en el caso pongamos C nos va a salir aprobado en pantalla, en el caso sea D y F pues nos va a salir en ambos casos reprobado en la pantalla, esto porque en la letra D en el caso D, no hay ningún break que detenga, el switch. Y bien el problema estaría resuelto, ahora vamos a ver el siguiente problema que queda como tarea, se trata del problema 12.



    Seleccionar un tipo de vehículo e indicar el peaje a pagar según un valor numérico
    1 - turismo, peaje = $500.
    2 - autobús, peaje = $3000.
    3 - motocicleta, peaje = $300.
    caso contrario - Vehículo no autorizado.

    08:47

    En este vídeo vamos a resolver uno de los ejercicios más típicos en condicionales múltiples, y se trata de Cambiar un número entero con el mismo valor pero en romanos. Entonces comenzamos poniendo la librería stdio.h y después vamos a poner la función principal main(), con su respectivo return 0; por supuesto como buena práctica de programación. Ahora vamos a poner las variables a utilizar y serán de tipo entero, numero, unidades, decenas, centenas, millar, ya que necesitamos primero pedirle al usuario un número y después separar ese número en sus unidades, decenas, centenas y unidades de millar.

    Ahora lo siguiente es pedirle el numero al usuario y guardarlo dentro de la variable número y después, se separa el numero en unidades, decenas, centenas y unidades de millar si es que tiene, y luego procedemos a poner los condicionales múltiples, el switch(millar), en el millar solo vamos a tener 3 casos, ya que solo pueden ser M, dos M o tres M, el siguiente switch(centenas), tendrá 9 casos, ya que puede ser desde 100 hasta 900, y procedemos a poner el siguiente switch(decenas), donde también tendrá 9 casos ya que puede ser desde 10 hasta 90, y por último se pone el switch(unidades), donde también tendrá 9 casos ya que puede ser desde 1 hasta 9, y eso sería todo al momento de compilar el programa, el usuario digitara un numero entero, debe ser entero, y el programa le dará su equivalente pero en número romano.

    En este vídeo también dejo como tarea resolver un problema muy parecido, el cual es el siguiente: Mostrar los meses del año, pidiéndole al usuario un numero entre (1-12) y mostrar el mes al que corresponde; donde vamos a tener que pedirle al usuario un numero entero, y atreves de los condicionales múltiples le vamos a indicar a que mes pertenece dicho número ingresado por teclado.

    10:11

    En este vídeo vamos a resolver el siguiente problema: Hacer un programa que simule un cajero automático con un saldo inicial de 1000 Dólares, y bien primero vamos a poner la librería a utilizar que será la stdio.h, ahora proseguimos a poner la función principal de nuestro programa, y será main(), con su respectivo return 0; como buena práctica de programación. Ahora que ya están todas las formalidades comencemos poniendo las variables que utilizaremos, de tipo entero (int) tenemos saldo_inicial=1000, opción, y de tipo flotante (float), y después vamos a poner printf() en el que vamos a mostrar todas las opciones que tendrá nuestro menú, y vamos a ponerle solo 3 opciones como para que el programa no se haga tan largo.


    En la opción 1 vamos a ponerle Ingresar dinero en cuenta, ya que el cajero tiene 1000 dólares, el usuario puede elegir agregar más dinero, en su cuenta, así que solo tendremos que pedirle cuanto más desea agregar a su cuenta y por supuesto sumarlo con los 1000 iniciales, en la opción 2 de nuestro cajero vamos a poner Retirar dinero de la cuenta, en el cual vamos a comprobar primero claro pidiéndole al usuario cuánto dinero quiere depositar, y después comprobar si la cantidad que quiere retirar no es mayor a la cantidad que hay en cuenta de 1000 dólares, si es menor entonces hacer el retiro, pero si es mayor, entonces vamos a decirle que la cantidad es mayor a la cantidad disponible en la cuenta. Y por último en la tercera opción, vamos a poner salir, cosa que en los condicionales múltiples switch() solo vamos a poner break, en el caso 3, ya que solo con el break es necesario para salir de la sentencia switch() y ya que no hay nada más en el programa, pues este finalizara, y por último en el caso contrario es decir el default, le vamos a decir al usuario que se equivocó de opción de menú

    04:23

    Las sentencias de selección (if y switch) consideradas hasta ahora, son similares a las sentencias previstas en otros lenguajes, tales como Pascal y Fortran 90. C tiene un tercer mecanismo de selección, una expresión que produce uno de dos valores, resultado de una expresión lógica o booleana (también denominada condición). Este mecanismo se denomina expresión condicional. Una expresión condicional tiene el formato C ? A : B y es realmente una operación ternaria (tres operandos) en el que c , A y B son los tres operandos y ? : es el operador.


    Sintaxis
    condición ? expresión, : expresión,
    condición
    Expresión /expresión

    es una expresión lógica son expresiones compatibles de tipos Se evalúa condición, si el valor de condición es verdadera (distinto de cero) entonces se devuelve como resultado el valor de expresión ; si el valor de condición es falsa (cero) se devuelve como resultado el valor de expresión . Uno de los medios más sencillos del operador condicional (? : ) es utilizar el operador condicional y llamar a una de dos funciones.


    Ejemplos
    1. Selecciona con el operador ? : la ejecución de una función u



    otra.
    a == b ? función : funcion20;
    es equivalente a la siguiente sentencia:
    if (a == b)
    else
    funcionl () ;
    funcion2 () ;
    2. El operador ? : se utiliza en el siguiente segmento de código



    para asignar el menor de dos valores
    de entrada a menor.
    int entrada1, entrada2;
    int menor;
    scanf ( "%d %d" , &entrada1, &entrada2 ) ;
    menor = entrada1 <= entrada2 ? entrada1 : entrada2;



    Ejemplo 5.16
    Seleccionar el mayor de dos números enteros con la sentencia if



    -else y con el operador ? :
    #include <stdio.h>
    void main0
    {
    float nl, n2;
    printf("1ntroduzca dos números positivos o negativos:");
    scanf ( "%d %d" , &nl, &n2 ) ;
    if (nl > n2)
    else
    / * selección con if-else */
    printf ("%d > %d",nl,n2);
    printf ("%d <= %d'',nl,n2;)
    / * operador condicional * /
    nl > n2 ? printf("%d > %d",nl,n2): printf("%d <= %d",nl,n2);
    }

    Section 6: Estructuras de Control - Bucles
    02:05

    En este vídeo vamos a ver una pequeña introduccion del Bloque 5. Estructuras de Control - Bucles:

    1. La Sentencia while.

    1.1 La sentencia while

    1.2 Ejercicio: Suma de los n primeros números.

    1.3 Ejercicio: Múltiplos de 3

    1.4 Ejercicio Sumar 1 -2+ 3- 4

    2. Repetición el bucle for.

    2.1. El bucle for.

    2.2. Ejercicio Suma 10 primeros números pares.

    2.3. Ejercicio Determinar si un numero es primo.

    2.4. Ejercicio Factorial de un numero.

    2.5 Ejercicio Serie Fibonacci

    3 Repetición el bucle do ... while.

    3.1. Repetición el bucle do while.

    3.2. 2 Ejercicio Letras del Alfabeto.

    10:09

    Un bucle (ciclo) es cualquier construcción de programa que repite una sentencia o secuencia de sentencias un número de veces. La sentencia (o grupo de sentencias) que se repiten en un bloque se denomina cuerpo del bucle y cada repetición del cuerpo del bucle se llama iteración del bucle. Las dos principales cuestiones de diseño en la construcción del bucle son: ¿Cuál es el cuerpo del bucle? ¿Cuántas veces se iterará el cuerpo del bucle? Un bucle while tiene una condición del bucle (una expresión lógica) que controla la secuencia de repetición. La posición de esta condición del bucle es delante del cuerpo del bucle y significa que un bucle while es un bucle pretest de modo que cuando se ejecuta el mismo, se evalúa la condición antes de que se ejecute el cuerpo del bucle. La Figura 6.1 representa el diagrama del bucle while.

    El diagrama indica que la ejecución de la sentencia o sentencias expresadas se repite mientras la condición del bucle permanece verdadera y termina cuando se hace falsa. También indica el diagrama anterior que la condición del bucle se evalúa antes de que se ejecute el cuerpo del bucle y, por consiguiente, si esta condición es inicialmente falsa, el cuerpo del bucle no se ejecutará. En otras palabras, el cuerpo de un bucle while se ejecutará cero o más veces. Las sentencias del cuerpo del bucle se repiten mientras que la expresión lógica (condición del bucle) sea verdadera. Cuando se evalúa la expresión lógica y resulta falsa, se termina y se sale del bucle y se ejecuta la siguiente sentencia de programa después de la sentencia while. La variable que representa la condición del bucle se denomina también variable de control del bucle debido a que su valor determina si el cuerpo del bucle se repite. La variable de control del bucle debe ser: 1) inicializada, 2) comprobada, y 3) actualizada para que el cuerpo del bucle se ejecute adecuadamente. Cada etapa se resume así:

    1. Inicialización. Contador se establece a un valor inicial (se inicializa a cero, aunque podría ser
    2. Prueba/condición. Se comprueba el valor de contador antes de que comience la repetición de
    3. Actualización. Contador se actualiza (su valor se incrementa en I, mediante el operador ++)
    otro su valor) antes de que se alcance la sentencia while. Cada bucle (denominada iteración o pasada). Durante cada iteración.

    07:06

    En este primer video de resolución de problemas del bloque de ciclos o bucles, vamos a resolver el siguiente problema Suma de los ‘n’ primeros números, entonces comenzamos colocando la librería stdio.h posteriormente vamos a poner la función principal main(), con su respectivo return 0; como buena práctica de programación.

    Ahora proseguimos poniendo las variables a utilizar en la resolución de este problema, y van a ser de tipo entero (int), será la i, de iteración que la vamos a utilizar como contador, la suma inicializada en cero, y una variable que le vamos a poner n para guardar el número de términos que el usuario desee sumar. Bien ahora vamos a inicializar el iterador o contador, es decir la variable i en 1, la igualamos a 1, posteriormente vamos a colocar el ciclo while y vamos a poner que mientras que i sea menor o igual a n, entonces que entre en el bucle, y programando en C, se vería de la siguiente manera: while(i<=n){ } y adentro de las llaves vamos a poner la suma iterativa, entonces aquí vamos a utilizar nuestra variable de suma que la inicializamos en cero al comienzo del programa. Y vamos a poner que suma va a ser igual a suma mas i o el contador, y codificándolo en C se vería de la siguiente manera: suma = suma + i; pero esto se podría simplificar mucho ya que suma se repite en la operación, entonces una forma simplificada de colocar esto en el lenguaje C, simplificado sería poner que suma más igual i; y pues poniéndolo en C se plasmaría de la siguiente manera: suma += i; esa sería una manera simplificada de poner suma = suma + i; i solo nos faltaría poner el incremento de la variable y le vamos a poner i++; y saliendo del bucle vamos a poner el resultado de la suma.

    04:46

    En este vídeo vamos a resolver el problema 3, que nos pide lo siguiente: Múltiplos de 3 desde 1 hasta n, entonces vamos a comenzar poniendo la librería que vamos a tener que utilizar, y será la librería stdio.h, luego de eso vamos a poner la función principal del programa main(), por supuesto con su respectivo return 0; como buena práctica de programación.
    Ahora vamos a poner las variables a utilizar en el programa y serán de tipo entera (int), primero la n que será la variable donde guardaremos el total de elementos a comprobar, esa variable se llenara con el dato que el usuario digite, y también vamos a utilizar un contador, que le vamos a poner i de iterador, luego vamos a pedirle al usuario que nos digite el total de elementos a comprobar y el dato que teclee nosotros lo vamos a guardar dentro de nuestra variable n.

    Bien luego vamos a inicializar nuestra variable i en 1, y procedemos a poner el bucle while, en el cual vamos a poner que mientras i sea menor o igual a n, y una vez que tenemos hecho el bucle, dentro de él tenemos que comprobar si el número es múltiplo de 3 o no, para ello vamos a utilizar un condicional, en el cual tenemos que comprobar si el contador o iterador módulo 3 es igual a cero, eso significara que el numero en el que el contador se encuentra es múltiplo de 3, entonces necesitamos mostrarla en pantalla ya que es lo que el problema nos lo pide. Y fuera del condicional vamos a tener que poner un i++ que será un incremento necesario que necesita el bucle while , luego de eso podríamos decir que el problema está correctamente resuelto, una vez que compilemos, y coloquemos un digito, por ejemplo 10, el programa nos mostrara todos los múltiplos que existen desde la unidad hasta el numero digitado.

    08:46

    En este vídeo vamos a resolver el siguiente problema: Sumar 1-2+3-4... Entonces nos damos cuenta que no es una suma convencional, muy bien comencemos poniendo la librería que utilizaremos, y será la stdio.h, posteriormente vamos a poner la función principal main(), con su respectivo return 0; como buena práctica de programación. Ahora vamos a proceder a poner las variables que utilizaremos y serán la i del iterador o contador, la suma total que la inicializaremos en cero, suma pares que la inicializaremos en cero, suma impares que también la inicializaremos en cero, luego una variable n que será donde pondremos el total de elementos a sumar, y por ultimo ne que nos servirá para convertir los números pares en negativos.

    Vamos a pedirle al usuario que nos digite el total de elementos de la serie, y la vamos a guardar dentro de la variable n, posteriormente vamos a inicializar la variable i, poniendo el valor de 1, ahora vamos a poner el bucle while en el cual diremos que mientras se cumpla que i sea menor o igual a n, vamos a comprobar si i módulo 2 es igual a cero, entonces utilizamos la variable ne para poder transformar la i en negativo y luego vamos a sumar, suma pares a suma pares más ne, en el caso contrario vamos a sumar los impares, por la tanto vamos a poner, suma impares es igual a suma impares mas i, ya que eso no es necesario cambiarlo a negativo ya que los impares son positivos, ahora fuera del bucle while lo siguiente será utilizar la variable suma en la cual vamos a sumar las variables suma pares y suma impares, ya que al agruparlas en una sola suma es como si estuviéramos sumándolas juntas, y por ultimo vamos a mostrar con una salida en pantalla el resultado de la suma total.

    05:22

    El bucle for de C es superior a los bucles for de otros lenguajes de programación tales como BASIC, Pascal y Fortran ya que ofrece más control sobre la inicialización y el incremento de las variables de control del bucle. Además del bucle while, C proporciona otros dos tipos de bucles for y do. El bucle for que se estudia en esta sección es el más adecuado para implementar bucles controlados por contador que son bucles en los que un conjunto de sentencias se ejecutan una vez por cada valor de un rango especificado, de acuerdo al algoritmo: por cada valor de una variable-contador de un rango específico : ejecutar sentencias La sentencia for (bucle for) es un método para ejecutar un bloque de sentencias un número fijo de veces. El bucle for se diferencia del bucle while en que las operaciones de control del bucle se sitúan en un solo sitio: la cabecera de la sentencia.


    El bucle for contiene las cuatro partes siguientes: Parte de inicialización, que inicializa las variables de control del bucle. Se pueden utilizar variables I de control del bucle simples o múltiples. de las sentencias, mientras que la expresión sea verdadera. Parte de condición, que contiene una expresión lógica que hace que el bucle realice las iteraciones Parte de incremento, que incrementa o decrementa la variable o variables de control del bucle. Sentencias, acciones o sentencias que se ejecutarán por cada iteración del bucle.

    La sentencia for es equivalente al siguiente código while
    Inicialización
    while ( condición / Iteración)
    {
    Sentencias del bucle f o r ;
    Incremento;
    }


    Ejemplo 1
    int i;
    / * imprimir Hola 10 veces * /
    for (i= O ; i < 10; i++)
    printf ("Hola!");
    }

    Existen dos formas de implementar la sentencia for que se utilizan normalmente para implementa bucles de conteo: formato ascendente, en el que la variable de control se incrementa y formato descendente, en el que la variable de control se decrementa.

    05:02

    En este vídeo vamos a resolver el siguiente problema: Suma de los 10 primeros números pares, entonces vamos comenzando por poner la librería que utilizaremos y será la stdio.h, bien ahora vamos a poner también la función principal main(), con su respectivo return 0; como buena práctica de programación. Entonces ahora nos toca poner las variables que se utilizaran a lo largo del programa, y serán un contador o iterador i, y una variable de suma que será inicializada en cero. Ahora proseguimos a poner el bucle for, primero inicializamos el contador en 1, luego ponemos un punto y coma, luego viene la condición, en la cual vamos a poner que mientras que i sea menor o igual a 10, y por ultimo viene el incremento de la variable, entonces ahí vamos a poner primero i++, ya que por ahora queremos que la variable de contador vaya incrementando de uno en uno, bien ahora lo siguiente es, poner un condicional dentro del bucle para poder darnos cuenta que números son pares y cuáles no, ya que solo debemos sumar los pares, entonces en el condicional ponemos que i módulo 2 igual a cero, si eso se cumple significa que el número es par, y bien dentro de ese condicional es donde vamos a poner la suma iterativa, entonces ponemos que suma sea igual a suma mas i, o bien solo suma más igual i, por supuesto con su punto y coma al final de la expresión.


    Bien y al final solo nos quedaría poner el resultado de la suma en pantalla, entonces vamos a utilizar una salida de pantalla en la cual le vamos a decir al usuario que la suma de los números pares desde el 1 hasta el 10 es de, y por supuesto se le pone el porcentaje i, y luego de la coma la viable de suma, donde está almacenado el resultado de la suma iterativa de números pares.

    04:55

    En este vídeo vamos a resolver el siguiente ejercicio: Determinar si un Número es Primo o no, primero vamos comenzando poniendo la librería stdio.h que será la librería que utilizaremos, y además también vamos a poner la función principal main(), con su respectivo return 0; como buena práctica de programación.

    Bien ahora, vamos a poner las variables i que será el iterador o contador, numero para almacenar el valor que el usuario va a digitar y ahora vamos a utilizar una variable cont inicializada en cero. Bien ahora vamos a pedirle al usuario en el cual vamos a pedirle al usuario un número, para poder determinar si es primo o no. Ahora procedemos a utilizar un bucle con i igual a 1 hasta que numero sea menor o igual a número, i++ para que aumente el contador o iterador, ahora dentro del bucle for, vamos a poner un condicional en el cual vamos a comprobar si el número es primo o no, así que vamos a comprobar si número modulo i es igual a cero, dentro de ese condicional vamos a poner contador es igual a contador más uno. Fuera del bucle vamos a poner un condicional en el cual vamos a comprobar si conteo es mayor a dos, significa que el número tiene más de 2 divisores por la tanto poner en pantalla es número compuesto, caso contrario es decir el else, del condicional en el que si no se cumple que el contador sea mayor a 2 significa que es máximo dos por lo tanto, significa que el número es divisible solo por la unidad y por sí mismo, lo que significa que le vamos a poner por salida de pantalla es un número primo, y eso sería todo en el programa, entonces al momento de compilar podemos poner cualquier número y el programa se dará cuenta si es un numero par o impar.

    05:07

    En este vídeo vamos a resolver el siguiente problema nos pide lo siguiente tenemos que Hallar el factorial de un número bien entonces para el comenzar este problema vamos a poner primero include Esterio punto H Luego de eso vamos a poner la función principal con su respectivo Retorno a cero luego de ello vamos a poner las variables enteras que vamos a utilizar en el problema será la variable y la variable número y la variable factorial inicializada en 1 bien lo siguiente será pedirle al usuario a través de una salida por pantalla que nos dijiste el número para poder Hallar el factorial y lo vamos a guardar dentro de la variable número correspondiente Luego de eso vamos a proceder a indicar el bucle que inicializa en 1 hasta que sea menor o igual a número y luego y más más genial luego adentro del bucle vamos a proceder a realizar una multiplicación interactiva como si fuera la suma de los 10 primeros números que eso se resolvía a través de una suma iterativa ahora vamos a utilizar la multiplicación interactiva Entonces vamos a poner factorial es igual a factorial por y que en su forma abreviada sería factorial por igual y luego de eso vamos a proceder a copiar el resultado por pantalla Así que vamos a poner en una salida de pantalla el factorial de un número dado es porcentaje y coma factorial Y de esa manera estaríamos resolviendo el problema planteado bien Entonces en ese problemas modisto Cómo poder resolver el factorial de un número que es un problema muy pedido a lo largo de este curso entonces Espero que te haya gustado este problema Y recuerda que vas a tener que resolver un problema más antes de finalizar Este vídeo y pasar al siguiente espero que sea de tu agrado y hasta el próximo video.

    05:12

    En este vídeo vamos a resolver el problema número 12 que nos pide hacer un programa que resuelva la serie Fibonacci y la serie Fibonacci es aquella que comienza con un uno seguido por otro uno y a partir de ahí el siguiente número es resultado de la suma de los dos números anteriores Ok entonces vamos comenzando poniendo la librería que vamos a utilizar y se trata de la include<stdio.h> punto H Luego de eso vamos a proceder a poner la función principal con su respectivo Retorno a cero bien adentro de la función principal vamos a poner las variables de tipo entera que van hacer el número y la y que será el iterador que vamos a utilizar una variable X inicializar en cero una variable inicializada 1 y una variable Z inicializada en uno también luego vamos a poner por salida en pantalla diciéndole al usuario que nos dijiste el número de elementos y lo vamos a guardar dentro de nuestra variable número Luego de eso procederemos a poner el Google en el cual vamos a inicializar el contador en 1 hasta que sea menor a número y luego incrementamos el contador en 1 adentro del bucle vamos a proceder a hacer el algoritmo correspondiente para la serie Fibonacci en el cual se indica que se debe ser igual a x más y punto y coma Luego de eso x debe ser igual a y punto y coma Y por último y debe ser igual a Z y ese sería el algoritmo correspondiente Claro que al final vamos a tener que poner una salida por pantalla indicando porcentaje y Cómo afecta ya que el bucle se va repetir un determinado número de veces tanto como el usuario decida por eso vamos a tener que nosotros copiar tantos números de la serie Fibonacci como el usuario decida bien y este ha sido todo en el problema número 12 que nos quería hallar la serie Fibonacci este problema es realmente muy típico en bucles espero haya sido de tu agrado recuerda que vas a tener que resolver un problema más antes de finalizar Este vídeo y pasar al siguiente

    05:48

    En este vídeo vamos a ver la repetición el bucle do While se utiliza para especificar un bucle condicional que se ejecuta al menos una vez esta situación circunstancias en las que se ha de tener la seguridad de que una determinada acción una o varias veces pero al menos una vez es la siguiente vamos a tener una condición es la diferencia en el cual la persona primero piensa luego actúa y luego piensa en este vídeo en el primero es Mostrar los 10 primeros números Entonces en este ejemplo una variable entera denominada y en esa variable en esa variable vamos a inicializar la 1 luego de ello vamos a proceder a poner el bucle do While dentro del Dúo vamos a imprimir la variable y con un salto de línea uno en uno Mientras que el contador sea menor o igual a 10 ya que solamente queremos que nos imprima los 10 primeros números y en un segundo ejemplo vamos a mostrar un pequeño saludo por pantalla siempre y cuando el usuario teclee la letra s minúscula o mayúscula entonces para comenzar vamos a utilizar una variable carácter denominada letra en la cual vamos a tener que nosotros primero poner un hola luego vamos a decirle al usuario que nos dijiste la letra o mayúscula si lo hace pues entonces en la condición vamos a decir que mientras que opción o letra sea igual a minúscula o mayúscula pues entonces el bucle se va a seguir repitiendo por lo tanto nuevamente nos va a mostrar un hola como saludo en pantalla y nuevamente nos va a pedir que disfrutemos la letra s minúscula o mayúscula y este bucle se va a seguir y seguir repitiendo siempre y cuando el usuario digite la tecla minúscula o mayúscula y cuando dijiste cualquier otra tecla el bucle sale y se termina el programa Cómo es que funciona el bucle do While Qué diferencia de While en este bucle primero ejecuta y luego piensa bien como decir en una persona primero tú y luego piensas en el bucle While era primero piensa luego actúa esa es la gran diferencia entre el bucle While y el bucle do While

    03:28

    En este vídeo vamos a resolver el problema número 14 que nos pide lo siguiente hacer un bucle do While para imprimir las letras minúsculas del alfabeto entonces luego de eso vamos a poner la función principal con su respectivo Retorno a cero como buena práctica de programación. Muy bien adentro de la función principal vamos a poner una variable de tipo carácter llamada letra la cual vamos a inicializar la e á Cómo sabes la variable a en código ASCII es 61 H es decir 61 hexadecimal Muy bien Entonces vamos a empezar a aplicar el bucle do While dentro del Dúo vamos a poner una salida por pantalla con su respectivo porcentaje se porque ahora es una variable de tipo carácter vamos a dar también un salto de línea con letra después de eso ya que como sabes a qué equivale a 61 H por lo tanto al incrementar dicha variable vamos a pasar a lo que 62 hexadecimal 63 hexadecimal Así que vamos a ir pasando las letras b c d e hasta que llegue a la letra Z minúscula entonces en él en la condición While vamos a poner letra menor o igual a 7 hasta la letra Z minúscula queremos que nuestro ciclo llegué una vez cumplido eso pues podemos compilar al compilar nos damos cuenta que el bucle está generando las letras del alfabeto desde la a hasta la z

    Esto es gracias al código ASCII llegue el código ASCII Guarda las letras en números hexadecimales Entonces al aumentar lo es decir a poner a la variable letra agregándole uno en uno vamos a proceder a incrementar dicha variable por lo tanto vamos a ir recorriendo todas las letras del alfabeto desde la a hasta la z y todas las letras en minúscula, entonces de esa manera ejecutamos mejor el bucle do while

    Section 7: Funciones
    02:22

    En este vídeo veremos la introducción del bloque de funciones:

    1. Concepto de Función

    1.1 Concepto de Función

    1.2 Ejercicio: Numero par o no con Función y Procedimiento.

    1.3 Ejercicio: Procedimientos para sumar, restar, multiplicar y dividir.

    1.4 Ejercicio: Convertir grados Celsius a Fahrenheit y Kelvin con Función.

    1.5 Ejercicio: Ordenar 3 números ascendentemente con Procedimiento.

    2. Funciones Numéricas.

    2.1 Funciones Matemáticas.

    2.2 Funciones Trigonométricas.

    2.3. Funciones Aleatorias Número Aleatorio

    3 Recursividad.

    3.1 Función Recursiva.

    3.2 Ejercicio Serie Fibonacci con Recursividad.

    3.3 Ejercicio Pasar un número entero a binario.

    09:13

    C fue diseñado como un lenguaje de programación estructurado, también llamado programación

    modular. Por esta razón, para escribir un programa se divide éste en varios módulos, en lugar de uno solo largo. El programa se divide en muchos módulos (rutinas pequeñas denominadas funciones), que producen muchos beneficios: aislar mejor los problemas, escribir programas correctos más rápido y producir programas que son mucho más fáciles de mantener.

    Así pues, un programa C se compone de varias funciones, cada una de las cuales realiza una tarea

    principal. Por ejemplo, si está escribiendo un programa que obtenga una lista de caracteres del teclado, los ordene alfabéticamente y los visualice a continuación en la pantalla, se pueden escribir todas estas tareas en un único gran programa (función main ( ) ).

    int main()

    {

    /* Código C para obtener una lista de caracteres * /

    / * Código C para alfabetizar los caracteres */

    / * Código C para visualizar la lista por orden alfabético * /

    return 0;

    ...

    ...

    ...

    }

    Sin embargo, este método no es correcto. El mejor medio para escribir un programa es escribir funciones independientes para cada tarea que haga el programa. Una función es, sencillamente, un conjunto de sentencias que se pueden llamar desde cualquier parte de un programa. Las funciones permiten al programador un grado de abstracción en la resolución de un problema.

    Las funciones en C no se pueden anidar. Esto significa que una función no se puede declarar dentro de otra función. La razón para esto es permitir un acceso muy eficiente a los datos. En C todas las funciones son externas o globales, es decir, pueden ser llamadas desde cualquier punto del programa.

    Los aspectos más sobresalientes en el diseño de una función son:

    Tipo de resultado. Es el tipo de dato que devuelve la función C y aparece antes del nombre de la

    Lista de parámetros. Es una lista de parámetros tipificados (con tipos) que utilizan el formato

    Función.

    Cuerpo de la función. Se encierra entre llaves de apertura ({) y cierre ( )). No hay punto y coma Paso de parámetros. Posteriormente se verá que el paso de parámetros en C se hace siempre por

    No se pueden declarar las funciones anidadas.

    Declaración local. Las constantes, tipos de datos y variables declaradas dentro de la función son Valor devuelto por la función. Mediante la palabra reservada return se devuelve el valor de la Una llamada a la función produce la ejecución de las sentencias del cuerpo de la función y un retorno a la unidad de programa llamadora después que la ejecución de la función se ha terminado, normalmente cuando se encuentra una sentencia return. Después de la llave de cierre. Valor. Locales a la misma y no perduran fuera de ella. Función.

    05:25

    En este vídeo vamos a resolver el problema número uno que nos pide la siguiente nos dice que terminar si un número es par o no entonces ponemos primero la librería después vamos a poner la función principal y ahora procederemos a poner las variables que necesitaremos primero vamos a poner una variable entera llamada número después vamos a pedirle a los seres que nos dijiste y números vamos a guardarla en esa variable posteriormente vamos a comenzar con la función o procedimiento le vamos a poner de nombre comprobar y como parámetros pondremos el número en la función comprobar vamos a poner un parámetro entero llamado n íbamos a ver dentro de la función con procedimiento diciendo que si n porcentaje 2 es igual a cero significa que un número es par caso contrario significaría que el número es impar eso sería hacerlo con procedimientos al final del programa tenemos que poner el prototipo de la función Entonces vamos a poner tal y como está la función antes del Main con un punto y coma ahora este problema se puede resolver además con funciones que tengo un respectivo retorno para ello Al momento de enviar la función comprobar si es par entonces que nos retorna 0 Y si es impar que nos retorna 1 cosa que al momento de la función principal podemos comprobar si retorna 0 entonces decimos al usuario que no es para uno de 50 sabías que el número es impar comprobar si un número es par o impar a través de funciones o bien sea a través de Procedimientos cualquiera puede ser el caso y la resolución sería igual.

    Entonces en este vídeo no sé ni dónde ni acercamiento a lo que son las funciones que tienen un tipo de dato y un respectivo retorno de valor y las funciones básicas con funciones voy que no tienen ningún tipo de retorno y estas funciones en programación en C son conocidas también como procedimientos y al resultados entre paréntesis dentro de dichas funciones Y estás No retornan nada al programa principal sin embargo las funciones siempre tienen un tipo de dato sea entero real o carácter y estas funciones siempre retornan una expresión hacia la función principal

    09:08

    En este vídeo es el problema número 3 y vamos a resolver la siguiente nos pide hacer un programa que muestre un menú con las opciones sumar restar multiplicar y dividir el programa solicitará una acción y realizará la tarea elegida se debe usar un procedimiento bien Entonces vamos a comenzar poniendo la librería vamos a poner la función principal y dentro de ella vamos a poner un respectivo menú el procedimiento de menú vamos a tener una variable entera llamada opción y luego vamos a utilizar el bucle do While vamos a poner la salida por pantallas 1 sumar dos restar 3 multiplicar 4 dividido 5 salir iPod segunda opción 2 puntos un espacio y luego al momento de guardarlos yo vamos a guardar contacto por ciento y porque se enteró a personal opción luego vamos a utilizar un switch con la variable opción en el caso 1 Vamos a mandar a la función sumar y después un break caso 2 restar caso 3 multiplicar 4 4 día y en el While vamos a seguir repitiendo siempre y cuando opción sea diferente de 5 dentro de la función sumar que sería un procedimiento ya que no va a retornar nada vamos a tener dos variables n1 y n2 y luego suma igual a cero le vamos a pedir los datos necesarios vamos a sumar los y después por pantalla mostramos el resultado de la suma y la función de restar vamos a tener Igualmente dos números le pedimos al usuario restamos los números y Mostrar el resultado por pantalla en la multiplicación vamos a tener dos números multiplicación igual a cero multiplicamos encontramos el resultado por pantalla resultado por pantalla claro tenemos que poner los respectivos prototipo de nuestras funciones menús sumar restar multiplicar y dividir ha sido todo

    08:19

    En este vídeo vamos a resolver el problema número 5 y nos pide lo siguiente nos dice hacer un programa que pida por pantalla una temperatura en grados Celsius muestre un menú para convertirlos a Fahrenheit o Kelvin y muestre el equivalente por pantalla utilizar funciones Entonces vamos comenzando poniendo la librería que utilizaremos después la función principal y dentro de la función principal vamos a tener 3 variables C, F y K variable entera y en adopción dentro de While comenzar con lo que es un grado celcius lo vas a guardar dentro de la letra c pues comenzamos con el menú en la opción 1 le vamos a decir para transformar a grados Kelvin en los cielos vamos a transformar a grados Fahrenheit y después vamos a salir del programa Y por supuesto para poder respectivo opción dentro de esa variable ahora vamos con la opción switch opción caso 1 base fahrenheit Así que vamos a llevar a la fusión faringitis vamos a decir cuál es el equivalente casados y la función que diga si quedamos a guardar dicho función íbamos a decir cuál es el equivalente igual va a ser siempre y cuando se hace diferencia entre día que la opción de salir Entonces al momento de la función a tener un tipo de dato flotante y luego flotante c como parámetros vamos a utilizar la fórmula de grados Fahrenheit y vamos a retornar la letra s luego en Kelvin vamos a tener un parámetro flotante en el profe vamos a utilizar la fórmula íbamos a retornar la letra k y eso sería todo Claro que tenemos que poner los respectivos prototipos de funciones para Fahrenheit Y Kelvin efectivo punto y coma cada uno.

    para poder tener una mejor práctica de programación Entonces en este vídeo no resuelto a través de un virus pasar grados Celsius a grados Fahrenheit Y Kelvin esto es gracias a las funciones que retornan el valor de conversión para nosotros solamente Tendremos que mostrarlo en pantalla.

    06:04

    En este vídeo vamos a resolver el siguiente problema que es el problema 7 y lo escribe hacer un programa que muestre 3 números ordenados ascendentemente y vamos a utilizar un procedimiento para cada operación Entonces primero vamos a comenzar con el de la librería que utilizaremos después viene la función principal con su respectivo Retorno a cero después las variables que vamos a utilizar serán tres Vamos a ponerle a de C centro D.F por supuesto le pedimos al usuario tres números y letras guardamos dentro de esa variable entonces luego le mandamos a llamar a la función que sea un procedimiento y vamos a ponerle de nombre ascendente íbamos a mandar la apéndice luego de ello vamos a comenzar a poner la función o procedimiento ascienden de íbamos a ir ordenando los a través de condicionales Y a eso igual si dentro de su mayor igual así por lo tanto el orden sería se ve a caso contrario el orden sería de c&a después vamos a ver si B es mayor o igual a y b es mayor igual a c y a esa igual hace el orden sería si ha de Caso contrario se hace B luego Vamos a darnos cuenta si hay Si se es mayor igual a a hice eso sí a es el orden sería a se caso contrario sería ABC Y eso sería todo el momento solamente nos saldría poner el prototipo de la función tangente con sus respectivos parámetros condicional Excel 2010 sin utilizar el método burbuja en orden ascendente mente de tres números digitados por el usuario tres números cualquiera de dos enteros y Entonces nosotros estamos viendo cuál sería el orden ascendente correcto para dichos números.

    por lo tanto en este vídeo hemos mejorado bastante la forma en la que resolvemos las funciones o procedimientos ya que cada vez se hace más fácil utilizar estas formas de programación modular en programación en C lo cual está genial entonces pero Dios así será el siguiente

    09:11

    En este vídeo comenzamos con lo que son las funciones numéricas, y comenzaremos por lo que son las funciones matemáticas en las cuales aún no hace falta incluir la librería #include<math.h>

    Funciones Matemáticas:

    ceil(x) -> Redondea al próximo entero más cercano.

    fabs(x) -> Devuelve el valor absoluto de x.

    floor(x) -> Redondea por defecto al entero más próximo.

    fmod(x,y) -> Calcula el resto de la división de x/y.

    pow(x,y) -> Calcula x elevado a la potencia y.

    sqrt(x) -> Devuelve la raíz cuadrada de x.

    05:30

    Funciones Trigonométricas:

    acos(x) -> Calcula el arco coseno de x.

    asin(x) -> Calcula el arco seno de x.

    atan(x) -> Calcula el arco tangente de x.

    cos(x) -> Calcula el coseno del ángulo x, en radianes.

    sin(x) -> Calcula el seno del ángulo x, en radianes.

    tan(x) -> Devuelve la tangente del ángulo x, en radianes.

    05:41

    Función Aleatoria:

    srand(time(NULL));

    variable = limite_inferior + rand() % ((limite_superior + 1 ) - limite_inferior);

    08:34

    Funciones Recursivas Para algunos tipos de problemas es ´útil tener funciones que se llaman a si mismas. Una función recursiva es una función que se llama a sí misma. Primero consideraremos la recursión en forma conceptual y a continuación examinaremos varios programas que contienen funciones recursivas. Las funciones recursivas se definen definiendo: 1. caso base: son casos simples. Si la función es llamada con el caso base la función simplemente devuelve un resultado. 2. caso recursivo: la función es llamada con un problema más complejo. Para hacer factible la recursión este ´ultimo debe parecerse al problema original. El paso de recursión puede dar como resultado muchas llamadas recursivas a la función con problemas más sencillos que el original. A fin de que la recursión en forma eventual se termine, cada vez que la función se llame a si misma debe ser sobre una versión ligeramente más sencilla que el problema original. Esta secuencia de problemas más pequeños debe de converger en el paso base. Ejemplo 1: Factorial El factorial de un entero no negativo, escrito n! y pronunciado factorial de n, es el producto: n.(n-1).(n-2).. . . 1 con 1!=1 y 0!=1. El factorial de un entero número mayor o igual a 0 puede ser calculado en forma iterativa utilizando for como sigue: factorial=1; for (cont=numero; cont >= 1; cont - - ) factorial *= cont; Una definición recursiva de la función factorial se obtiene al observar la siguiente relación: n!=n.(n-1)! la definición de la función recursiva correspondiente a factorial es: 1 long factorial(int numero) { if (numero <= 1) return 1; else return (numero * factorial(numero-1)); } utilizamos variables de tipo long porque la función factorial crece rápido

    07:01

    En este vídeo vamos a resolver lo siguientes problemas:

    Ejercicio 1: Serie Fibonacci con Recursividad

    Ejercicio 2: Consideremos una función que recibe un número n e imprime los números de la n al 1. Con recursividad

    06:13

    En este vídeo vamos a resolver los siguientes problemas:

    Ejercicio 1: Pasar de número entero a número binario con Recursividad.

    Ejercicio 2: Invertir un numero entero con Recursividad.

    Section 8: Arrays (Listas y Tablas)
    02:30

    En este vídeo vamos a ver la introducción del bloque de Arreglos o Arrays:

    • 1. Arreglos Unidimensionales
      • 1.1 Concepto de Arreglos Unidimensionales
      • 1.2 Arrays Unidimensionales en C.
      • 1.3 Ejercicio: Copiar el contenido de un array a otro.
      • 1.4 Ejercicio: Copiar Arrays de cadenas de caracteres.
      • 1.5 Ejercicio: Contabilizar el género de N estudiantes.
    • 2. Arreglos Bidimensionales.
      • 2.1 Concepto de Arrays Bidimensionales.
      • 2.2 Matrices en C.
      • 2.3 Ejercicio: Hacer una matriz pidiendo número de filas y columnas.
      • 2.4 Sumar 2 matrices
    • 3 Ordenación de Listas.
      • 3.1 Método Burbuja en C.
      • 3.2 Ordenamiento por Inserción en C.
      • 3.3 Ordenamiento por Selección en C.
    • 4 Búsqueda en Listas.
      • 4.1 Búsqueda Secuencial en C.
      • 4.2 Búsqueda Binaria en C.
    06:25

    Arrays Unidimensionales:

    Un array (lista o tabla) es una secuencia de datos del mismo tipo. Los datos se llaman elementos del array y se numeran consecutivamente O, 1, 2,3, etc. El tipo de elementos almacenados en el array puede ser cualquier tipo de dato de C, incluyendo estructuras definidas por el usuario, como se describirá más tarde. Normalmente el array se utiliza para almacenar tipos tales como char, int o float.

    Un array puede contener, por ejemplo, la edad de los alumnos de una clase, las temperaturas de

    cada día de un mes en una ciudad determinada, o el número de personas que residen en cada una de las diecisiete comunidades autónomas españolas. Cada ítem del array se denomina elemento.

    Los elementos de un array se numeran, como ya se ha comentado, consecutivamente O, I, 2, 3, ...

    Estos números se denominan valores índice o sub índice del array. El término «subíndice» se utiliza ya que se especifica igual que en matemáticas, como una secuencia tal como él, a, a2... Estos números localizan la posición del elemento dentro del array, proporcionando acceso directo al array. Si el nombre del array es a, entonces a [ 0 1 es el nombre del elemento que está en la posición O, a [ 11 es el nombre del elemento que está en la posición 1, etc. En general, el elemento i-ésimo está en la posición i-l. De modo que si el array tiene n elementos, sus nombres son a [O] , a [1] , . . . , a [n- 1].

    10:32

    En este vídeo vamos a ver como declarar Arrays o Arreglos unidimensionales en el entorno de C, vamos a ver como declarar arreglos enteros, flotantes, carácter y string o palabra, veremos como los declaramos y además como poder mostrar todos sus elementos y claro también como pedirle al usuario los datos e ir guardándolo dentro de un array.

    06:11

    En este vídeo vamos a resolver los siguientes ejercicios:

    Ejercicio 1: Copiar el contenido de un Array1 de 5 elementos hacia otro Array2.

    Ejercicio 2: Crear un programa que tenga un array de 100 números aleatorios entre 1 y 1000. Una vez creado organizarlo de tal manera que almacene los números pares en un array y los impares en otro.

    04:37

    En este vídeo vamos a resolver los siguientes ejercicios:

    Ejercicio 1: Hacer 2 arrays de cadena de caracteres, pedir el nombre al usuario guardarlo dentro de un array y luego, copiar el contenido de ese array a otro.

    Ejercicio 2: Hacer 2 arrays de cadenas de caracteres, almacenar 2 nombres cada uno dentro de su respectiva variable, y luego intercambiar el contenido de los arrays

    07:01

    En este vídeo vamos a resolver los siguientes ejercicios:

    Ejercicio 1: Realice un programa que lea en un array el sexo de los N estudiantes del curso de Algoritmos y que determine cuantos hombres y cuantas mujeres se encuentran en el grupo, suponiendo que los datos son extraídos alumno por alumno.

    Ejercicio 2: Realice un programa que permita leer una cadena de caracteres y que devuelva el número de caracteres que tiene dicha cadena e imprimir dicha cadena al revés.

    05:41

    Es un arreglo de dos dimensiones.

    Son estructuras de datos que agrupan muchos datos del mismo tipo, en donde cada elemento se puede trabajar individualmente y se puede referenciar con un mismo nombre. Se usan para representar datos que pueden verse como una tabla con filas y columnas.

    - Declaración:

    Tipo_dato nombre_matriz [índice fila] [índice columna]

    - Uso:

    Nombre_matriz [subíndice1] [subíndice2]

    int matriz [2][2]

    char mapa [100][100]

    int certamen [60][4]

    Declara una matriz de 3 filas por 4 columnas:

    int matriz [3][4];

    10:34

    En este vídeo vamos a ver como inicializar una matriz.

    - Matrices enteras

    - Matrices flotantes

    - Matrices de caracteres

    06:21

    En este vídeo vamos a resolver los siguientes problemas:

    Ejercicio 1: Hacer una matriz de tipo entera preguntándole al usuario el número de filas y el número de columnas, rellenar la matriz y luego mostrarla en pantalla

    Ejercicio 2: Hacer una matriz de tipo entera de 2 * 2, llenarla de números y luego copiar todo su contenido hacia otra matriz.

    06:26

    En este vídeo vamos a resolver los siguientes problemas:

    Ejercicio 1: Sumar 2 matrices.

    Ejercicio 2: Sumar 2 matrices, pidiendo al usuario el número de filas y columnas y además los elementos de cada matriz, luego mostrar el resultado.

    08:15

    La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.

    09:58

    El ordenamiento por inserción (insertion sort en inglés) 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²) operaciones para ordenar una lista de n elementos.

    Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha) o cuando ya no se encuentran elementos (todos los elementos fueron desplazados y este es el más pequeño). En este punto se inserta el elemento k+1 debiendo desplazarse los demás elementos.

    08:10

    El ordenamiento por selección (Selection Sort en inglés) es un algoritmo de ordenamiento

    Su funcionamiento es el siguiente:

    Buscar el mínimo elemento de la lista

    Intercambiarlo con el primero

    Buscar el siguiente mínimo en el resto de la lista

    Intercambiarlo con el segundo

    Y en general:

    Buscar el mínimo elemento entre una posición i y el final de la lista

    Intercambiar el mínimo con el elemento de la posición i

    08:40

    Búsqueda Secuencial: Se utiliza cuando el vector no está ordenado o no puede ser ordenado previamente. Consiste en buscar el elemento comparándolo secuencialmente (de ahí su nombre) con cada elemento del vector hasta encontrarlo, o hasta que se llegue al final. La existencia se puede asegurar cuando el elemento es localizado, pero no podemos asegurar la no existencia hasta no haber analizado todos los elementos del vector.

    05:31

    En este vídeo vamos a resolver los siguientes problemas:

    Ejercicio 1: Hacer una lista de 10 números, luego pedirle al usuario que digite un número, y a través de una búsqueda secuencial determinar si el número existe en la lista o no, y además indicar en qué posición se encuentra.

    Ejercicio 2: Hacer un array pidiendo al usuario el número de elementos, y rellenar el array con números digitados por el teclado, luego pedir al usuario un número, y hacer una búsqueda secuencial para indicar si ese elemento existe o no, también entregar posición.

    05:46

    Búsqueda Binaria: Se utiliza cuando el vector en el que queremos determinar la existencia de un elemento está previamente ordenado. Este algoritmo reduce el tiempo de búsqueda considerablemente, ya que disminuye exponencialmente el número de iteraciones necesarias.

    Está altamente recomendado para buscar en arrays de gran tamaño. Por ejemplo, en uno conteniendo 50.000.000 elementos, realiza como máximo 26 comparaciones (en el peor de los casos).

    Para implementar este algoritmo se compara el elemento a buscar con un elemento cualquiera del array (normalmente el elemento central): si el valor de éste es mayor que el del elemento buscado se repite el procedimiento en la parte del array que va desde el inicio de éste hasta el elemento tomado, en caso contrario se toma la parte del array que va desde el elemento tomado hasta el final. De esta manera obtenemos intervalos cada vez más pequeños, hasta que se obtenga un intervalo indivisible. Si el elemento no se encuentra dentro de este último entonces se deduce que el elemento buscado no se encuentra en todo el array.

    08:52

    En este vídeo vamos a resolver los siguientes problemas:

    Ejercicio 1: Hacer un array de 10 números desordenados, luego ordenarlos con el método burbuja, posteriormente pedir un dato a buscar y utilizar la búsqueda binaria para determinar si existe o no.

    Ejercicio 2: Hacer un array de 10 números desordenados, luego ordenarlos con el ordenamiento por selección, posteriormente pedir un dato a buscar y utilizar la búsqueda binaria para determinar si existe o no.

    Section 9: Estructuras
    01:15

    En este vídeo vamos a ver la introducción del bloque 8. Estructuras:

  • 1. Estructuras
  • 1.1 Concepto de Estructura
  • 1.2 Estructuras en C.
  • 1.3 Arreglos de Estructuras en C.
  • 1.4 Ejercicio - Estructura llamada corredor y ver categoría.
  • 1.5 Ejercicio - Arreglo de Estructuras y Comprobar mayor y menor salario.
  • 2. Estructuras Anidadas.
  • 2.1 Concepto Estructuras Anidadas.
  • 2.2 Estructuras anidadas en C.
  • 2.3 Ejercicio - Hacer 2 estructuras alumno y promedio
  • 03:45

    Los arrays son estructuras de datos que contienen un número determinado de elementos (su tamaño) y todos los elementos han de ser del mismo tipo de datos; es una estructura de datos homogénea. Esta característica supone una gran limitación cuando se requieren grupos de elementos con tipos diferentes de datos cada uno. Por ejemplo, si se dispone de una lista de temperaturas, es muy Útil un array; sin embargo, si se necesita una lista de información de clientes que contengan elementos tales como el nombre, la edad, la dirección, el número de la cuenta, etc., los arrays no son adecuados. La solución a este problema es utilizar un tipo de dato registro, en C llamado estructura.

    Los componentes individuales de una estructura se llaman miembros. Cada miembro (elemento) de una estructura puede contener datos de un tipo diferente de otros miembros. Por ejemplo, se puede utilizar una estructura para almacenar diferentes tipos de información sobre una persona, tal como nombre, estado civil, edad y fecha de nacimiento. Cada uno de estos elementos se denominan nombre del miembro.

    07:09

    Una estructura es un tipo de dato definido por el usuario, que se debe declarar antes de que se pueda utilizar. El formato de la declaración es:

    struct <nombre de la estructura>

    {

    <tipo de dato miembro > <nombre miembro>

    <tipo de dato miembro> <nombre miembro>

    <tipo de dato miembro> <nombre miembro>

    ...

    };

    La declaración de la estructura CD es

    struct coleccion-CD

    {

    char titulo[30] ;

    char artista[25] ;

    int num-canciones;

    float precio;

    char f echa-compra [ 8 1 ;

    };

    07:22

    En este vídeo veremos lo que son los arreglos de estructura:

    Es frecuente el uso conjunto de estructuras y arreglos. Un arreglo de estructuras representa una lista de entidades, que actúa como una pequeña base de datos ,formando una tabla que tiene como identificadores de columna los atributos y como identificadores de fila, el índice del arreglo.

    11:20

    En este vídeo vamos a resolver los siguientes problemas:

    Ejercicio 1: Hacer una estructura llamada corredor, en la cual se tendrán los siguientes miembros: Nombre, edad, sexo, club, pedir datos al usuario para un corredor, y asignarle una categoría de competición:

    - Juvenil <= 18 años

    - Señor <= 40 años

    - Veterano > 40 años

    Posteriormente imprimir todos los datos del corredor, incluida su categoría de competición.

    Ejercicio 2: Hacer una estructura llamada alumno, en la cual se tendrán los siguientes miembros: Nombre, edad, promedio, pedir datos al usuario para 3 alumnos, comprobar cuál de los 3 tiene el mejor promedio y posteriormente imprimir los datos del alumno.

    12:57

    En este vídeo vamos a resolver los siguientes problemas:

    Ejercicio 1: Realizar un programa en C que lea un arreglo de estructuras los datos de N empleados de la empresa y que imprima los datos del empleado con mayor y menor salario.

    Ejercicio 2: Hacer un arreglo de estructura llamada atleta para N atletas que contenga los siguientes miembros: nombre, país, numero_medallas. y devuelva los datos (nombre, país) del atleta que ha ganado el mayor número de medallas.

    01:48

    La conveniencia de coger nombres de funciones y datos fuera del espacio de nombre global es aplicable a las estructuras. Puede anidar una estructura dentro de otra estructura, y por tanto guardar juntos elementos asociados. La sintaxis de declaración es la que podría esperarse, tal como puede ver en la siguiente estructura, que implementa una pila como una lista enlazada simple de modo que «nunca» se queda sin memoria.

    08:59

    En este vídeo veremos lo que son las estructuras anidadas en C, dándole un enfoque práctico y

    sencillo para entenderlo rápidamente.

    08:18

    En este vídeo vamos a resolver los siguientes ejercicios:

    Ejercicio 1: Hacer 2 estructuras una llamada promedio que tendrá los siguientes miembros: nota1, nota2, nota3; y otro llamada alumno que tendrá los siguientes miembros: nombre, sexo, edad; hacer que la estructura promedio este anidada en la estructura alumno, luego pedir todos los datos para un alumno, luego calcular su promedio, y por ultimo imprimir todos sus datos incluidos el promedio.

    Ejercicio 2: Utilizar las 2 estructuras del problema 5, pero ahora pedir los datos para N alumnos, y calcular cuál de todos tiene el mejor promedio, e imprimir sus datos.

    Section 10: Punteros (Apuntadores)
    01:33

    Introducción al Bloque de Punteros (Apuntadores)

    04:09

    Concepto de Puntero:

    Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable, Quiere esto decir, que el puntero apunta al espacio físico donde está el dato o la variable.

    06:30

    En este vídeo veremos el uso básico de punteros en C. veremos lo que es la posición de memoria donde se guarda una variable y además como poder crear una variable de tipo puntero.

    Concepto de Puntero:

    Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable, Quiere esto decir, que el puntero apunta al espacio físico donde está el dato o la variable.

    06:04

    En este vídeo vamos a resolver los siguientes ejercicios:

    Ejercicio 1: Hacer una variable de tipo int, otra de tipo float y por ultimo una de tipo char, almacenar datos en cada una de las variables, posteriormente indicar la posición de memoria donde se encuentran guardados los datos de cada variable. Con punteros.

    Ejercicio 2: Comprobar si un número es par o impar, y señalar la posición de memoria donde se está guardando el número. Con punteros.

    03:20

    En este vídeo vamos a resolver los siguientes ejercicios:

    Ejercicio 1: Imprimir el alfabeto en mayúscula con Punteros.

    Ejercicio 2: Determinar si un número es primo o no; con puteros y además indicar en que posición de memoria se guardó el número.

    06:55

    En este vídeo vamos a resolver los siguientes ejercicios:

    Ejercicio 1: Dado un vector de 10 elementos = {1, 2, 3, 4, 4, 7, 8, 9, 5, 4}, escribir un programa en C (haciendo uso de puntero) que muestre las direcciones de memoria de cada elemento del vector.

    Ejercicio 2: Rellenar un array de 10 números, posteriormente utilizando punteros indicar cuales son números pares y su posición en memoria.

    07:29

    En este vídeo vamos a resolver los siguientes ejercicios:

    Ejercicio 1: Pedir su nombre al usuario y devolver el número de vocales que hay.

    Ejercicio 2: Pedir una cadena de caracteres (string) al usuario, e indicar cuantas veces aparece la vocal a, e, i, o, u; en la cadena de caracteres.

    Section 11: Asignación Dinámica de Memoria

    Students Who Viewed This Course Also Viewed

    • Loading
    • Loading
    • Loading

    Instructor Biography

    Alejandro Miguel Taboada Sanchez, Estudiante de Ing. Informatica

    Hola, un cordial saludo mi nombre es Alejandro Miguel Taboada Sánchez, soy un estudiante de Ingeniería informática en la Universidad Nacional de Trujillo (PERU), me gusta mucho aprender nuevos temas, y me interesa mucho los temas de programación y matemáticas, me gusta siempre estar informado sobre lo nuevo en programación, practico mucho resolviendo problemas de programación y creando algunas aplicaciones.

    Ready to start learning?
    Take This Course