Está en la página 1de 11

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA


ELÉCTRICA Y MECATRÓNICA
CÓDIGO :
: MECANICA COMPUTACIONAL I MANUAL DE LABORATORIO 03
ASIGNATURA
Docente (s):
PRIMERA FASE Ing. Henry Christian Zegarra Gago.
Diseño de Algoritmos – Estructura Programación Repetitivas Fecha: 2020.06.02.

I. OBJETIVOS DE LABORATORIO
a. Comprender la necesidad del diseño de algoritmos en el estudio y resolución de
programas.
b. Conocer el entorno de trabajo del Compilador Dev C++.
c. Crear un proyecto en Dev C++.
d. Agregar un archivo de código fuente.
e. Conocer la estructura de un programa en C++.
f. Conocer y comprender el proceso de ejecución de un programa en C++

II. HERRAMIENTAS
1. Computador con DEVC++.
2. Computador con RFFlow.
3. Manual de laboratorio.

III. BIBLIOGRAFIA
[1] R. M. Villalobos, Fundamentos de Programación C++, más de 100 algoritmos
codificados. Macro, 2008.

IV.

Ing. Henry Zegarra G.


APUNTES DE LABORATORIO MECANICA COMPUTACIONAL I PAG 2/ 11

V. MARCO TEÓRICO
4.1 CONCEPTOS BÁSICOS
a. Bucle
Un bucle es una estructura que nos permite repetir un código un número determinado de
veces, es decir hasta que la condición final se cumpla.
b. Condición
Es cualquier expresión que genere un valor lógico de verdadero o falso. Generalmente está
representada por las variables i, j, k, l, … etc. Las condiciones pueden ser de inicio y de fin.
- Una condición de inicio es aquella que da lugar al inicio del bucle, generalmente inicia
en 1 así por ejemplo i=1, indicando que iniciara el primer bucle.
- Una condición final es aquella que hace que el bucle finalice. Para comprobar la
condición se usan los siguientes operadores de relación: >=, >, <=, < o !=.
c. Incremento o decremento
El operador de incremento (++) o decremento (--), actúan sobre una variable, generalmente
incrementa o decrementa una variable en 1, con la finalidad de que la condición final no se
cumpla y el ciclo finalice.

Ejemplo 01: ¿Cuáles son los valores de la condición inicial, final e


incremento o decremento, si el bucle debe de repetirse 4 veces?
Opción 1
- Condición inicial i = 1 Solución
- Condición final i<=4 ejemplo 01

- Incremento i++.

Henry C. Zegarra Gago – 2020


Solución
APUNTES DE LABORATORIO MECANICA COMPUTACIONAL I PAG 3/ 11
ejemplo 01 (Cont.)

Opción 2
- Condición inicial i = 4. Solución
ejemplo 01 (Cont.)
- Condición final i>=1
- Decremento i--.

4.2 CLASIFICACIÓN DE LAS ESTRUCTURAS CÍCLICAS


Por el tipo de cuenta (Ver tabla 01)
PE1_Ins_ Ciclicas.pptx
- Cuenta fija. Se conoce la cantidad de repeticiones del bucle.
- Cuenta variable. No se conoce la cantidad de repeticiones del bucle.
Tabla 1. Clasificación
por tipo de cuenta
Cuenta fija Cuenta variable
Para (for) Mientras (while)

Hacer-Mientras (do-while)

Por tipo de prueba (ver figura 1).


- De prueba preliminar.
- De prueba posterior.
Figura 01.
Clasificación de las
instrucciones cíclicas
por tipo de prueba
False Grupo de
cf
instrucciones
True

Grupo de True
instrucciones cf

False

De prueba preliminar De prueba posterior

4.3 BUCLE DE CONSTRUCCIÓN PARA (FOR).


La instrucción de repetición para (for) es de cuenta fija y de prueba preliminar. El diagrama de flujo y
sintaxis de la instrucción son:

