Sei sulla pagina 1di 45

Contenido del curso

Ampliar todo
 

Presentación

Suscríbete a mi canal de youtube: Programación ATS

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.
Presentación 
04:00

Introducción a la Programación en C

Suscríbete a mi canal de youtube: Programación ATS

Introducción
1. Introducción a la Programación en C
1. Concepto de algoritmo
2. Los lenguajes de programación
3. Lenguaje C
Introducción del Bloque 

Suscríbete a mi canal de youtube: Programación ATS

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.
Concepto de algoritmo 

Suscríbete a mi canal de youtube: Programación ATS

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
Los lenguajes de programación 
08:34
Suscríbete a mi canal de youtube: Programación ATS

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.
Lenguaje C 
03:38

El lenguaje C - Elementos Básicos
38:27
Suscríbete a mi canal de youtube: Programación ATS

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
Introducción 
01:51
Suscríbete a mi canal de youtube: Programación ATS
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
Descargar Dev - C++ 
03:10
Suscríbete a mi canal de youtube: Programación ATS
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.
Estructura General de un Programa en C 
06:24
Suscríbete a mi canal de youtube: Programación ATS
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.
Directivas del preprocesador y Variables 
09:35
Suscríbete a mi canal de youtube: Programación ATS
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).
Tipos de Datos en C 
08:35
Suscríbete a mi canal de youtube: Programación ATS
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
cabecerastdio.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") ;
Entradas y Salidas 
08:52

Operaciones y Expresiones
38:28
Suscríbete a mi canal de youtube: Programación ATS
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.
Introducción 
01:49
Suscríbete a mi canal de youtube: Programación ATS
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.
Operador de Asignación 
05:12
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Operaciones Aritméticas 
06:25
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Hipotenusa de un triánguo rectángulo 
05:39
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Áreas de Trapecios 
04:54
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Descuento en una tienda 
04:22
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Incremento del 25% del sueldo 
05:04
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Calculando cantidad de segundos
05:03

Estructuras de Selección
01:22:19
Suscríbete a mi canal de youtube: Programación ATS
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 ’?’
Introducción 
02:34
Suscríbete a mi canal de youtube: Programación ATS
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.
La sentencia if 
06:05
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Comprobar si un Alumno esta Aprobado 
04:54
Suscríbete a mi canal de youtube: Programación ATS
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 tipoflotante (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.
Ejercicio: Tarifa Eléctrica 
07:07
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;
seleccion doble if - else 
03:51
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
Ejercicio: Calcular el Mayor de 2 números 
06:39
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.
Ejercicio: Nombre y Signo aries 
05:13
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.
Ejercicio: Borrado de Pantalla 
07:24
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.
La sentencia switch 
09:48
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.
Ejercicio: Nota del estudiante 
05:23
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.
Ejercicio: Números Romanos 
08:47
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ú
Ejercicio Cajero Automatico con menú 
10:11
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);
}
Expresiones Condicionales El operador '?' 
04:23

Estructuras de Control - Bucles
01:07:46
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.
Introducción 
02:05
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.
La sentencia while 
10:09
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.
Ejercicio: Suma de los n primeros números
07:06
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 programamain(),
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.
Ejercicio: Múltiplos de 3 
04: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.
Ejercicio: Sumar 1-2+3-4... 
08:46
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.
El bucle for 
05:22
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.
Ejercicio: Suma 10 primeros números pares
05:02
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.
Ejercicio: Determinar si un número es primo
04:55
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.
Ejercicio: Factorial de un número 
05:07
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
Ejercicio: Serie Fibonacci 
05:12
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
Repetición el bucle do while 
05:48
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
Ejercicio: Letras del Alfabeto 
03:28

Funciones
01:22:41
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.
Introducción 
02:22
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.
Concepto de Función 
09:13
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
Ejercicio: Número par o no con Función y Procedimiento 
05:25
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
Ejercicio Procedimientos para sumar, restar, multiplicar y dividir  
09:08
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.
Ejercicio: Convertir grados Celsius a Fahrenheit y Kelvin con Función  
08:19
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
Ejercicio Ordenar 3 números ascendentemente con Procedimiento 
06:04
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.
Funciones Matemáticas 
09:11
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.
Funciones Trigonométricas 
05:30
Suscríbete a mi canal de youtube: Programación ATS
Función Aleatoria:
srand(time(NULL));
variable = limite_inferior + rand() % ((limite_superior + 1 ) - limite_inferior);
Funciones Aleatorias - Número Aleatorio 
05:41
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
Función Recursiva 
08:34
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
Ejercicio: Serie Fibonacci con Recursividad 
07:01
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Pasar un número entero a binario
06:13

