Código del ejercicio:
Definición de los códigos del ejercicio:
#include <stdio.h> --> significa "standard input-output header" (cabecera estándar E/S), es un archivo de encabezado que tiene la información necesaria para incluir las funciones relacionadas con la entrada/salida en nuestro programa. Ejemplo printf, scanf, etc.#include <locale.h> --> especificador de configuración regional.
int --> dato entero de 32 bits.
main() --> es la primera función de cada programa C que es responsable de iniciar la ejecución y finalización del programa. Es una función especial que siempre comienza a ejecutar código desde el ' principal ' que tiene ' int ' o ' void ' como tipo de datos de retorno. En otras palabras, una función main() es un punto de entrada del código de programación para iniciar su ejecución.
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
printf() --> permite la aparición de valores numéricos, caracteres y cadenas de texto por pantalla.
scanf() --> permite entrar datos en la memoria del ordenador a través del teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
*= --> el operador de asignación de multiplicación ( *= ) multiplica el valor del operando derecho de una variable y asigna el resultado a la variable.
Explicación del Código:
Este programa muestra los primeros números de la siguiente serie:
2, 3, 6, 7, 14, 15, 30, 31, 62, 63...
La serie se genera alternando dos operaciones:
- Sumar 1
- Multiplicar por 2
Código en C
#include <stdio.h>
#include <locale.h>
int main(){
setlocale(LC_CTYPE, "Spanish");
int vi = 2, c = 0, sw = 1, x;
printf("Ingrese un número: ");
scanf("%i", &x);
while(c != x){
printf("%i,", vi);
if(sw == 1){
vi++;
sw = 0;
}else{
vi *= 2;
sw = 1;
}
c++;
}
return 0;
}
Explicación de Cada Parte del Código
| Código | Explicación |
|---|---|
| #include <stdio.h> | Permite usar funciones de entrada y salida como printf y scanf. |
| #include <locale.h> | Permite configurar el idioma español. |
| setlocale(LC_CTYPE, "Spanish"); | Configura caracteres especiales del idioma español. |
| int vi = 2 | Guarda el valor inicial de la serie. |
| int c = 0 | Variable contador para controlar cuántos números se mostrarán. |
| int sw = 1 | Variable interruptor que alterna entre sumar 1 y multiplicar por 2. |
| int x | Guarda la cantidad de números que ingresará el usuario. |
| printf("Ingrese un número: "); | Muestra un mensaje solicitando un número. |
| scanf("%i", &x); | Lee el número ingresado por el usuario. |
| while(c != x) | Repite el proceso hasta mostrar la cantidad indicada. |
| printf("%i,", vi); | Muestra el número actual de la serie. |
| if(sw == 1) | Verifica si debe sumar 1. |
| vi++; | Incrementa el valor en 1. |
| vi *= 2; | Multiplica el valor por 2. |
| sw = 0 o sw = 1 | Cambia el estado del interruptor para alternar operaciones. |
| c++; | Incrementa el contador. |
| return 0; | Finaliza correctamente el programa. |
Funcionamiento de la Serie
| Paso | Operación | Resultado |
|---|---|---|
| Inicio | Valor inicial | 2 |
| 1 | 2 + 1 | 3 |
| 2 | 3 × 2 | 6 |
| 3 | 6 + 1 | 7 |
| 4 | 7 × 2 | 14 |
| 5 | 14 + 1 | 15 |
| 6 | 15 × 2 | 30 |
El programa alterna entre sumar 1 y multiplicar por 2 para generar toda la serie correctamente.
No hay comentarios.:
Publicar un comentario