Diagrama de flujo Sintaxis

Henry C. Zegarra Gago – 2020


APUNTES DE LABORATORIO MECANICA COMPUTACIONAL I PAG 4/ 11
Figura 02. Diagrama
de flujo y sintaxis
for (ci;cf;inc/dec) instrucción para (for)
{
<Grupo de instrucciones>;
ci
}

False Nota
cf
True ci  Condición inicial.
cf  Condición final.
Grupo de inc  Incremento.
instrucciones dec  Decremento.

inc/dec

Como vemos la instrucción ‘for’ contiene cuatro partes:

1. Condición inicial: Inicializa la variable de control del bucle. Lo normal es inicializar en este punto
con una sola variable (Generalmente i=1), cuyo valor varía con la parte de incremento o
decremento, según sea.

2. Condición final: Contiene una expresión lógica que hace que el bucle realice las iteraciones
Revisar opera-
dores relacionales y
(repeticiones) de las sentencias, mientras la expresión sea verdadera.
lógicos.

3. Grupo de instrucciones: O acciones que se ejecutaran si la condición final se cumple.

4. Incremento o decremento: Modifica la variable de control (condición inicial) del bucle, en la tabla
2 se muestra algunos ejemplos.

Tabla 02. Ejemplos


Incremento Decremento
de incremento y de-
i++ (i  i+1) i++ (i  i-1) cremento.

ii+2, ii+3, …, ii+n ii-2, ii-3, …, ii-n

Ejemplo 02: Escriba el algoritmo y codificación para imprimir los 5 primeros


números enteros positivos.

- Análisis
Para este caso el bucle for se debe de repetir 5 veces, por lo que:
ci es i=1, cf es i<=5, i++ (incremento de 1 de la variable i). Usaremos la
misma variable i para visualizar.

- Diagrama de flujo - Codificación


// Archivos de cabecera
#include<iostream>
using namespace std;
// Programa principal
void main()

Henry C. Zegarra Gago – 2020


Solución
APUNTES DE LABORATORIO MECANICA COMPUTACIONAL I PAG 5/ 11
ejemplo 02

{
// Declaración de variables
Inicio int i;
// Proceso
cout<<“Imp. numeros: \n”;
Entero i for(i=1;i<=5;i++)
{
// Visualización resultados
cout<<i<<endl;
i=1 }
system(“pause”);
}
False
i<=5
True

i Fin

i++

La instrucción para, también puede funcionar como de cuenta variable.

Ejemplo 03: Escriba el algoritmo y codificación para imprimir los N primeros


números enteros positivos pares.
- Análisis
El bucle se debe de repetir N veces, por lo que: ci es i=1, cf es i<=N, i++
Solución
(incremento de 1 de la variable i). Sabemos que par= 2, entonces, con cada ejemplo 03

ciclo aumentamos en dos la variable par en cada ciclo.


- Diagrama de flujo - Codificación
// Archivos de cabecera
Inicio #include<iostream>
using namespace std;
// Programa principal
Entero i, n, par void main()
{
// Declaración de variables
int i;
"Ingrese número. " // Proceso
cout<<“Imp. numeros: \n”;
// Inicio de bucle
n for(i=1;i<=5;i++)
{
//Visualización
1 resultados
cout<<i<<endl;
}

system(“pause”);
}

Henry C. Zegarra Gago – 2020


APUNTES DE LABORATORIO MECANICA COMPUTACIONAL I PAG 6/ 11

i=1, par=2

False
i<=n

True

par Fin

i++, par par+2

4.4 BUCLE DE CONSTRUCCIÓN WHILE (Mientras).


La instrucción mientras (while) es de tipo preliminar y de cuenta variable. El funcionamiento es
bastante simple, esta instrucción de repetición, contienen una sentencia o grupo de sentencias que
se repiten mientras la condición final se cumpla o sea verdadera.

