0% encontró este documento útil (0 votos)
201 vistas12 páginas

Guia Lab3 ProgEstru 2019

Este documento presenta una guía de laboratorio sobre el uso de estructuras de control condicionales como if, ifelse y elseif en C. Explica qué son las estructuras de control selectivas y cómo se usan if, if-else y sentencias if-else anidadas. Luego presenta ejemplos de código C que ilustran el uso de estas estructuras para resolver problemas como determinar si un número es par o impar, encontrar el mayor de dos números, e incrementar el precio de un producto según su valor.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
201 vistas12 páginas

Guia Lab3 ProgEstru 2019

Este documento presenta una guía de laboratorio sobre el uso de estructuras de control condicionales como if, ifelse y elseif en C. Explica qué son las estructuras de control selectivas y cómo se usan if, if-else y sentencias if-else anidadas. Luego presenta ejemplos de código C que ilustran el uso de estas estructuras para resolver problemas como determinar si un número es par o impar, encontrar el mayor de dos números, e incrementar el precio de un producto según su valor.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

GUÍA DE LABORATORIO N°- 3

ESTRUCTURA DE CONTROL (if, ifelse, elseif).

OBJETIVO: Uso adecuado de estructuras de control condicionales en


problemas concretos.

TEMPORIZACIÓN:
Inicio de la Práctica: 01 de Abril
Tiempo de Desarrollo de la Práctica de Laboratorio: 2 Sesiones
Semana del 01 al 03 de Abril 2019.

Estructuras algorítmicas selectivas.

Las estructuras lógicas selectivas se utilizan cuando se debe tomar una decisión
en el desarrollo de la solución de un problema. La toma de decisión se basa en la
evaluación de una o más condiciones que nos señala como consecuencia de la
rama a seguir.

Es frecuente que nos encontremos con situaciones en las que debemos tomar
varias decisiones. Cuando esto ocurre, decimos que se realizan en cascada. Es
decir, se toma una decisión, se señala el camino a seguir, nos encontramos con
otra decisión, se marca el siguiente camino, y así sucesivamente. En éstos casos
debemos construir un árbol de decisión para plantear la solución.

Las estructuras algorítmicas selectivas son: if, if–else, switch. Cuando las
estructuras selectivas se aplican en cascada, se utiliza una combinación de las
estructuras señaladas anteriormente.

La estructura selectiva simple if.

La estructura selectiva if permite que el flujo del diagrama siga por un camino
específico si se cumple una condición determinada. Si al evaluar la condición el
resultado es verdadero, entonces se sigue por un camino específico – hacia abajo
– y se ejecuta una operación o acción o un conjunto de ellas. Por otra parte, si el
resultado de la evaluación es falso, entonces se pasa(n) por alto esa(s)
operación(es). En ambos casos se continúa con la secuencia normal del diagrama
de flujo. Observemos la representación gráfica de esta estructura:
En lenguaje C, la estructura selectiva if se escribe de la siguiente forma:

if(<condición>)
<operación>;

Ejemplo:
1.- Leer dos valores numéricos enteros y almacenarlos en dos variablesa yb, mostrando un
mensaje de Verdadero, en que el valor de a es mayor que b.
Pseudocódigo en Pseint
Proceso dosvaloresnumericosEnt
Definir a, b, Como Entero;
Escribir "Ingrese dos numeros := "
Leer a, b;
Si a > b
Escribir "El Numero es Verdadero "
Fin
FinProceso
En Lenguaje C.

Ejemplo N° 1
#include<stdio.h>
int main(intargc, char *argv[]) {
int a, b;
printf("Introduzca dos numeros:= ");
scanf("%d %d", &a, &b);
if (a > b){
printf("El Numero es Verdadero");

} // Para la Segunda Alternativa


/*else
{
printf("El Numero es Falso");
} */
return 0;
}

La estructura selectiva doble if – else.

La estructura selectiva doble if – else, permite que el flujo del diagrama se bifurque
por dos ramas diferentes en el punto de la toma de decisión. Si al evaluar la
condición el resultado es verdadero, entonces se sigue por un camino específico –
el de la izquierda, y se ejecuta una acción determinada o un conjunto de ellas. Si
el resultado de la evaluación es falso, entonces se sigue por otro camino – el de la
derecha, y se realiza(n)otra(s) acción(es). En ambos casos, luego de ejecutar las
acciones correspondientes, se continúa con la secuencia normal del diagrama de
flujo. Observemos la representación gráfica de esta estructura:

En lenguaje C la estructura selectiva doble if – else, se escribe de la siguiente


forma:
if(<condición>)
<operación1>;
else
<operación2>;