Arrays (Listas y Tablas)
02:01:30
Suscríbete a mi canal de youtube: Programación ATS
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.

Introducción del Bloque 


02:30
Suscríbete a mi canal de youtube: Programación ATS
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].
Concepto de Arreglos Unidimensionales 
06:25
Suscríbete a mi canal de youtube: Programación ATS
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.
Arrays Unidimensionales en C 
10:32
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Copiar el contenido de un array a otro 
06:11
Suscríbete a mi canal de youtube: Programación ATS
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
Ejercicio: Copiar Arrays de Cadenas de Caracteres 
04:37
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio Contabilizar el género de N estudiantes 
07:01
Suscríbete a mi canal de youtube: Programación ATS
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];
Concepto de Arreglos o Arrays Bidimensionales (Tablas o Matrices) 
05:41
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a ver como inicializar una matriz.
- Matrices enteras
- Matrices flotantes
- Matrices de caracteres
Matrices en C 
10:34
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Hacer una matriz pidiendo el numero de filas y columnas  
06:21
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio: Sumar 2 matrices 
06:26
Suscríbete a mi canal de youtube: Programación ATS
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.
Método Burbuja en C 
08:15
Suscríbete a mi canal de youtube: Programación ATS
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.
Ordenamiento por Insercion en C 
09:58
Suscríbete a mi canal de youtube: Programación ATS
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
Ordenamiento por Selección en C 
08:10
Suscríbete a mi canal de youtube: Programación ATS
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.
Búsqueda Secuencial en C 
08:40
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio Utilizar Búsqueda Secuencial para determinar si un número existe  
05:31
Suscríbete a mi canal de youtube: Programación ATS
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.
Búsqueda Binaria en C 
05:46
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio - Ordenar y utilizar búsqueda binaria 
08:52

Estructuras
01:02:53
Suscríbete a mi canal de youtube: Programación ATS
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
Introducción 
01:15
Suscríbete a mi canal de youtube: Programación ATS
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.
Concepto de Estructura 
03:45
Suscríbete a mi canal de youtube: Programación ATS
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 ;
};
Estructuras en C 
07:09
Suscríbete a mi canal de youtube: Programación ATS
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.
Arreglos de Estructuras en C 
07:22
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio - Estructura llamada corredor y ver categoria 
11:20
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio - Arreglo de Estructuras y Comprobar mayor y menor salario  
12:57
Suscríbete a mi canal de youtube: Programación ATS
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.
Concepto de Estructuras Anidadas 
01:48
Suscríbete a mi canal de youtube: Programación ATS
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.
Estructuras Anidadas en C 
08:59
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio - Hacer 2 estructuras alumno y promedio 
08:18