En el momento en que la condición final sea falsa, la ejecución del bucle finaliza y el programa
continúa con la siguiente instrucción. Esto se puede apreciar en la figura 3.

Diagrama de flujo Sintaxis en código


Figura 03. Diagrama
de flujo y sintaxis
... instrucción mientras
False
cf while (cf) (while).

True {
Grupo Sentencias;
Grupo de }
instrucciones ...

Importante:

En la condición final el
operador de relación
<=, puede variar de
acuerdo al problema.
A continuación, veremos un ejemplo.

Ejemplo 04: Escriba el algoritmo y codificación para dado un número,


devuelva el dígito mayor.

Henry C. Zegarra Gago – 2020


APUNTES DE LABORATORIO MECANICA COMPUTACIONAL I PAG 7/ 11

- Análisis
Ingresar un n (numero entero) e ir dividiendo entre 10 para encontrar r
(residuo), preguntar si r>may (numero mayor de un digito) si es
Solución
verdadero, entonces may r, luego hacemos nn/10 y repetimos el ejemplo 04

ciclo hasta que n sea 0. Finalmente visualizamos may

- Diagrama de flujo - Codificación


// Archivos de cabecera
#include<iostream>
Inicio using namespace std;
// Programa principal
void main()
Entero nro, r, may {
// Declaración de variables
int nro,r,may=0;
// Proceso
"Ingrese número: " cout<<“Ingrese numero: \n”;
cin>>nro;
while(nro>0)
nro {
r=nro%10;
if(r>may)
may=0 may=r;
nro=nro/10;
}
// Visualización de resultado
1 cout<<“Dig.mayor=“<<may<<endl;
system(“pause”);
}

False
nro>0 may

True
Fin
r nro%10

False
r>=may

True

may r

nro nro/10
-

Otra forma de escribir la instrucción mientras (while) es tomando el mismo diagrama de flujo de la
instrucción para (for), esto se aprecia en la figura 4.

Henry C. Zegarra Gago – 2020


APUNTES DE LABORATORIO MECANICA COMPUTACIONAL I PAG 8/ 11

Diagrama de flujo Sintaxis en código Figura 04. Diagrama


de flujo y sintaxis
instrucción mientras
ci
... (while).
ci;
while (<cf)
False
cf {
True Grupo Sentencias;
Inc/Dec;
Grupo de
instrucciones
}
...

inc/dec

El número de repeticiones no depende de las preposiciones dentro del ciclo, sino más bien del
planteamiento del problema o de la lectura que indica el número de iteraciones que debe de
realizarse el bucle.
La estructura mientras se divide en dos partes:
- Repetición del ciclo o bucle.
- Fin del ciclo o bucle.

a. Repetición del ciclo o bucle: Conjunto de instrucciones que se ejecutaran repetidamente, mientras
la condición final (cf) se cumpla.

i = ci;
while (i <= cf) Mientras la condición final se cumpla
{
Grupo Sentencias; Entonces, el bucle se repite.
Inc/dec de i;
}

b. Condición final o de fin de bucle o terminación: La evaluación de esta condición permite decidir
cuándo finalizará la ejecución del ciclo o bucle. La condición es evalúa siempre al inicio del
mismo.

i = ci;
while (i <= cf) Si al evaluar la condición
final, esta no se cumple
{
Grupo Sentencias;
Inc/dec de i;
} // Entonces, el bucle finaliza y continúa el programa

A continuación, se verá algunos ejemplos.

Ejemplo: Realice el diagrama de flujo y codificación para ingresar tres


notas por teclado y hallar el promedio.

Henry C. Zegarra Gago – 2020


APUNTES DE LABORATORIO MECANICA COMPUTACIONAL I PAG 9/ 11

Solución algoritmo. Solución codificación.