Ejemplo:
1.- Leer dos valores distintos y almacenarlos en dos variables de nombre `a' y `b', y
determinar cuál
es el mayor dejando el resultado en una tercera variable de nombre ‘c’.

Pseudocódigo en Pseint
Proceso dosnumerosdistintos
Definir a, b, c Como Real;
Escribir "Ingrese dos números := "
Leer a, b;
Si a > b
c=a
SiNO
c=b
FinSi
Escribir "El Mayor es:= ", c
Fin
FinProceso
En Lenguaje C.

Ejemplo 1
#include<stdio.h>
int main(intargc, char *argv[]) {
float a, b, c;
printf("Ingrese 2 Numeros:= ");
scanf("%f %f", &a, &b);
if (a > b) // Valores de a==20, y b==5
c = a;
else
c = b;
printf("El Mayor es:= %.2f",c);
return 0;
}

Ejemplo2
Transformar en código el siguiente pseudocódigo, relativo a determinar la naturaleza par o
impar de un número.
Nota: El procedimiento a emplear será basado en el uso del operador de módulo, % ó
modulo (mod).

1. Pseudocódigo en Pseint
2. Proceso numeropareimpar
3. Definir Num, Resp Como Entero;
4. Escribir "Ingrese un número entero := "
5. Leer Num;
6. Resp = Num % 2
7. Si (Resp == 0)
8. Escribir “El Numero es Par”
9. SiNo
10. Escribir “El Numero es Impar”
11. FinSi
12. Fin SiNo

Solución
#include <stdio.h>
#include <stdlib.h>
// Ejercicios Resueltos
intmain(intargc, char *argv[]) {
intNum, Res;
printf("Programa para determinar naturaleza par o impar de un numero\n\n");
printf ("Introduzca un numero entero: ");
scanf ("%d", &Num);
Res = Num%2;
if (Res==0) {
printf ("El numero es par\n");
} else { //Esta es la Otra Alternativa
printf ("El numero es impar\n");
}
return 0;
}

Sentencias if – else Anidadas.

Una sentencia if-else es anidada cuando la sentencia de la rama verdadera o la


rama falsa, es a su vez una sentencia if. Una sentencia if-elseanidada se puede
utilizar para implementar decisiones con varias alternativas o multialternativas.

Sintaxis:

if(condición1)
sentencia1
elseif(condición2)
sentencia2
.
.
.
elseif(condición n)
sentencian
else
sentencia e.
Observemos la representación gráfica de esta estructura:

Ejemplo:
1. Escribir un programa, en C, que:
1) Pida por teclado dos números (datos enteros).
2) Calcule la suma y multiplicación de ambos números.
3) Muestre por pantalla:

 "La suma es mayor.", en caso de que sea mayor que la multiplicación de ambos números.
 "La multpilicación es mayor.", en caso de que sea mayor que la suma de ambos números.
 "La suma y multiplicación son iguales.", en caso de que así sea.

En pantalla:

Introduzca primer número (entero): -2


Introduzca segundo número (entero): 3
La suma es mayor.

Introduzca primer número (entero): 2


Introduzca segundo número (entero): 2
La suma y multiplicación son iguales.
#include<stdio.h>
intmain(intargc, char *argv[]) {
int a, b, suma, multiplicacion;
printf( "Introduzca el primer numero (entero): " );
scanf( "%d", &a );
printf( "Introduzca el segundo numero (entero): " );
scanf( "%d", &b );
suma = a + b;
multiplicacion = a * b;

if ( suma >multiplicacion )
printf( "La suma es mayor." );
else
/* Inicio del anidamiento */
if ( multiplicacion> suma )
printf( "La multiplicacion es mayor." );
else
printf( "La suma y multiplicacion son iguales." );
/* Fin del anidamiento */
return 0;
}

Otra Forma
#include<stdio.h>
intmain(intargc, char *argv[]) {
int a, b;
printf( "Introduzca el primer numero (entero): " );
scanf( "%d", &a );
printf( "Introduzca el segundo numero (entero): " );
scanf( "%d", &b );

if ( a + b > a * b )
printf( "La suma es mayor." );
else

/* Inicio del anidamiento */


if ( a * b > a + b )
printf( "La multplicacion es mayor." );
else
printf( "La suma y multiplicacion son iguales." );
/* Fin del anidamiento */

return 0;
}
EJERCICIOS RESUELTOS:

1. En un cierto poblado de los Estados Unidos, una mujer es admisible en el


cuerpo de bomberos si su estatura está entre 65 y 75 pulgadas (1.65 y 1.90
mts.) inclusive.