Punteros (Apuntadores)
36:00
Suscríbete a mi canal de youtube: Programación ATS
Introducción al Bloque de Punteros (Apuntadores)
Introducción al Bloque de Punteros 
01:33
Suscríbete a mi canal de youtube: Programación ATS
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.
Concepto de Punteros 
04:09
Suscríbete a mi canal de youtube: Programación ATS
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.
Uso Básico de Punteros en C 
06:30
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio - Posiciones en memoria de entero flotante y caracter 
06:04
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio - Imprimir alfabeto en mayúscula con punteros 
03:20
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio - Posiciones de memoria de un arreglo 
06:55
Suscríbete a mi canal de youtube: Programación ATS
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.
Ejercicio - Contabilizar vocales en una palabra 
07:29
-
Asignación Dinámica de Memoria
57:34
Suscríbete a mi canal de youtube: Programación ATS
Introducción al Bloque de Asignación Dinámica de Memoria
Introducción al Bloque de Asignación Dinámica de Memoria 
02:09
Suscríbete a mi canal de youtube: Programación ATS
La forma más habitual de C para obtener bloques de memoria es mediante la llamada a la
función malloc ( ) . La función asigna un bloque de memoria que es el número de bytes
pasados como argumento. malloc ( ) devuelve un puntero, que es la dirección del bloque
asignado de memoria. El puntero se utiliza para referenciar el bloque de memoria y devuelve
un puntero del tipo void*. La forma de llamar a la función malloc ( ) es: puntero =
malloc(tamaño en bytes);
Concepto de Memoria Estática y Dinámica 
07:09
Suscríbete a mi canal de youtube: Programación ATS
El almacenamiento libre no es una fuente inagotable de memoria. Si la función malloc ( ) se
ejecuta con falta de memoria, se devuelve un puntero NULL. Es responsabilidad del
programador
comprobar siempre el puntero para asegurar que es válido, antes de que se asigne un valor al
puntero.
Uso de malloc en C 
05:52
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Utilizar malloc para reservar memoria para un nombre (string)
Ejercicio 2: Pedir una cadena de caracteres al usuario, posteriormente utilizar malloc para
reservar memoria para esa cadena de caracteres (string)
Ejercicio - Reservar memoria con malloc para un nombre 
05:54
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Reservar memoria con malloc para un array de tipo double para 1000 números, y
comprobar si el puntero es válido (si el puntero devuelve NULL, significa que no hay suficiente
memoria).
Ejercicio 2: Pedir al usuario el número de elementos para un array de números enteros,
posteriormente comprobar con malloc si hay memoria suficiente (si el puntero es válido, es
decir diferente de NULL), si la hay es entonces rellenar ese array con números aleatorios, si
no la hay decir que hay un error en la asignación de memoria.
Ejercicio - Comprobar el epacio de memoria para un array 
06:14
Suscríbete a mi canal de youtube: Programación ATS
Cuando se ha terminado de utilizar un bloque de memoria previamente asignado por malloc
( ) , u otras funciones de asignación, se puede liberar el espacio de memoria y dejarlo
disponible para otros usos, mediante una llamada a la función free ( ) . El bloque de memoria
suprimido se devuelve al espacio de almacenamiento libre, de modo que habrá más memoria
disponible para asignar otros bloques de memoria. El formato de la llamada es
free (puntero)
Uso de free() en C 
05:58
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Reservar espacio en memoria dinámica para un nombre, y luego liberar la
memoria utilizada con free().
Ejercicio 2: Pedir al usuario una cadena de caracteres, reservar memoria con malloc(),
almacenarlo en la memoria dinámica, posteriormente utilizar free() para liberar el espacio de
memoria dinámica utilizado.
Ejercicio - Liberar memoria con free() 
03:47
Suscríbete a mi canal de youtube: Programación ATS
Esta función también es para asignar un bloque de memoria libre. Tiene una variación
respecto a malloc( ) y calloc( ) , permite ampliar un bloque de memoria reservado
anteriormente. La forma de llamar a la función realloc() es:
puntero = realloc (puntero a bloque, tamaño total de nuevo bloque) ;
Uso de realloc() en C 
06:49
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Reservar memoria dinámica para una cadena de caracteres de 10 espacios, luego
utilizar realloc para ampliar la memoria dinámica a 30 espacios.
Ejercicio 2: Reservar memoria para un arreglo de 5 números, rellenarlo con números que
digite
el usuario, luego utilizar realloc para ampliar ese arreglo a 10 números y agregar 5 números
más, por ultimo imprimir el arreglo resultante de 10 números.
Ejercicio - Ampliar un array de cadena de caracteres 
05:39
Suscríbete a mi canal de youtube: Programación ATS
La forma de llamar a la función calloc ( ) es:
puntero = calloc(número elementos, tamaño de cada elemento);
Generalmente se hará una conversión al tipo del puntero:
tipo *puntero;
puntero =(tipo*)calloc(número elementos, tamaño de cada elemento);
Uso de calloc() en C 
03:34
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Reservar memoria con calloc para una cadena de caracteres.
Ejercicio 2: Hacer un puntero array de tipo float, pedir el usuario el número de elementos,
luego reservar memoria dinámica con calloc, luego llenar el array, imprimir todos los
elementos, y por ultimo liberar el espacio de memoria dinámica utilizado.
Ejercicio - Reservar memoria con calloc para una cadena de caracteres  
04:29
-
Cadenas
59:23
Suscríbete a mi canal de youtube: Programación ATS
Introducción al Bloque
Introducción del Bloque 
02:29
Suscríbete a mi canal de youtube: Programación ATS
Una cadena (también llamada constante de cadena o literal de cadena) es un tipo de dato
compuesto, un array de caracteres (char), terminado por un carácter nulo (' \ O ' ). Un ejemplo
es “ABC”.
Declaración de Variables de cadena 
03:51
Suscríbete a mi canal de youtube: Programación ATS
La lectura usual de datos se realiza con la función scanf (), cuando se aplica a datos cadena
el código de formato es %s. La función da por terminada la cadena cuando encuentra un
espacio (un blanco) o fin de línea. Esto puede producir anomalías al no poder captar cadenas
con blancos entre caracteres.
Lectura de cadenas de caracteres 
05:53
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Utilizar las funciones getchar() y putchar() para para leer e imprimir un string.
Ejercicio 2: Leer una cadena de caracteres con getchar() y contabilizar cuantos espacios
ocupa.
Ejercicio - Funciones getchar() y putchar() 
04:42
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Leer un string con getchar() y contabilizar cuantas vocales tiene.
Ejercicio 2: Leer un string con getchar() y contabilizar cuantas veces aparece la vocal a, e, i,
o, u, e imprimir el contador de cada una.
Ejercicio - Contabilizar vocales 
04:19
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Copiar la cadena de caracteres "Hola mundo" de un array a otro. Luego cambiar la
palabra "mundo" por "y bienvenido al lenguaje C".
Ejercicio 2: Pedir al usuario que digite una cadena, luego copiar su contenido hacia otro array
de caracteres. y por ultimo modificar su mensaje poniendo a partir de la posición 10 "Buena
broma".
Ejercicio - Utilizando la función strcpy() 
04:15
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Utilizar la función strcat() para añadir un texto a un string.
Ejercicio 2: Pedir una cadena al usuario, posteriormente utilizar la función strcat() para añadir
la frase "Que tengas un buen día", al final de la cadena.
Ejercicio - Utilizar la función strcat() para añadir un texto a un String  
02:55
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Utilizar la función strcmp() para comparar dos palabras.
Ejercicio 2: Pedir 2 nombres al usuario y comprar si son iguales o no.
Ejercicio - Utilizando la función strcmp() para comparar 2 palabras  
03:12
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Pedir 2 palabras al usuario y ordenarlas alfabéticamente.
Ejercicio 2: Pedir n palabras al usuario y posteriormente ordenarlas alfabéticamente. Utilizar
método de ordenamiento (Burbuja, inserción, selección)
Ejercicio - Ordenar 2 palabras alfabeticamente 
04:23
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Invertir una cadena con la función strrev().
Ejercicio 2: Pedir una cadena al usuario y luego invertirla. Diciendo además cuantos
caracteres tiene.
Ejercicio - Invertir una cadena con la función strrev() 
02:53
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Convertir dos cadena de minúsculas a MAYUSCULAS con la función strupr().
Compararlas, y decir si son iguales.
Ejercicio 2: Pedir al usuario su nombre, apellido, y ciudad en la que vive, posteriormente
convertir todo a MAYUSCULAS e imprimir los datos. (Utilizar una estructura).
Ejercicio - Pasar una palabra a MAYUSCULA con strupr() 
04:12
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Pedir su nombre y apellidos al usuario (en mayúscula), posteriormente utilizar la
función strlwr() para convertir las MAYUSCULAS en minúsculas e imprimir los datos.
Ejercicio 2: Pedir el nombre de 3 familiares al usuario (en MAYUSCULAS), y posteriormente
convertir los datos a minúsculas.
Ejercicio - Convertir de mayúsculas a minúsculas con strlwr() 
04:32
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Determinar si una palabra es capicúa o no.
Ejercicio 2: Pedir al usuario que digite una palabra. luego mostrar la palabra invertida y
comprobar si es capicúa.
Ejercicio - Determinar si una palabra es capicua o no 
05:24
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Convertir una cadena (por ejemplo: "1234"), a un número entero. Con la función
atoi().
Ejercicio 2: Pedir dos cadenas numéricas al usuario. Luego Convertirlas a números enteros.
Sumar los valores y entregar el resultado.
Ejercicio - Transformar una cadena a un número entero con atoi()  
03:25
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes ejercicios:
Ejercicio 1: Utilizar la función atof() para pasar una cadena (por ejemplo: "123.45"), a número
flotante.
Ejercicio 2: Pedir dos cadenas(con numero flotante) al usuario, posteriormente multiplicar
dichos números y mostrar su resultado.
Ejercicio - Transformar una cadena a un número flotante 
02:58
-
Entradas y Salidas por Archivos
48:55
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Utilizar la función fopen(), para determinar si existe un archivo de texto (.txt) o no.
Ejercicio 2: Crear un archivo de texto (.txt) en la ubicación que elijas, posteriormente crear un
programa en C, que localice tu archivo de texto creado.
Ejercicio - Comprobar si existe un archivo txt (con fopen())  
05:59
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Hacer un programa en C que cree un archivo de texto (.txt).
Ejercicio 2: Hacer un programa en C que cree un archivo de texto (.txt) llamado "hola mundo",
crear el archivo en la carpeta que elija.
Ejercicio - Crear un archivo de texto (txt) 
04:36
Suscríbete a mi canal de youtube: Programación ATS
Al abrir el archivo f open ( ) se espera como segundo argumento el modo de tratar el archivo.
Fundamentalmente se establece si el archivo es de lectura, escritura o añadido; y si es de
texto o binario. Los modos básicos se expresan en esta tabla:
“r” = Abre para lectura
“w” = Abre para crear nuevo archivo (si ya existe se pierden sus datos).
“a” = Abre para añadir al final.
“r+” = Abre archivo ya existente para modificar (leer/escribir).
“w+” = Crea un archivo para escribir/leer (si ya existe se pierden los datos).
“a+” = Abre el archivo para modificar (escribir/leer) al final. Si no existe es como w+.
Diferentes tipos de modos en la función fopen() 
03:02
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Abrir 2 archivos de texto (.txt), después cerrar cada uno de ellos con fclose().
Ejercicio 2: Hacer un programa en C, que cree 2 archivos de texto (.txt), y luego utilizar la
función fclose() para cerrarlos.
Ejercicio - Cerrando archivos con fclose() 
04:44
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Utilizar la función fputc() para introducir caracteres en un archivo de texto (.txt).
Ejercicio 2: Crear un archivo de texto (.txt) con el nombre de "hola mundo" en la carpeta que
elijas, y dentro del archivo copiar "Hola y Bienvenidos al Lenguaje de Programación C".
Ejercicio - Utilizar fputc() para copiar texto en un archivo txt 
06:37
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Tomar el archivo de texto (.txt) creado en el problema 7, y con la función fgetc()
leer todo su contenido.
Ejercicio 2: Tomar el archivo de texto creado en el problema 8. Y leer todo su contenido.
Ejercicio - Leer todo el contenido de un archivo de texto con fgetc()  
05:05
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Agregar texto a un archivo txt.
Ejercicio 2: Crear un archivo de texto, ponerle el texto que deseas, y luego crear un programa
en C para agregarle más texto al archivo.
Ejercicio - Agregar más texto a un archivo txt 
04:11
Suscríbete a mi canal de youtube: Programación ATS
En este vídeo vamos a resolver los siguientes problemas:
Ejercicio 1: Crear un archivo de texto (.txt), donde guardar los emails de amigos.
Ejercicio 2: Crear un programa en C, que pueda seguir agregando contactos de email, hacia
el archivo que creamos en el problema 13.
Ejercicio - Hacer un programa que guarde datos de emails 
14:41
-
Listas
26:13
Suscríbete a mi canal de youtube: Programación ATS
Concepto de Listas Enlazadas
Concepto de Listas Enlazadas 
06:51
Suscríbete a mi canal de youtube: Programación ATS
Listas Simplemente Enlazadas en C
Listas Simplemente Enlazadas en C 
10:19
Suscríbete a mi canal de youtube: Programación ATS
Ejercicio - Haciendo una listas simplemente enlazada para 3 numeros  
09:03
-
Ejercicios Resueltos
03:03
Suscríbete a mi canal de youtube: Programación ATS
https://mega.nz/#!EURjhB4T!AgerzjEoiuRBPboJdbbjvHcDECvXU2g3qweYy23oluQ
Ejercicios Resueltos 
03:03
Requisitos
 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
Descripción

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

¿A quién está dirigido?

 Apasionados por la programación

 Autodidactas

 Estudiantes

 Ingenieros

Potrebbero piacerti anche