Contenido del curso
Toma de decisiones
Control de Bucles en C
Uso de las instrucciones break y continue
Cierre
Ejercicios Prácticos de Programación para Reforzar Conocimientos
Contenido del curso
Ejercicios Prácticos de Programación para Reforzar Conocimientos
Está comprobado que practicar es una de las formas en que podemos reforzar lo aprendido, por este motivo, encontrarás en nuestro blog distintos ejercicios para que nunca pares de programar.
Recuerda estar atento porque periódicamente encontrarás nuevos ejercicios y cuéntanos en los comentarios que te han parecido.
Ejercicios para practicar
Jose Luis Rodriguez
studentReinaldo Mendoza
studentJosé María Caamaño González
studentAndres Urrego
studentJean Nuñez
studentErik Alejandro Garcia Duarte
studentAbdel Mejia
studentValeria Vanesa Zalazar
studentRicardo Rito Anguiano
studentJosé Luis Mendez
studentRuben Higuita
studentRuben Higuita
studentRubén Licona
studentDanny López
studentDanny López
studentDanny López
studentDanny López
studentEduardo Sebastián Sandoval Jiménez
studentDanny López
studentMatias Acosta
studentHemos aprendido a imprimir datos por nuestra cuenta, pero no a solicitar al usuario esos datos, estuve investigando y al parecer se usa " scanf", esto no lo hemos visto, pero la mayoria de los ejercicios te pide que solicites datos al usuario.
printf("Ingrese el radio de la base: "); // primero preguntas scanf("%i", &base); // luego guardas % indica el tipo de dato y & es el nombre de la variable donde se almacena
Te recomiendo este curso de Platzi. Es con otro profesor, Mauro Chojrin. Se extiende menos hablando, pero abarca otros detalles que se complementan muy bien con este curso y el anterior. Además realiza más de 40 programas en diferentes ejercicios prácticos muy variados y completos. El único inconveniente es que va bastante rápido. A veces he necesitado ver varias veces el mismo video, para enterarme bien de los conceptos. https://platzi.com/clases/lenguaje-c-2019/
Cumplidos los 6 retos, me tomo tiempo pero los logre hacer!!!
Vamos a practicar, voy hacerlo
Como puedo guardar y imprimir cadenas de caracteres en C?
Para guardar strings en C necesitas usar arrays de Char o punteros de Char.
char[12] greeting = {'H','e','l','l','o',' ','W','o','r','l','d','\0'}; char[12] greeting = "Hello World"; \* El caracter adicional es el caracter \0 o nulo que siempre va al final del string *\ char* greeting = "Hello World";
Para imprimirlo puedes recorrer un array con algun bucle, puede ser FOR, pero la opcion mas recomendada es usar lo que ya existe
printf("Mi texto es: %s", greeting); \*Con printf solo necesitas usar %s y el se encarga de recorrer el array para imprimir*\
para mas informacion:
Buen dato Bhalut
int numElephants=1; int hold=1; while (hold) { printf("\n%d elefantes se columpiaban\nsobre la tela de una araña\ncomo veia que resisitia fueron a llamar otro elefante",numElephants); printf("\nEl elefante se sube, tu decides si aguanta o no\n1)Sigue aguantando\n2)Se rompe la telaraña "); scanf("%d",&hold); numElephants++; if(hold!=1){ printf("Oh nooooo, la telaraña se rompio con %d elefantes\n",numElephants); hold=0; } }``` Este esta divertido :v
A ponerse a practicar
#include <stdio.h>
int number1 = 10; int numberX = 0; int number3 = 30;
int main() { if (number1 <= numberX && numberX <= number3) { printf("El numero esta en el rango deseado"); } else if (number1 > numberX || numberX > number3) { printf("El numero esta fuera del rango"); }
return 0; }
#include <stdio.h>
int number1 = 10; int number2 = 30;
int main() { if (number1 > number2) { printf("El numero es Mayor esta es la diferencia: %d", number1 - number2); } else if (number1 == number2) { printf("El numero es Igual", number1 = number2); } else printf("El numero es Menor esta es la diferencia: %d", number1 - number2);
return 0; }
Con este código pueden convertir caracteres a mayúsculas o minúsculas para los retos.
#include <stdio.h> #include <ctype.h> //Biblioteca que contienen toupper & tolower
int main() { char nombre[] = "tortuga"; char entrada[15]; printf("Introduce tu animal favorito: \n"); scanf("%s",entrada); int i; for (i=0; i<15; i++) //Utilizamos el ciclo ford para connvertir caracter por caracter { entrada[i] = toupper(entrada[i]); // convierte los caracteres en mayusculas }
printf("Este es tu animal %s", entrada); for (i=0; i<15; i++) { entrada[i] = tolower(entrada[i]); // convierte los caracteres en mayusculas } printf("\nEste es tu animal %s", entrada);
}
Sexto nivel: ciclo while, Reto #5.
Revise códigos de otros que trabajaron en C pero no me funcionaron ciertas instrucciones, investigando e intentando muchas veces al punto de casi rendirme lo logre:
#include <stdio.h> #include <ctype.h> #include <string.h> #include <stddef.h> unsigned int secreto, acierto; int intentar; int main (){ srand(time(NULL)); // genera un numero aleatorio caba vez que se ejecuta, // es necesario para que genere otra semilla para # aleatorio secreto = rand() % 100; //Genera un # aleatorio en base a srand o semilla acierto=101; //se inicializa para que este fuera de rango y asi entrar en el bucle while (secreto!=acierto) { //printf("%d \n",secreto); //sirve para verificar el valor del # aleatorio printf("Adivina adivinador que numero genere hoy entre 1 y 100\n"); scanf("%d",&acierto); //printf("%d %d\n",secreto, acierto); while (acierto < 0) acierto *= -1; intentar++; printf("Intento # %d\n",intentar); if (secreto>acierto) { printf("Ingresa otro numero mas grande entre %d y 100\n",acierto); } else if (secreto<acierto) { printf("Ingresa otro numero menor entre 1 y %d\n",acierto); } else { printf("Felicidades acertaste al intento # %d\n El numero secreto es= %d",intentar, secreto); } } }
#include <stdio.h> #include<ctype.h> //Nivel 5 Reto #9 - Recta numérica int limite, si; int main (){ printf("Desea rectanumerica positiva ingrese 1, negativa ingrese 2:\n"); scanf("%d",&si); printf("ingrese el limite de la recta numerica: \n"); scanf("%d",&limite); if(si==1){ printf("Su recta numerica es: "); for (int i = 0; i <= limite; i++) { printf("%d, ",i); } } else { printf("Su recta numerica negativa es: "); for (int i = 0; i >= limite; i--) { printf("%d, ",i); } } }
#include <stdio.h> #include<ctype.h> //Nivel 3 reto 4 char curso[10]; char repet[10]; int rep; int main(){ printf("ingrese el curso: \n"); gets(curso); printf("ingrese el # repeticiones: \n"); gets(repet); printf("Valor: %s\n",repet); rep= atoi(repet); //atoi () convierte un string o cadena a integer o entero printf("En acronimo es:\n"); for (int j = 1; j <= rep; j++) { printf("Repeticion # %d: \n",j); for (int i = 0; i < strlen(curso); i++)//strlen () genera un entero que representa la longitud string { printf("%c\n",curso[i]); } } }
Tercer Nivel, Reto 7, muy divertido
#include <stdio.h> #include <conio.h> #include <string.h> #include <ctype.h> char palabra[10], a[]="ay",b[]="way", c; int d; int main(){ printf("ingrese la palabra: \n"); gets(palabra); if (palabra[0]=='a'|| palabra[0]=='e'||palabra[0]=='i'|| palabra[0]=='o' || palabra[0]=='u'|| palabra[0]=='U'|| palabra[0]=='O'|| palabra[0]=='I'|| palabra[0]=='E' || palabra[0]=='A') { printf("palabra en lenguaje Pig Latin: %s",strcat(palabra,b)); } else{ d=strlen(palabra); c=palabra[0]; printf("%d %c\n",d, c); for (int i = 1; i < d; i++) { palabra[i-1]=palabra[i]; } palabra[d-1]=tolower(c); palabra[0]=toupper(palabra[0]); printf("palabra en lenguaje Pig Latin: %s",strcat(palabra,a)); } }
Venga la práctica hace al maestro
Para que me dejar ingresar strings tuve que activar la libreria conio.h, espero les sirva
#include <stdio.h> #include <conio.h> int n; //char name[20]; //char ap[20]; float a, b, c, d; int main() { printf("Ingrese el 1er valor a sumar"); scanf("%f",&a); printf("Ingrese el 2do valor a sumar"); scanf("%f",&b); printf("Ingrese el 3er valor para mult"); scanf("%f",&d); c=a+b; d=c*d; printf("El resultado de su suma es %.2f", d); //printf("Hola %s %s \n", name, ap); //printf("Platzi cuenta con cursos de:\n Informatica \n Idiomas \nCiencias"); }
CHICOOOS, esto es PARA TRABAJAR CON STRINGS
#include <stdio.h> char nombre[30];//Aqui declaramos una variable de tipo char un tanto diferente //El numero dentro de los corchetes indica cuanto espacio en memoria esta reservando la variable //Creo que funciona como un vector o array int main() { printf("Por favor, ingresa tu nombre: "); scanf("%s", &nombre);//Aqui pedimos el nombre //el %s indica que el dato a leer es del tipo string //&nombre indica que el valor leido se guardara en la variable nombre, declarada mas arriba printf("Hola %s \n", nombre); return 0; }
Espero que les sirva para completar los desafios