Pseudocódigo en pseint
Proceso bomberos
Definir estatura Como Real;
definir sexo como caracter;
Escribir "Ingrese el sexo representado con un solo caracter:";
Leer sexo; Escribir "Ingrese la estatura en metros:";
Leer estatura; si (estatura >= 1.65 y estatura <= 1.90) y (sexo = 'F' o sexo = 'f')
Entonces
Escribir "Usted es aceptada en el cuerpo de bomberos";
Fin Si
FinProceso

Diagrama de flujo:

Código en Lenguaje C:
//bomberos.c
#include <stdio.h>
floatestatura;
charsexo;
void main(void)
{
printf("Ingrese el sexo representado con un solo caracter:");
scanf("%c",&sexo);
printf("Ingrese la estatura en metros:");
scanf("%f",&estatura); if ((estatura >= 1.65 && estatura <= 1.90) && (sexo == 'F' || sexo == 'f') )
printf( "Usted es aceptada en el cuerpo de bomberos\n");
}

2. Construye un algoritmo que, al recibir como dato el precio de un producto


importado, incremente 11% el mismo si es inferior a $1500, y 8% si fuera mayor o
igual a dicho precio; además, debe escribir el nuevo precio del producto.

Pseudocódigo en pseint
1. Proceso productoimportado
2. Definir pre, npr Como Real;
3. Escribir "Ingrese el precio del producto: ";
4. Leer pre; si pre < 1500 npr<- pre * 1.11; Sino npr<- pre * 1.08;
5. FinSi
6. Escribir "Nuevo precio del producto: ",npr;
7. FinProceso

Diagrama de flujo:

CódigoenLenguaje C:

#include <stdio.h>intmain(intargc, char *argv[]) {


float pre, npr;
printf("Ingrese el precio del producto: ");
scanf("%f",&pre);
if(pre < 1500)
npr = pre * 1.11;
else
npr = pre * 1.08;
printf("Nuevo precio del producto: %.2f\n",npr);
return 0;
}
3.- Encontrar el menor de tres números(2, 4, 1)

Pseudocódigo en PSeint
Proceso menor
Definir a, b, c, menor como entero;
a <- 2;
b <- 4;
c <- 1;
Si (a < b) Entonces
Si (a < c) Entonces
menor<- a;

Sino
menor<- c;
Sino Si (b < c) Entonces
menor<- b;
Sino
menor<- c;
FinSi
FinSi
FinSi
Escribir "El menor = ",menor;
FinProceso
Diagrama de flujo:

Código en Lenguaje C:
#include<stdio.h>
int main(intargc, char *argv[]) {
int a, b, c, menor;
a = 2;
b = 4;
c = 1;
if (a < b)
if (a < c)
menor = a;
else
menor = c;
else
if (b < c)
menor = b;
else
menor = c;

printf("El menor = %d\n",menor);


return 0;
}
EJERCICIOS PROPUESTOS:

1.-Construya un pseudocódigo y el correspondiente programa en C, que permita calcular


el precio del billete ida y vuelta en ferrocarril, conociendo tanto la distancia entre las dos
ciudades como el tiempo de estancia en la ciudad destino. Si el número de días de
estancia es superior a 10 y la distancia total (ida y vuelta) a recorrer es superior a 500 km,
el precio del billete se reduce 20 %. El precio por km es de $0.19.

2.-Una empresa con tres departamentos tiene establecido un plan de incentivos para sus
vendedores. Al final del período, a cada departamento se le pide el importe global de las
ventas. A los departamentos que excedan el 33% de las ventas totales se les adiciona al
salario de los vendedores un porcentaje equivalente al 20% del salario mensual. Las
nóminas de los tres departamentos son iguales. Si se tienen los siguientes datos:
•Ventas del departamento 1.
•Ventas del departamento 2.
•Ventas del departamento 3.
•Salario de los vendedores de cada departamento.
Hacer un programa en Lenguaje C que determine cuánto recibirán los vendedores de
cada departamento al finalizar el período.

3.-El dueño de una empresa desea planificar las decisiones financieras que tomará en el
siguiente año. La manera de planificarlas depende de lo siguiente: Si actualmente su
capital se encuentra con saldo negativo, pedirá un préstamo bancario para que su nuevo
saldo sea de $10,000. Si su capital tiene actualmente un saldo positivo pedirá un
préstamo bancario para tener un nuevo saldo de $20,000, pero si su capital tiene
actualmente un saldo superior a los $20,000 no pedirá ningún préstamo.

Posteriormente repartirá su presupuesto de la siguiente manera:


•$5,000 para equipo de computo
•$2,000 para mobiliario,
y el resto la mitad será para la compra de insumos y la otra para otorgar incentivos al
personal.
Desplegar que cantidades se destinaran para la compra de insumos e incentivos al
personal y, en caso de que fuera necesario, a cuánto ascendería la cantidad que se
pediría al banco.

También podría gustarte