// Archivos de cabecera
Inicio
#include<iostream>
using namespace std;
// Programa principal inicio
Real nota, acu, pro int main( )
Entero i {
float nota, acu, pro;
int i;
acu= 0, i = 1 acu =0; i=1;
while (i<=3)
{
cout<<"Ingrese nota "<<i<<": ";
False cin>>nota;
i <=3
acu = acu + nota;
True i++;
}
"Ingrese nota: "
pro=acu/3;
cout<<"Promedio = "<<pro<<endl;
Leer: nota system("pause");
return(0);
}
acu acu + nota
i ++

prom acu/3

"Promedio = " prom

Fin

Pero el programa anterior tiene un problema, que pasa si al ingresar una nota por teclado el usuario
Importante:
ingresa una nota mayor a 20 o menor a 0, esta nota sería acumulada a la variable acu, entonces ¿Qué
Responder a esta
podemos hacer? pregunta en el
cuestionario final

VI. EXIGENCIAS Y REQUERIMIENTOS DEL INFORME

5.1 Las actividades programadas en las guías de laboratorio deberán ser presentadas al momento
de realizar prácticas.

5.2 Todo informe será entregado a la semana de haber finalizado la práctica, este deberá de ser en
formato impreso (desde las actividades), una vez calificado este deber ser subido en formato
digital al aula virtual.

5.3 El informe deberá de contener en forma ordenada el análisis, algoritmo y codificación de las
actividades propuestas, el desarrollo del cuestionario final, así como las conclusiones, siendo
estas de carácter individual.

Henry C. Zegarra Gago – 2020


UNIVERSIDAD CATÓLICA DE SANTA MARÍA
ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA
ELÉCTRICA Y MECATRÓNICA
CÓDIGO :
: MECANICA COMPUTACIONAL I GUÍA DE LABORATORIO 03
ASIGNATURA
Docente (s):
PRIMERA FASE Ing. Henry Christian Zegarra Gago.
Diseño de Algoritmos – Estructura Programación Repetitivas Fecha: 2020.06.02.

Nombres y apellidos :
Código :
Grupo :

VII. ACTIVIDADES A REALIZAR CON DOCENTE


Realice el análisis, algoritmo y codificación (realice comentarios en su codificación) para los
siguientes problemas:

6.1 Que ingresado el número N, saber si es primo o no. (for y while).

Análisis
Diagrama de flujo

Codificación

Interfaz de usuario

6.2 Que ingresado el número N, saber si es un número perfecto o no. (Instruction for y while).
Usando instrucción para.

Análisis
Diagrama de flujo

Codificación

Interfaz de usuario

Usando instrucción mientras.

Análisis
Diagrama de flujo

Codificación

Interfaz de usuario
GUÍA DE LABORATORIO NO 03 MECANICA COMPUTACIONAL I PAG 11/ 11

VIII. PREGUNTA DE EVALUACIÓN

Tome nota de la pregunta realizada por el docente y realice el análisis y diagrama de flujo.

Análisis
Diagrama de flujo

IX. ACTIVIDADES REALIZADAS POR EL ALUMNO

Realice el análisis, algoritmo y codificación (realice comentarios en su codificación) para los


siguientes problemas.

8.1 Investigue sobre la instrucción cíclica hacer-mientras, escriba su diagrama flujo y sintaxis.

Diagrama de flujo Sintaxis

8.2 Modifique el programa de la pregunta 6.1 para que funcione con instrucciones cíclica hacer-
mientras (do-while). Realice la prueba en el diagrama de flujo para cuando N tome un valor
menor a 10.

Análisis
Diagrama de flujo

Codificación

Interfaz de usuario

8.3 Modifique el programa de la pregunta 6.2 para que funcione con instrucciones cíclica hacer-
mientras (do-while). Realice la prueba en el diagrama de flujo para cuando N es igual a 6.

Análisis
Diagrama de flujo

Codificación

Interfaz de usuario

X. CONCLUSIONES (Realice 4 conclusiones)

También podría gustarte