Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion Practicas
Programacion Practicas
CUADRO DE DATOS:
INSTRUCCIONES:
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de laboratorio con
el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.
De la Institución:
MATERIAL DESCRIPCIÓN
Equipo de Computo Equipo de Computo
IDE Dev-C++
Del alumno:
Memoria USB para almacenar sus programas.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
TEMA DE LA PRÁCTICA
El lenguaje C.
C es un lenguaje de programación de propósito general que ofrece como ventajas una economía en cuanto a la
expresión del control de flujo, conjunto de operadores y estructuras de datos. El Lenguaje C ha evolucionado a
C++ y a otros lenguajes que conservan características de C, como Java.
Palabras reservadas. Las palabras reservadas de C++ son aquellas cuyo significado se encuentra
definido en el lenguaje, estas son las que usamos para escribir las instrucciones de los programas. Se
escriben en minúsculas y son las siguientes:
Identificar las partes que componen un programa en C++, descubrir y arreglar errores de compilación básicos y
familiarizarse con las directivas más comunes.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 1
Paso 2
Una vez terminado de corregir todos los errores, escriba el archivo de salida del proceso de compilación:
__________________________________________________________________________________________
Paso 3
Paso 4
Agregue el código necesario para que el programa despliegue, abajo del mensaje
anterior, su nombre completo y su campus, con el formato que se ve en la imagen.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
__________________________________________________________________________________________
Paso 5
Corríjalo.
CONCLUSIÓN ALUMNO(S).
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
BIBLIOGRAFÍA.
Recursos Tecnológicos
Equipo Autor Título Liga
WEB orwelldevcpp Dev-C++ https://sourceforge.net/projects/orwelldevcpp/
WEB Code reference C Library http://code-reference.com/c
BÁSICA:
Márquez Frausto, Teresa Gabriela; Osorio Ángel, Sonia y Olvera Pérez, Elzie Noemí. (2011). Introducción a la
programación estructurada en C. Edit. Pearson Educación
López Román, Leobardo. (2011). Programación estructurada y orientada a objetos: un enfoque algorítmico. Edit.
Alfaomega.
COMPLEMENTARIA:
CALIFICACIÓN DE LA PRÁCTICA
______________________________________________________________________________________________
______________________________________________________________________________________________
___________________________________ ______________________________________
CUADRO DE DATOS:
INSTRUCCIONES:
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de laboratorio con
el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.
De la Institución:
MATERIAL DESCRIPCIÓN
Equipo de Computo Equipo de Computo
IDE Dev-C++
Del alumno:
Memoria USB para almacenar sus programas.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
TEMA DE LA PRÁCTICA.
Estructura Secuencial.
NOTA: Los tamaños de int, short y long pueden variar dependiendo del compilador.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Declaración de variables.
Consiste en reservar los espacios de memoria que requiere el programa para su ejecución. Una variable solo se
puede declarar una vez en su ámbito y su identificador debe ser único. La sintaxis para la declaración de
variables en C++ es: tipo_dato identificador;
Ejemplo: int x; //Reservar espacio en la memoria para almacenar un entero que se llama
“x”.
float a,b,c; //Reservar espacio para almacenar 3 números reales, referenciados
por “a”, “b” y “c” respectivamente.
1ª ( ) Paréntesis
3ª + - Suma y resta
Cuando se utilizan operadores de diferentes jerarquías en una expresión, primero se calculan las operaciones de
más jerarquía. Si los operadores son de la misma jerarquía la expresión se evalúa de izquierda a derecha.
Salida de datos.
La función printf (incluida en la librería stdio.h) se utiliza para mostrar mensajes y datos a través de la salida
estándar (monitor). Su sintaxis es la siguiente:
printf(“texto y/o formato(s) del tipo de dato”, argumentos);
texto y/o formato(s) del tipo de dato son opcionales dependiendo de lo que se desee mostrar. El
formato es %tipo que indica el tipo de dato a desplegar (en la tabla de tipos de datos en C++
aparecen todos los formatos que se pueden usar).
argumentos es el valor o los valores que se pueden mostrar y pueden ser: variables, constantes,
expresiones aritméticas y resultado de funciones.
Ejemplo:
int n1=5, n2=7; // Inicialización variables.
printf(“Multiplicación \n”); // Salida en pantalla: Multiplicación.
printf(“%d * %d = %d \n”, n1, n2, n1*n2); // Salida en pantalla: 5 * 7 = 35
Entrada de datos.
La función scanf (incluida en la librera stdio.h) se utiliza para leer datos de la entrada estándar (teclado). Su
sintaxis es la siguiente: scanf(“formato de tipo”, &variable);
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
formato de tipo se especifica con los mismos usados en printf e indica el tipo de dato que se recibirá de
entrada.
&variable es un apuntador (&) que hace referencia a la dirección de memoria de la variable donde se
almacenara el dato de entrada.
Identificar los tipos de datos básicos, los operadores y expresiones aritméticas del lenguaje C++, así como su
uso en programas con estructura secuencial.
Paso 1
Abra la aplicación Dev-C++ y seleccione la opción de nuevo archivo fuente (Ctrl+N) y escriba el
siguiente código que calcula el área y perímetro de un polígono regular:
¿Por qué es necesario poner una instrucción printf antes de cada scanf?
Paso 2
1. Por cada error encontrado anote: error, causa y solución.
2. Elimine la línea 4, guarde y compile el programa. ¿Qué error aparece y por qué? (después de realizar esta
prueba, vuelva a colocar la línea 4).
Paso 3
Paso 4
Crear un archivo fuente nuevo (Ctrl+N) que se llame practica2_b.cpp y desarrollar un programa que
calcule el área y volumen de un casquete esférico (requiere librería math.h, que es parte de los temas que
se solicitó investigar para antes de ésta práctica).
1. Escriba la línea de código necesaria para poder usar la librería math.h en su programa.
Paso 5
BIBLIOGRAFÍA
Recursos Tecnológicos
Equipo Autor Título Liga
WEB orwelldevcpp Dev-C++ https://sourceforge.net/projects/orwelldevcpp/
WEB Code reference C Library http://code-reference.com/c
BÁSICA:
Márquez Frausto, Teresa Gabriela; Osorio Ángel, Sonia y Olvera Pérez, Elzie Noemí. (2011). Introducción a la
programación estructurada en C. Edit. Pearson Educación
López Román, Leobardo. (2011). Programación estructurada y orientada a objetos: un enfoque algorítmico. Edit.
Alfaomega.
COMPLEMENTARIA:
CALIFICACIÓN DE LA PRÁCTICA
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
_____________________________________ ______________________________________
CUADRO DE DATOS:
INSTRUCCIONES:
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de
laboratorio con el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.
De la Institución:
MATERIAL DESCRIPCIÓN
Equipo de Computo Equipo de Computo
IDE Dev-C++
Del alumno:
Memoria USB para almacenar sus programas.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
TEMA DE LA PRÁCTICA.
Operador Descripción
< Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
== Igual que
!= diferente
Estos operadores trabajan con dos operandos que pueden ser variables, constantes, expresiones aritméticas o
funciones, y el resultado obtenido es un 1 (verdadero) o 0 (falso). Por ejemplo: a=5 y b=2,
Operación Resultado
a<b Falso (0)
a<=b Falso (0)
a>b Verdadero (1)
a>=b Verdadero (1)
a==b Falso (0)
a!=b Verdadero (1)
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Operadores Lógicos.
Se utilizan para unir más de una condición en una expresión booleana. La siguiente tabla muestra estos
operadores:
Operador Descripción
&& Y (and): el resultado de esta operación será verdadero únicamente cuando ambos
operandos sean verdaderos, en caso contrario, será falsa.
|| O (or): el resultado de esta operación será falsa únicamente cuando ambos operandos
sean falsos, en caso contrario, será verdadera.
! No (not): trabaja solamente con un operando; este operador invierte el valor del
operando, es decir, si el operador es falso el resultado es verdadero, y si el operador es
verdadero el resultado es falso.
Jerarquía de Operadores.
Operadores
( )
!
* / %
+ -
< <= > >=
== !=
&&
||
Operación Resultado
b<a && b==c Falso
b<a || b==c Verdadero
!(b<a && b==c) Verdadero
El trabajo de Bohom y Jacopini demostró que todos los programas podían ser escritos en términos de sólo tres
estructuras de control:
Estas estructuras lógicas de control pueden ser combinados para producir programas que manejen cualquier
tarea de procesamiento de información.
En muchas ocasiones se necesitará ejecutar un conjunto de instrucciones en una situación y otro conjunto de
instrucciones totalmente diferente en otra situación. En estos casos se usan las estructuras de decisión y el
lenguaje C++ cuenta con las siguientes: estructura de control selectiva simple, estructura de control selectiva
doble y estructura de control selectiva múltiple. Además, existe el caso especial switch.
En la práctica 2 se revisó la estructura secuencial. En esta práctica, aprenderán a dar solución a problemas
planteados haciendo uso de la estructura selectiva simple mediante la codificación en C++.
La estructura selectiva simple se utiliza cuando en el desarrollo de la solución de un problema se debe tomar una
decisión, para establecer un proceso o señalar un camino alternativo a seguir.
Estructura selectiva simple (if). Permite que el flujo siga por un camino específico si se cumple una
condición o conjunto de condiciones. Es decir, si la condición es verdadera un conjunto de instrucciones
es ejecutado. Su sintaxis es la siguiente:
if (condición) {
bloque de instrucciones a ejecutar si la condición se cumple
};
Identificar los operadores de comparación, los operadores lógicos y la estructura de decisión simple en el
lenguaje C++, así como su uso en los programas que requieren bifurcaciones.
Paso 1
Abra la aplicación Dev-C++ , seleccione la opción de nuevo archivo fuente (Ctrl+N) y escriba el código del
siguiente problema: “Una distribuidora de tarjetas arduino (placas programables opensource) hace el 15 %
de descuento en la compra de 10 o más tarjetas. Desarrolle un programa que reciba por teclado la
cantidad y precio de las tarjetas, enseguida que calcule y despliegue el total a pagar, y en caso de que
se obtenga descuento desplegar el subtotal y el descuento.”
¿Por qué es recomendable dejar líneas en blanco entre bloques de instrucciones en un programa?
Paso 2
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 3
De las 2 figuras anteriores de la ejecución del programa, explique, de acuerdo a las entradas, el por qué de cada
una.
¿Qué efectos tienen el carácter de escape \t y el formato de tipo $%10.2f en el despliegue de los datos?
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 4.
Abra la aplicación Dev-C++ , seleccione la opción de nuevo archivo fuente (Ctrl+N) y escriba el siguiente
código:
1 // Programación estructurada. Práctica 3_b
2 #include<stdio.h>
3 #define p printf
4 #include<conio.h>
5 #define s scanf
6
7 main() {
8 float calificacion; // declaración variable.
9
10 p("introduce calificacion: ");
11 s("%.2f", &calificacion);
12
13 if (calificacion>=7) //uso if simple.
14 p("Aprobado");
15
16 return(0);
17 }
Paso 5.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 6.
¿Por qué en la instrucción scanf se usa el formato %.2f para la variable calificación?
CONCLUSIÓN ALUMNO(S).
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
BIBLIOGRAFÍA
Recursos Tecnológicos
Equipo Autor Título Liga
WEB orwelldevcpp Dev-C++ https://sourceforge.net/projects/orwelldevcpp/
WEB Code reference C Library http://code-reference.com/c
BÁSICA:
Márquez Frausto, Teresa Gabriela; Osorio Ángel, Sonia y Olvera Pérez, Elzie Noemí. (2011). Introducción a la
programación estructurada en C. Edit. Pearson Educación
López Román, Leobardo. (2011). Programación estructurada y orientada a objetos: un enfoque algorítmico. Edit.
Alfaomega.
COMPLEMENTARIA:
CALIFICACIÓN DE LA PRÁCTICA
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
_____________________________________ ______________________________________
CUADRO DE DATOS:
INSTRUCCIONES:
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de
laboratorio con el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.
De la Institución:
MATERIAL DESCRIPCIÓN
Equipo de Computo Equipo de Computo
IDE Dev-C++
Del alumno:
Memoria USB para almacenar sus programas.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
TEMA DE LA PRÁCTICA.
La estructura selectiva doble permite que el flujo se bifurque por dos ramas diferentes en el punto de la toma de
decisiones. Si la condición se cumple entonces sigue un camino específico y se ejecutan ciertas operaciones;
sino se cumple, entonces se sigue por otro camino y se ejecutan otras operaciones. En ambos casos, luego de
ejecutarse las operaciones indicadas, se continúa con la secuencia normal del programa.
Identificar la estructura de decisión o selección doble en el lenguaje C++, así como su uso en los programas que
requieren bifurcaciones para establecer controles en la ejecución de un programa.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 1.
Crear archivo fuente nuevo (Ctrl+N) que se llame practica4.cpp. Escribir el código del siguiente
problema: “Hacer un programa que resuelva la fórmula general cuadrática, introduciendo los
valores a, b y c por teclado, y calculando el valor de x1 y x2, los cuales indican en que puntos el
eje de las x es interceptado por la curva, pero si la curva nunca toca el eje de las x, desplegar
que el resultado es imaginario (para saber si el resultado no es imaginario el discriminante b2-
4ac debe ser positivo).”
Paso 2.
Paso 3.
Abra la aplicación Dev-C++ , seleccione la opción de nuevo archivo fuente (Ctrl+N) y escriba el siguiente
código:
4 // Programación estructurada. Práctica 4_b
5 #include<stdio.h>
6 #define p printf
4 #include<conio.h>
5 #define s scanf
6
7 main() {
8 int num; // declaración variable.
9
10 p("introduce un número: ");
11 s("%i", &num);
12
13 if (num%2 == 0) //el %2 se refiere al residuo de dividirlo entre dos
14 p("el número es par");
15 else
16 p("el número es impar");
17
18 return(0);
19 }
Paso 4.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 5.
Ejecute el programa (F10)
__________________________________________________________________________________________
Paso 6.
CONCLUSIÓN ALUMNO(S).
BIBLIOGRAFÍA
Recursos Tecnológicos
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
BÁSICA:
Márquez Frausto, Teresa Gabriela; Osorio Ángel, Sonia y Olvera Pérez, Elzie Noemí. (2011). Introducción a la
programación estructurada en C. Edit. Pearson Educación
López Román, Leobardo. (2011). Programación estructurada y orientada a objetos: un enfoque algorítmico. Edit.
Alfaomega.
COMPLEMENTARIA:
CALIFICACIÓN DE LA PRÁCTICA
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
_____________________________________ ______________________________________
CUADRO DE DATOS:
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
INSTRUCCIONES:
No. CUENTA NOMBRE DE LOS PARTICIPANTES
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de
laboratorio con el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.
De la Institución:
MATERIAL DESCRIPCIÓN
Equipo de Computo Equipo de Computo
IDE Dev-C++
Del alumno:
Memoria USB para almacenar sus programas.
TEMA DE LA PRÁCTICA.
La estructura selectiva múltiple permite que el flujo se bifurque por varias ramas diferentes en el punto de la toma
de decisiones. Si la condición se cumple entonces sigue un camino específico y se ejecutan ciertas
instrucciones. Si todas las condiciones son falsas, entonces se finaliza con un else que contendrá instrucciones
a ejecutar para ese caso. En ambos casos, luego de ejecutarse las instrucciones indicadas, se continúa con la
secuencia normal del programa.
Decisión Múltiple (if-elseif-else). En esta estructura se cuenta con varias condiciones y únicamente la
primera condición verdadera que encuentre, es el bloque de instrucciones asociadas que se ejecutara.
Opcionalmente puede tener un bloque else, el cual se ejecutará si todas las condiciones fueron falsas.
Su sintaxis es la siguiente:
if (condición1) {
bloque de instrucciones a ejecutar si la condición1 se cumple
}
else if (condición2) {
bloque de instrucciones a ejecutar si la condición2 se cumple
}
… … …
else if (condiciónN) {
bloque de instrucciones a ejecutar si la condiciónN se cumple
}
else {
bloque de instrucciones a ejecutar si ninguna de las condiciones anteriores
se cumple
}
Identificar la estructura de decisión o selección múltiple en el lenguaje C++, así como su uso en los programas
que requieren bifurcaciones para establecer controles en la ejecución de un programa.
Paso 1.
Crear un archivo fuente nuevo (Ctrl+N) que se llame practica5.cpp. Escriba el código del siguiente
problema: “La edad de Hugo, Paco y Luis es introducida vía el teclado. Escriba un programa que
determine cuál es el más joven de los 3. (Los datos introducidos deberán ser diferentes para que la
solución a este problema sea válida).
Paso 2.
1. Compilar y corregir errores hasta que el programa se ejecute y realice correctamente la tarea
asignada.
2. Agregar código necesario para que el programa determine cuando 2 o 3 personas tengan la misma
edad.
CONCLUSIÓN DE ALUMNO(S)
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
BIBLIOGRAFÍA
Recursos Tecnológicos
Equipo Autor Título Liga
WEB orwelldevcpp Dev-C++ https://sourceforge.net/projects/orwelldevcpp/
WEB Code reference C Library http://code-reference.com/c
BÁSICA:
Márquez Frausto, Teresa Gabriela; Osorio Ángel, Sonia y Olvera Pérez, Elzie Noemí. (2011). Introducción a la
programación estructurada en C. Edit. Pearson Educación
López Román, Leobardo. (2011). Programación estructurada y orientada a objetos: un enfoque algorítmico. Edit.
Alfaomega.
COMPLEMENTARIA:
CALIFICACIÓN DE LA PRÁCTICA
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
_____________________________________ ______________________________________
CUADRO DE DATOS:
INSTRUCCIONES:
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de
laboratorio con el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.
De la Institución:
MATERIAL DESCRIPCIÓN
Equipo de Computo Equipo de Computo
IDE Dev-C++
Del alumno:
Memoria USB para almacenar sus programas.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
TEMA DE LA PRÁCTICA
Switch.
La instrucción switch es una estructura de decisión múltiple que prueba si una expresión coincide con uno de
varios valores constantes enteros y ejecuta las instrucciones siguientes hasta que encuentre una sentencia
break. Opcionalmente se puede usar default cuando ninguno de los otros valores se satisface. Su sintaxis es:
switch (expresión) {
case constante1: instrucciones1
break;
case constante2: instrucciones2
break;
…
default: instrucciones
}
Cuando necesite elegir uno entre una cantidad de alternativas, use la instrucción switch. La expresión a evaluar
debe dar como resultado un entero.
Operador Condicional.
También llamado operador ternario debido a que tiene 3 argumentos, es una forma de abreviar una instrucción
if-else. Su sintaxis es: variable = (condición ? expresion1:expresion2);
La instrucción indica que, si la condición es verdadera, el valor retornado será expresion1, de lo contrario el
valor retornado será expresion2.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Identificar la sentencia switch y el operador condicional del lenguaje C++, así como su uso en los programas que
requieran bifurcaciones.
Paso 1
Abra la aplicación Dev-C++ y seleccione la opción de nuevo archivo fuente (Ctrl+N). Escriba el siguiente código
que resuelve el problema siguiente: “Desarrollar un programa que lea el número del mes por teclado y
despliegue el nombre del mes (ejemplo: si introduce 5, se desplegará Mayo).
Paso 2
Paso 3
2. Elimine la línea 10, guarde, compile, ejecute el programa e introduzca el número 1. ¿Por qué el programa
produce esa salida? (después de realizar esta prueba, vuelva a colocar la línea 10).
__________________________________________________________________________________________
__________________________________________________________________________________________
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 4
Crear archivo fuente nuevo (Ctrl+N) que se llame practica5_b.cpp. Escriba el siguiente código que hace
referencia y da solución al problema planteado a continucación: “Una tienda en línea vende memorias
USB de 32GB de capacidad. El precio depende de la cantidad que se compre: De 1-10 memorias: $300;
más de 10 memorias: $250. Realizar un programa que introduzca la cantidad de memorias a comprar por el
teclado y calcule la cantidad a pagar usando el operador condicional.”
Paso 5
Realizar proceso de compilación y corrección de errores hasta que el programa realice correctamente la
tarea asignada.
CONCLUSIÓN ALUMNO(S).
BIBLIOGRAFÍA
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Recursos Tecnológicos
Equipo Autor Título Liga
WEB orwelldevcpp Dev-C++ https://sourceforge.net/projects/orwelldevcpp/
WEB Code reference C Library http://code-reference.com/c
BÁSICA:
Márquez Frausto, Teresa Gabriela; Osorio Ángel, Sonia y Olvera Pérez, Elzie Noemí. (2011). Introducción a la
programación estructurada en C. Edit. Pearson Educación
López Román, Leobardo. (2011). Programación estructurada y orientada a objetos: un enfoque algorítmico. Edit.
Alfaomega.
COMPLEMENTARIA:
CALIFICACIÓN DE LA PRÁCTICA
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
_____________________________________ ______________________________________
CUADRO DE DATOS:
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
INSTRUCCIONES:
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de
laboratorio con el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.
De la Institución:
MATERIAL DESCRIPCIÓN
Equipo de Computo Equipo de Computo
IDE Dev-C++
Del alumno:
Memoria USB para almacenar sus programas.
TEMA DE LA PRÁCTICA
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Estructuras de Repetición.
Una estructura de control repetitiva (o iterativa o cíclica) permite repetir un bloque de instrucciones. La repetición
es controlada por una condición booleana. La iteración es definida cuando se conoce de antemano el número
de repeticiones a ejecutar, en caso contrario es indefinida. El lenguaje C++ cuenta con tres ciclos: while, do-
while y for.
Los 3 ciclos pueden usarse indiscriminadamente en ciertos casos. Lo ideal es usar for cuando la repetición es
definida y, while y do-while cuando la repetición es indefinida. El ciclo while se puede usar en cualquier
caso que se requiera repetición, pero los otros dos (do-while y for) facilitan la repetición en casos particulares.
Cuando se utilizan ciclos es muy común manejar contadores, acumuladores y centinelas, los cuales son
variables que permiten registrar información relevante para el control del ciclo o para el proceso que se está
realizando.
Un acumulador es una variable que tiene un valor inicial generalmente de 0 (hay ocasiones particulares que se
le da otro valor) y va acumulando (sumando o cualquier operación aritmética) números (que pueden tener
cualquier valor).
Un centinela (o bandera) es una variable que la iniciamos en un valor fijo (0 o cualquier valor que nos
convenga) y cuando cambia de valor nos sirve como aviso de que algún suceso pasó; se puede usar para
controlar un ciclo que no está condicionado por el número de veces que se repite.
while.
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
En el ciclo while, la repetición se realizará tantas veces como la condición sea verdadera. La cantidad de
repeticiones puede ser definida o indefinida. Su sintaxis es la siguiente:
expresion1;
while (condición) {
bloque de instrucciones;
expresion2;
}
En el ciclo while se puede dar el caso de que no se repita ninguna vez, si la condición desde un inicio es falsa.
do-while.
Funciona de manera similar al ciclo while, pero la condición de continuación del ciclo se prueba al final, por lo
que al menos se repite una vez. Su sintaxis es la siguiente:
expresion1;
do {
bloque de instrucciones;
expresion2;
} while (condición);
for.
El ciclo for se utiliza comúnmente cuando la repetición está definida. Es la mejor estructura cuando se requiere
controlar la ejecución por medio de un contador. Su sintaxis es la siguiente:
La instrucción break permite salirnos del ciclo sin necesidad de esperar a que la condición de control sea falsa.
La instrucción continue permite regresar al inicio del ciclo sin necesidad de esperar a que termine de ejecutar
todas las instrucciones que aún no se han ejecutado dentro del cuerpo del ciclo. Comúnmente estas dos
instrucciones se usan dentro de una sentencia if.
Ciclos anidados.
Estos no son otra estructura más, sino que se refiere a que dentro del bloque de instrucciones de un ciclo puede
estar otro ciclo. Su funcionamiento es por cada repetición del ciclo exterior, el interior debe terminar todas sus
repeticiones. Por ejemplo:
for (int i=1 ; i<=10; i++) {
for (int j=1; j<=5; j++) {
printf(“%d %d \n”,i,j);
}
}
Lo que hace este extracto de programa es que, por cada repetición del ciclo externo, el ciclo interno se repite 5
veces, y debido a que el ciclo externo se repite 10, en total el número de líneas que imprimirá este código es de
50.
Se puede anidar cualquier tipo de ciclo dentro de otro, no tiene que ser el mismo tipo como en el ejemplo.
Identificar las estructuras de repetición en lenguaje C++, así como su uso en los programas que requieran ciclos
normales y anidados.
Paso 1
Abra la aplicación Dev-C++ y seleccione la opción de nuevo archivo fuente (Ctrl+N). Escriba el código que
resuelve el siguiente problema: “Escriba un programa que calcule el factorial de cualquier número
introduzca por el teclado. El factorial de un entero positivo n se define en principio como el producto de
todos los números enteros positivos desde 1 hasta n. Por ejemplo, 5 ! = 1 × 2 × 3 × 4 × 5 = 120”. (Se utiliza la
estructura while para su solución).
Paso 2
Paso 3
Si se introduce el número 5 ¿Qué valor tiene la variable cont al salirse del ciclo?
Paso 4
Crear archivo fuente nuevo (Ctrl+N) que se llame practica7b.cpp y escriba el código que da solución al
siguiente problema: “Realizar un programa que calcule el promedio de las calificaciones introducidas por
teclado (como el número de calificaciones es indefinido, para que el programa se detenga de pedirlas se
deberá introducir un -1)”. [Se utiliza la estructura do-while para su solución].
Paso 5
Realizar el proceso de compilación y corrección de errores hasta que el programa se ejecute y realice
correctamente la tarea asignada.
¿Por qué al salirse del ciclo se decrementa n e incrementa suma (líneas 13 y 14)?
Paso 6
Crear archivo fuente nuevo (Ctrl+N) que se llame practica7c.cpp y escriba el código que da solución al
siguiente problema: “Realizar un programa que calcule el promedio de 5 calificaciones introducidas por
teclado. “ (Se utiliza la estructura for para su solución).
¿Cuál es la variable contador y que valor debe tener para que el ciclo termine?
__________________________________________________________________________________________
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 7
Realizar el proceso de compilación y corrección de errores hasta que el programa se ejecute y realice
correctamente la tarea asignada.
Modifique el programa para que pueda calcular el promedio de n calificaciones, introduciendo por teclado
la variable n (la cual indicará cuantas veces se repetirá el ciclo) antes de iniciar el ciclo for (ver la siguiente
figura). Realizar el proceso de compilación y corrección de errores hasta que el programa lleve a cabo
correctamente la tarea asignada.
Paso 8.
Abra la aplicación Dev-C++ y seleccione la opción de nuevo archivo fuente (Ctrl+N). Escriba el código que
resuelve el siguiente problema: “Escribir un programa que lea un número introducido por teclado y
determine si es primo o no. (Nota: un número primo N es aquel que solo es divisible entre 1 y el mismo. Un
algoritmo ineficiente prueba dividir desde el numero de 2 hasta N-1, pero solo es requerido probar hasta √𝑁.
Si se encuentra un divisor no es primo, de lo contrario si lo es.”
¿Qué valor debe tener la variable centinela para detectar que el número es primo?
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 9.
Si el numero introducido es el 5171 ¿Hasta qué número intentara encontrar un divisor el programa?
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 10.
Realizar las siguientes modificaciones para que ahora imprima todos los números primos que se encuentren
entre el 1 y 300. El programa anterior encontraba si un número era primo, lo que se debe hacer es meter
parte de ese código dentro de un ciclo que vaya desde el 2 al 300 y el número que se probara es el
contador del ciclo exterior.
¿Por qué la variable centinela se inicializa ahora antes del ciclo for interno y no en la declaración como en el
paso anterior?
Paso 11.
Realizar el proceso de compilación y corrección de errores hasta que el programa haga correctamente la
tarea asignada.
CONCLUSIÓN ALUMNO(S).
BIBLIOGRAFÍA
Recursos Tecnológicos
Equipo Autor Título Liga
WEB orwelldevcpp Dev-C++ https://sourceforge.net/projects/orwelldevcpp/
WEB Code reference C Library http://code-reference.com/c
BÁSICA:
Márquez Frausto, Teresa Gabriela; Osorio Ángel, Sonia y Olvera Pérez, Elzie Noemí. (2011). Introducción a la
programación estructurada en C. Edit. Pearson Educación
López Román, Leobardo. (2011). Programación estructurada y orientada a objetos: un enfoque algorítmico. Edit.
Alfaomega.
COMPLEMENTARIA:
CALIFICACIÓN DE LA PRÁCTICA
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
_____________________________________ ______________________________________
CUADRO DE DATOS:
190044105
190056428
190060828
190020759
INSTRUCCIONES:
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de laboratorio con
el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.
De la Institución:
MATERIAL DESCRIPCIÓN
Equipo de Computo Equipo de Computo
IDE Dev-C++
Del alumno:
Memoria USB para almacenar sus programas.
TEMA DE LA PRÁCTICA
Funciones.
Una función es un bloque de código que tiene un nombre y realiza una tarea específica. La función debe ser
invocada por su nombre para ser ejecutada, comúnmente desde la función main, pero puede ser desde
cualquiera. Todas las funciones deben estar definidas antes del main().
Donde: tipo_de_dato.- es el tipo de dato del valor que va a retornar la función, se usa void si no
retorna un valor.
Parámetros.- estos son los datos que requiere la función para realizar su tarea, son
opcionales, tienen el siguiente formato: tipo1 paremetro1, tipo2 parametro2, …, tipoN
parametroN.
return dato.- devuelve el resultado de la función. Si el tipo_de_dato es void, se omite
esta línea.
Paso de parámetros:
a) Por valor. Aquí, las funciones invocadas reciben a través de los parámetros una copia del contenido
de los argumentos y no tienen la capacidad de modificar su valor real. El formato de este tipo de
parámetros es: tipo1 paremetro1.
b) Por referencia. Aquí, las funciones invocadas reciben la dirección de memoria de los argumentos, por
lo que pueden modificar los valores de las variables originales. Para esto se tienen que utilizar los
operadores & y *. El operador & se antepone a una variable dando con ello acceso a su posición de
memoria, se utiliza cuando se invoca la función para pasarle la dirección de memoria a los
parámetros. El operador * es un apuntador a la dirección de la variable pasada como argumento.
Este operador debe usarse en la declaración del parámetro y cada vez que se use el parámetro en el
cuerpo de la función.
Si se declara una variable dentro de una función, es local a la función, es decir, esa variable existe solo
dentro de esa función. Su valor solo se mantiene, mientras la función se esté ejecutando.
Si se declara una variable fuera de todas las funciones, es global, es decir, todas las funciones pueden usarla y
su valor se mantendrá durante toda la ejecución del programa. Se recomienda tener cuidado al usar este tipo de
variables.
Paso 1
Abra la aplicación Dev-C++, seleccione la opción de nuevo archivo fuente (Ctrl+N) y codifique el siguiente problema: “Escriba
un programa que presente un menú con las siguientes opciones: 1.- Duplicar el valor de un número, 2.-Calcular el factorial
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
de un número y 3.-Salir. El usuario seleccionará opción, misma que se ejecutará y al terminar deberá regresar al menú. Así
sucesivamente hasta que el usuario seleccione la opción Salir.”
•menú, el cual presentará el menú y dará entrada a la opción que elegirá el usuario
•duplicar valor, calculara el doble del valor de un número
•factorial, calculara el factorial de un número
•main(), llamará a todas las demás funciones
Tecnológico en Programación 2020
Cuadernillo de Prácticas del Alumno
Paso 2
Compile programa (F9).
Paso 3
Por cada función indique si su paso de parámetros es por valor o por referencia.
______________________________________________________________________________________
Paso 4
Agrege la opción: 3-Numero primo, y modifique el programa siguiendo las siguientes indicaciones:
Agrege una función llamada primo, que recibirá como parámetro el número a verificar si es primo; la
función retornara un 1 si es primo, o un 0 en caso contrario.
Modifique la función menu, para que ahora imprima la opción 3.
Modifiquea la función main, agregándole el case para la opción 3, pida por teclado el número a
verificar, invocar la función primo, y por medio de una estructura if-else, condicionando su valor de
retorno imprima si es primo o no el numero introducido.
Paso 5
Paso 6
Abra la aplicación Dev-C++, seleccione la opción de nuevo archivo fuente (Ctrl+N) y codifique el siguiente programa:
#include<stdio.h>
#include<conio.h>
void duplicar (int *num) // función duplicar. Recibe como E y S la variable a duplicar.
{
*num = (*num) * 2;
}
do
{ opc = menu();
switch(opc)
{ case 1: printf(“Introduzca un número a duplicar: “);
scanf(“%d”, &num);
duplicar(&num);
printf(“El doble del número que introdujo es: %d “, num );
break;
case 2: printf(“Introduzca un número para calcular su factorial: “);
scanf(“%d”, &num);
printf(“El factorial del número que introdujo es: %.1f \n“, factorial(num) );
break;
case 3: printf(“Fin programa. \n”);
break;
default: printf(“¡ Opción no válida ! \n “);
}
system(“PAUSE”);
} while (opc =! 0);
return 0;
}
Comparando el código del primer programa con este último, ¿qué diferencia encuentra en ambos
códigos? __________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
__________________________________________________________________________________________
Este último programa, ¿arroja resultado diferente al primer programa de esta práctica?
__________________________________________________________________________________________
BIBLIOGRAFÍA
Recursos Tecnológicos
Equipo Autor Título Liga
WEB orwelldevcpp Dev-C++ https://sourceforge.net/projects/orwelldevcpp/
WEB Code reference C Library http://code-reference.com/c
BÁSICA:
Márquez Frausto, Teresa Gabriela; Osorio Ángel, Sonia y Olvera Pérez, Elzie Noemí. (2011). Introducción a la
programación estructurada en C. Edit. Pearson Educación
López Román, Leobardo. (2011). Programación estructurada y orientada a objetos: un enfoque algorítmico. Edit.
Alfaomega.
COMPLEMENTARIA:
CALIFICACIÓN DE LA PRÁCTICA
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
_____________________________________ ______________________________________