Sei sulla pagina 1di 101

Programación estructurada

1. Definición

La programación estructurada es un conjunto de técnicas utilizadas para escribir programas de forma clara.

La programación estructurada se basa en el diseño descendente, esto es, se plantea una operación como un todo y se divide en segmentos más sencillos o de menor complejidad, facilitando así el desarrollo de un programa; una vez terminado todos los segmentos del programa se procede a unirlos.

La programación estructurada logra minimizar la complejidad y errores de los programas.

La principal desventaja de la programación estructurada, es que en el momento de hacerse demasiado grande puede resultar bastante problemático su manejo, ya que todo se constituye en un solo bloque.

Utiliza únicamente tres estructuras: la secuencial, la selectiva y la iterativa.

2. Estructura secuencial

Se representa por una sentencia ó un conjunto de sentencias (a la que en adelante llamaremos acción) que se ejecutan una a continuación de otra a modo de secuencia. Las sentencias se suceden de tal modo que la salida de una es la entrada de la siguiente, y así sucesivamente hasta finalizar el algoritmo. Su sintaxis es:

Pseudocodigo

Diagrama de flujo

Inicio

 
inicio Accion1 Accion2
inicio
Accion1
Accion2
 
 

Acción1

Acción2

.

.

.

.

AcciónN

.

Fin

.

AccionN
AccionN

Fin

 

2.1. Ejercicios resueltos

Ejemplo 01 Pseudocódigo para sumar dos números.

Lectura de datos

nro1, nro2

suma nro1 + nro2
suma nro1 + nro2
suma nro1 + nro2

suma

suma nro1 + nro2

nro1 + nro2

suma nro1 + nro2
suma nro1 + nro2

Impresión de datos

suma

Variables a utilizar en el pseudocódigo

nro1

primer número

nro2

segundo número

suma

suma dos números

Inicio // Definir variables entero: nro1, nro2, suma // Lectura de datos Escribir (Ingresar dos valores”) Leer (nro1, nro2) // Calcular suma suma nro1 + nro2 Escribir (“La suma de ambos números es: ” , suma)

Fin

Explicación Los Pseudocódigos están delimitados por las palabras: Inicio y Fin. Los comentarios son mensajes de texto opcionales que se utiliza para documentar un programa haciéndolo fácilmente entendibles a los lectores. Empieza con los caracteres //seguido a continuación del comentario deseado. En nuestro ejemplo se ha utilizado:

// Definir e inicializar variables // Lectura de datos // Calcular suma Se definen todas las variables que se van a utilizar en el desarrollo del algoritmo. En nuestro ejemplo:

entero: nro1, nro2, suma Aqui se define el tipo de dato de las variables y a continuación la lista de variables separadas por comas. Se utiliza la palabra Leer para introducir el valor de una variable a través del teclado o algún otro medio. En nuestro ejemplo:

Leer (nro1, nro2) Se asigna un valor a una variable, a través del símbolo flecha ( ) que dice que el valor a la derecha tiene que ser asignado a la variable que esta a la izquierda. En nuestro ejemplo:

suma nro1 + nro2 Se suman los números nro1 y nro2 utilizando el operador “+”. Luego este resultado es asignado a la variable suma. Se usa la palabra Escribir para identificar una salida estándar a través del monitor o consola. En nuestro ejemplo:

Escribir (“La suma de ambos números es: ”, suma) De esta forma, se muestra en la pantalla el siguiente texto: La suma de ambos números es: , en este caso el operador “,” une el texto La suma de ambos números es: con el contenido de la variable suma.

Ejemplo 02 Pseudocódigo para calcular el área de un rectángulo, donde la base y la altura serán ingresados. La fórmula es:

area = base * altura

Lectura de datos

base, altura

area base * altura

area

base * altura

area base * altura

Impresión de datos

area

Variables a utilizar en el pseudocódigo

base

base del rectángulo

altura

altura del rectángulo

area

área del rectángulo

Inicio // Definir variables entero: base, altura, area

Fin

// Lectura de datos Escribir (Ingrese la base y la altura”) Leer (base, altura) // Proceso: calculo del area

area

// Salida de resultados Escribir (El área del rectángulo es ”,area)

base * altura

Ejemplo 03 Pseudocódigo para determinar la suma de las cifras de un número entero positivo de 3 cifras. Por ejemplo para sumar las cifras del número 257 se tiene:

2 + 5 + 7 = 14 Para obtener cada cifra del número será necesario realizar divisiones sucesivas entre 10.

Lectura de datos

Impresión de datos

nro

 

unidades

nro Mod 10 nro Div 10 nro Mod 10 nro Div 10 nro Mod 10

nro

decenas

nro

centenas

suma

unidades + decenas + centenas

suma

Variables a utilizar en el pseudocódigo

nro

número ingresado de tres dígitos

suma

suma de los dígitos del número

unidades

unidades del número

decenas

decenas del número

centenas

centenas del número

Inicio // Definir e inicializar variables entero: nro, unidades, decenas, centenas, suma // Lectura de datos Leer (nro) // Proceso de cálculo

unidades

nro

decenas

nro

nro Mod 10

nro Div 10

nro Mod 10

nro Div 10

0

centenas

nro Mod 10

suma

unidades + decenas + centenas

// Salida de resultados Escribir (“La suma de los dígitos es ”, suma)

Fin

Ejemplo 04 Pseudocódigo para sumar dos tiempos dados en horas, minutos y segundos.

Por ejemplo:

Tiempo 1 = 8:15:56 Tiempo 2 = 10:58:43

1

1

8

:

15

:

56

10

:

58

:

43

19

74

60

99

60

60

1

60

1

19

:

14

:

39

Para el desarrollo del pseudocódigo se suman los segundos de los dos tiempos, el resultado de esta suma se divide entre 60, siendo el residuo de esta división el total de segundos y el cociente se suma a los minutos, de igual forma se realiza la suma de los minutos, el resultado de esta suma se divide entre 60, siendo el residuo de la división el total de minutos y el cociente se suma a las horas.

Lectura de datos

Impresión de datos

   

seg

seg1 + seg2 seg Div 60 seg Mod 60

 

hor1, min1, seg1 hor2, min2, seg2

llevaMin

seg

hor, min, seg

 

min

llevaMin + min1 + min2

llevaHora

min Div 60 min Mod 60

min

hor

llevaHora + hor1 + hor2

Variables a utilizar en el pseudocódigo

hor1

horas del primer tiempo

min1

minutos del primer tiempo

seg1

segundos del primer tiempo

hor2

horas del segundo tiempo

min2

minutos del segundo tiempo

seg2

segundos del segundo tiempo

llevaMin

minutos que se lleva

llevaHora

hora que se lleva

hor

horas resultante

min

minutos resultante

seg

segundos resultante

Inicio // Definir variables entero: hor1, min1, seg1, llevaMin,hor2, min2, seg2, llevaHora, hor, min, seg // Lectura de datos Escribir (Ingresar primer tiempo”) Leer (hor1, min1, seg1) Escribir (Ingresar segundo tiempo”) Leer (hor2, min2, seg2) // Determina la cantidad total de segundos entre los dos tiempos seg seg1 + seg2 llevaMin seg Div 60 seg seg Mod 60 min llevaMin + min1 + min2

llevaHora

min Div 60

min

min Mod 60

hor

llevaHora + hor1 + hor2

// Salida de resultados Escribir (“La suma de los 2 tiempos es , hor, min, seg)

Fin

Ejemplo 05 Pseudocódigo que permita pasar de grados centígrados a grados Farenheit sabiendo que:

º F

9 º C

5

32

El siguiente cuadro muestra resultados con datos de prueba, para diferentes valores de la variable centi.

centi

faren

10

50

20

68

30

86

40

104

Lectura de datos

centi

faren 9/5*centi +32
faren 9/5*centi +32
faren 9/5*centi +32

faren

faren 9/5*centi +32

9/5*centi +32

faren 9/5*centi +32
faren 9/5*centi +32

Variables a utilizar en el pseudocódigo

Impresión de datos

faren

centi

medida ingresada en centígrado

faren

medida en farenheit

Inicio // Definir variables real: centi, faren // Lectura de datos Escribir (Ingresar grados centígrados”)

Fin

Leer (centi) // Proceso de cálculo: conversión de temperatura

faren

// Salida de resultados Escribir (centi, centígrado equivale a ”, faren, Farenheit“)

9 / 5 * centi +32

Ejemplo 06 Pseudocodigo calcular la suma de los nprimeros números naturales. Emplear la fórmula:

suma

n(n 1)

2

Lectura de datos

Impresión de datos

nro

suma nro*(nro+1)/2

suma

nro*(nro+1)/2

suma nro*(nro+1)/2

suma

Variables a utilizar en el pseudocódigo

nro

nro ingresado

suma

suma de los nros

Inicio // Definir variables entero: nro, suma // Lectura de datos Escribir (Ingresar cantidad de números a sumar”) Leer (nro)

Fin

// Proceso de cálculo: Suma de los nnros naturales

suma

// Salida de resultados Escribir (“La suma es ”, suma)

nro * (nro + 1) / 2

Factor de conversión Es una fracción en la que el numerador y denominador son medidas iguales expresadas en unidades distintas, de tal manera, que esta fracción vale la unidad. Método efectivo para cambio de unidades y resolución de ejercicios sencillos dejando de utilizar la regla de tres.

Ejemplo 1: Pasar 15 pulgadas a centímetros (1 pulgada = 2.54 cm)

15 pulgadas × (2.54 cm / 1 pulgada) = 15 × 2.54 cm = 38.1 cm.

Ejemplo 2: Pasar 25 metros por segundo a kilómetros por hora (1 kilómetro = 1000 metros, 1 hora = 3600 segundos)

25 m/s × (1 km / 1000 m ) × (3600 s / 1 h) = 90 km/h.

Ejemplo 07 Pseudocódigo para convertir una longitud dada en metros a sus equivalentes en milímetros, centímetros, pies, pulgadas y yardas. Se sabe que:

1 metro = 1000 milímetros

1 metro = 100 centímetros

1 pulgada = 2.54 centímetros

1 pie = 12 pulgadas

1 yarda = 3 pies

1 Kilómetro = 1000 metros

El siguiente cuadro muestra resultados con datos de prueba, para diferentes valores:

Metros

Milímetros

Centímetros

Pulgadas

Pies

Yardas

Kilómetros

5

5000

500

196.85

16.4042

5.46807

0.005

10

10000

1000

393.701

32.8084

10.9361

0.01

20

20000

2000

787.402

65.6168

21.8723

0.02

50

50000

5000

1968.50

164.042

54.6807

0.05

70

70000

7000

2755.91

229.659

76.5529

0.07

Lectura de datos

metros

mili

1000*metros

cent

metros*100

pulg

cent/2.54

pies

pulg/12

yarda

pies/3

km

m /1000

Variables a utilizar en el pseudocódigo

metros

medida ingresada en metros

mili

medida en milímetros

cent

medida en centímetros

pies

medida en pies

pulg

medida en pulgadas

yarda

medida en yardas

Inicio

// Definir variables real: metros, mili, cent, pies, pulg, yarda, km // Lectura de datos Escribir (Ingresar medida en metros”) Leer (metros) // Proceso de cálculo: conversiones métricas

mili

1000 * metros

cent

metros * 100

pulg

cent / 2.54

pies

pulg / 12

yarda pies / 3

km

metros / 1000

Impresión de datos

mili, cent, pulg, pies, yardas, km

// Salida de resultados Escribir (metros, metros equivale a ”, mili, milímetros ”, cent, “Centímetros ”, pulg, pulgadas ”, pies, pies ”, yarda, yardas ”, km,

Kilómetros”)

Fin

Ejemplo 08 Pseudocódigo para convertir pesos, dado en gramos a sus equivalentes en miligramos, kilogramos, onza y libras. Se sabe que:

1 gramo = 1000 miligramos

1 kilogramo = 1000 gramos

1 onza = 28.35 gramos

1 libra = 16 onzas = 453.6 gramos

1 tonelada = 2000 libras

El siguiente cuadro muestra resultados con datos de prueba, para diferentes valores:

Gramos

Miligramos

Kilogramos

Onza

Libra

Toneladas

500

500000

0.5

17.6367

1.10229

0.0005

300

300000

0.3

10.5822

0.66139

0.0003

600

20000

0.6

21.1644

1.32277

0.0006

700

50000

0.7

24.6918

1.54324

0.0007

900

900000

0.9

31.7466

1.98416

0.0009

Lectura de datos

 

Impresión de datos

mili

1000*gramo

kilo

gramo/1000

gramo

onza

gramo/28.35

mili, kilo, onza, libra

libra

gramo/453.6

Variables a utilizar en el pseudocódigo

gramo

peso ingresada en gramos

mili

peso en miligramos

kilo

peso en kilos

onza

peso en onza

libra

peso en libra

tm

peso en toneladas

Inicio // Definir variables real: gramo, mili, kilo, onza, libra, tm // Lectura de datos Escribir (Ingresar peso en gramos”) Leer (gramo) // Proceso de cálculo: conversiones de pesos mili 1000 * gramo

kilo

gramo / 1000

onza gramo / 28.35 libra gramo / 453.6 tm libra / 2000 // Salida de resultados Escribir (gramo, gramos equivale a ”, mili, miligramos “, kilo, Kilogramos ”, onza, Onzas ”, libra, Libra , tm , toneladas ”)

Fin

Ejemplo 09 Pseudocódigo para convertir velocidades dada en metros/segundos a sus equivalentes en km/hora, km/seg, pies/seg, milla/hora, nudo. Se sabe que:

1 km = 1000 metros

1 minuto = 60segundos

1 hora = 3600 segundos

1 nudo = 1.852 km

1 pie = 12 pulgadas =0.3048 metros

1 milla =1.609 km

El siguiente cuadro muestra resultados con datos de prueba, para diferentes valores:

Mts/seg

Km/hora

Km/seg

Pies/seg

Milla/hora

Nudo

10

36

0.01

32.8084

22.3741

19.4384

20

72

0.02

65.6168

44.7483

38.8769

30

108

0.03

98.4252

67.1224

58.3153

40

144

0.04

131.234

89.4966

77.7538

50

180

0.05

164.042

111.871

97.1922

Lectura de datos

metroSeg

kmHora

metroSeg * 3.6

kmSeg

metroSeg/1000

piesSeg

100 * metroSeg /30.48 3600 * metroSeg /1609 3600 * metroSeg /1852

millaHora

nudo

Variables a utilizar en el pseudocódigo

Impresión de datos

kmHora, kmSeg, piesSeg, millaHora, nudo

metroSeg

medida ingresada en metros/ seg

kmHora

medida en kilómetros/ Hora

kmSeg

medida en kilómetros/seg

piesSeg

medida en pies/ seg

millaHora

medida en millas /hora

nudo

medida en nudos

Inicio // Definir variables

real: metroSeg, kmHora, kmSeg, piesSeg, millaHora, nudo // Lectura de datos Escribir (Ingresar velocidad en metros y segundos”) Leer (metroSeg) // Proceso de cálculo: conversiones de velocidades

kmHora

metroSeg * 3.6

kmSeg

metroSeg / 1000 piesSeg

metroSeg / 0.3048 millaHora

* metroSeg / 1609

nudo

3600

3600 * metroSeg / 1852

// Salida de resultados Escribir (metroSeg, Metros/seg equivale a ”, kmHora, Kilómetros/hora ”, kmSeg, Kilómetros /seg ”, piesSeg, Pie/seg ”, millaHora, “ Millas/hora ”, nudo, Nudo ”)

Fin

Ejemplo 10 En una tienda se ha puesto en oferta la venta de cierto tipo de producto ofreciendo un descuento fijo del 15% del monto de la compra. Elabore un algoritmo que determine el monto del descuento y el monto a pagar por la compra de cierta cantidad de unidades del producto.

Lectura de datos

precio, cantidad

Impresión de datos

compra

precio * cantidad 0.15 * compra

desc

montoAPagar

compra - desc

desc, compra

Variables a utilizar en el pseudocódigo

cantidad

cantidad de productos a comprar

precio

precio del producto

desc

monto descontado

compra

monto de la compra

montoAPagar

monto a pagar

Inicio

// Definir variables entero: cantidad real: precio, desc, compra, montoAPagar // Lectura de datos Escribir (Ingresar precio del producto”) Leer (precio) Escribir (Ingresar cantidad”) Leer (cantidad) // Proceso de calculo

compra

precio * cantidad

desc

0.15 * compra

montoAPagar

compra - desc

// Salida de resultados Escribir (El monto del descuento es ”, desc) Escribir (El monto a pagar es , montoAPagar)

Fin

Ejemplo 11 Pseudocódigo que determina el porcentaje de varones y de mujeres que hay en un salón de clase.

Lectura de datos

Impresión de datos

cvar, cmuj

total

cvar + cmuj pvar

(cvar * 100) / total pmuj 100 - pvar

pvar, pmuj

Variables a utilizar en el pseudocódigo

cvar

cantidad de varones

cmuj

cantidad de mujeres

total

total de alumnos

pvar

porcentaje de varones

pmuj

porcentaje de mujeres

Inicio // Definir variables entero: cvar, cmuj, total real: pvar, pmuj // Lectura de datos Escribir (Ingresar cantidad de varones”) Leer (cvar) Escribir (Ingresar cantidad de mujeres”) Leer (cmuj) // Proceso de calculo

total

cvar + cmuj

pvar

(cvar * 100) / total

pmuj

100 - pvar

// Salida de resultados Escribir (El porcentaje de varones es ”, pvar) Escribir (El porcentaje de mujeres es ”, pmuj)

Fin

Ejemplo 12 Pseudocódigo que intercambie las cifras de las unidades de dos números naturales. Por ejemplo:

Número 1: 2485 Número 2: 17

Intercambiando sus unidades se obtiene: 2487 y 15.

Lectura de datos

Impresión de datos

nro1, nro2

 

unro1

unro2

nro1 Mod 10 nro2 Mod 10

nro1

nro1 unro1 + unro2 nro2 unro2 + unro1

nro2

nro1, nro2

Variables a utilizar en el pseudocódigo

nro1

primer número ingresado

nro2

segundo número ingresado

unro1

unidades del primer número

unro2

unidades del segundo número

Inicio // Definir variables entero: nro1, nro2, unro1, unro2

// Lectura de datos Escribir (Ingresar dos números”) Leer (nro1, nro2) // Proceso de calculo

unro1

nro1 Mod 10

unro2

nro2 Mod 10

nro1

nro1 unro1 + unro2

nro2

nro2 unro2 + unro1

// Salida de resultados Escribir (“Los números intercambiados son ”, nro1, nro2)

Fin

Ejemplo 13 Pseudocódigo que convierte una hora expresada como un número real a su equivalente en horas, minutos y segundos. Por ejemplo:

Hora: 16.235 Equivale a: 16 horas, 14 minutos y 6 segundos

Lectura de datos

Impresión de datos

hora

hor

entero (hora) hora - hor hora * 60

hora

minuto

min

entero (minuto) minuto - min minuto * 60

minuto

segundo

seg

entero (segundo)

segundo

segundo seg segundo * 100

cs

hor, min, seg, cs

Para la resolución de este ejemplo se hace uso de la función predefinida entero().

Variables a utilizar en el pseudocódigo

hora

hora real

minuto

minuto real

segundo

segundo real

hor

hora entera

min

minuto entero

seg

segundo entero

cs

centésimo de segundos entero

Inicio // Definir variables real: hora, minuto, segundo entero: hor, min, seg, cs // Lectura de datos Escribir (Ingresar hora”) Leer (hora) // Proceso de cálculo

Fin

hor

entero (hora)

hora

hora - hor

minuto

hora * 60

min

entero (minuto) minuto - min

minuto

segundo

minuto * 60

seg

segundo

cs

// Salida de resultados Escribir (El equivalente es ”, hor, min, seg, cs)

entero (segundo)

segundo seg

segundo * 100

Ejemplo 14 Pesudocódigo para calcular el monto final que se paga por la compra de un auto al crédito, al precio de venta se le aumenta el 4% de impuestos estatales, de tal forma que el cliente tendrá que pagar como cuota inicial el 20% de este nuevo precio, el monto financiado tendrá un interés del 7% anual.

Lectura de datos

precio, tiempo

Impresión de datos

total

 

imp

0.04 * precio precio + imp 0.20 * precio precio - cuota

precio

cuota

finan

inter

0.07 * finan * tiempo

total

cuota + finan + inter

Variables a utilizar en el pseudocódigo

imp

impuesto estatal

precio

precio del auto

cuota

cuota inicial

finan

monto financiado

inter

intereses generados

total

total a pagar

tiempo

tiempo a financiar

Inicio // Definir variables real: imp, precio, cuota, finan, inter, total // Lectura de datos Escribir (Ingresar precio”) Leer (precio) Escribir (Ingresar años financiados”)

Leer (tiempo)

// Proceso de cálculo

imp

0.04 * precio

precio

precio + imp

cuota

0.20 * precio

finan

precio - cuota

inter

0.07 * finan * tiempo

total

cuota + finan + inter

// Salida de resultados Escribir (El total a pagar es , total)

Fin

Ejemplo 15 Pseudocódigo para calcular la cantidad de arena que se necesita para pulir una pared, se conoce las medidas de la pared (largo y alto) y se sabe que se necesita 0,5 metros cúbicos de arena por cada metro cuadrado de pared.

Lectura de datos

largo, alto

Impresión de datos

arena

area

largo * alto 0.5 * area

arena

Variables a utilizar en el pseudocódigo

largo

largo de la pared

ancho

ancho de la pared

area

área total de la pared

arena

cantidad de arena que se necesita

Inicio // Definir variables

real: largo, alto, area, arena // Lectura de datos Escribir (Ingresar largo y alto de la pared”) Leer (largo, alto) // Proceso de cálculo

area

largo * alto

arena

0.5 * area

// Salida de resultados Escribir (Se necesita ”, arena, metros cúbicos de arena”)

Fin

Ejemplo 16 Pesudocódigo para calcular el tiempo que tarda el atleta en dar 2 vueltas a una pista de atletismo, se tiene como datos la velocidad en metros/segundos y el radio de la circunferencia de la pista, se sabe además que el atleta descansa 1 minuto cada 100 metros.

Lectura de datos

vel, radio

Impresión de datos

tiempo

recor

(2 * 3.1416 * radio) * 2

tiempo

recor / vel

tiemdes

tiempo

(recor Div 100) * 2 tiempo + tiemdes

Variables a utilizar en el pseudocódigo

vel

velocidad que corre el atleta

radio

radio de la pista de atletismo

recor

recorrido total

tiemdes

tiempo que descansa el atleta

tiempo

tiempo empleado en dar 2 vueltas a la pista

Inicio // Definir variables real: vel, radio, recor, tiempo, tiemdes // Lectura de datos Escribir (Ingresar velocidad”) Leer (vel) Escribir (Ingresar radio”) Leer (radio) // Proceso de cálculo

recor

(2 * 3.1416 * radio) * 2

tiempo

recor / vel

tiemdes

(recor Div 100) * 2

tiempo

tiempo + tiemdes

// Salida de resultados Escribir (El tiempo empleado en dar 2 vueltas es , tiempo)

Fin

Ejemplo 17 Pseudocódigo para calcular el precio de venta de una pizza; el tamaño de la pizza varía según la solicitud del cliente, quien determina el diámetro en centímetros que tendrá la pizza. El costo básico (pizza sin ingredientes extras) es de 0,48 soles por cm, el costo de cada ingrediente extra agregado a la pizza base es de 0,10 soles por cm, el precio de venta de la pizza se obtiene recargando un 120% en costo total.

Lectura de datos

diam, extra

Impresión de datos

venta

precio

diam * 0.48

adic

extra * diam (precio + adic) * 1.2 precio + adic + recar

recar

venta

Variables a utilizar en el pseudocódigo

diam

diámetro de la pizza

extra

cantidad de ingredientes extras

precio

precio base de la pizza

adic

monto adicional por los ingredientes extras

recar

monto recargado

venta

precio de venta

Inicio // Definir variables entero: diam, extra real: precio, adic, recar, venta // Lectura de datos Escribir (Ingresar diámetro de la pizza”) Leer (diam) Escribir (Ingresar cantidad de ingredientes extras”) Leer (extra)

// Proceso de cálculo precio diam * 0.48 adic extra * diam

recar

(precio + adic) * 1.2

venta precio + adic + recar // Salida de resultados Escribir (El precio de venta es , venta)

Fin

Ejemplo 18 Pesudocódigo para calcular el mínimo de monedas de 2.00, 1.00, 0.50, 0.20 y 0.10 que una máquina electrónica da como vuelto por la compra de un paquete de galletas, dicha maquina solo acepta monedas de 5 soles.

Lectura de datos

Impresión de datos

vuelto

vueltoEnt

5 precio entero (vuelto)

vueltoReal

(vuelto vueltoEnt) * 100 vueltoEnt Div 2

m2

m1

vueltoEnt Mod 2 vueltoReal Div 50 vueltoReal Mod 50 vueltoReal Div 20 vueltoReal Mod 20

m50

vueltoReal

m20

m10

precio

m1, m2, m50, m20, m10

Variables a utilizar en el pseudocódigo

precio

precio de la galleta

vuelto

vuelto de la compra

vueltoEnt

parte entera del vuelto expresado como valor entero

vueltoReal

parte fraccionaria del vuelto expresado como valor entero

m2

cantidad de monedas de 2.00 soles

m1

cantidad de monedas de 1.00 sol

m50

cantidad de monedas de 0.50 céntimos

m20

cantidad de monedas de 0.20 céntimos

m10

cantidad de monedas de 0.10 céntimos

Inicio // Definir variables entero: vueltoEnt, vueltoReal, m1, m2, m50, m20, m10 real: precio, vuelto // Lectura de datos Escribir (Ingresar precio de la galleta”) Leer (precio) // Proceso de cálculo vuelto 5 precio

vueltoEnt

entero (vuelto)

vueltoReal

(vuelto vueltoEnt) * 100

m2

vueltoEnt Div 2

m1

vueltoEnt Mod 2 m50

vueltoReal Div 50 vueltoReal vueltoReal Mod 50

m20

vueltoReal Div 20

m10

vueltoReal Mod 20

// Salida de resultados

Escribir (Se recibe , m2, monedas de 2.00 soles, m1, monedas de 1.00 sol”, m50, monedas de 0.50 céntimos”, m20, monedas de 0.20 céntimos, m10, monedas de 0.10 céntimos”)

Fin

Ejemplo 19 Pseudocódigo para calcular el tiempo, en horas y minutos que emplea un profesor para calificar un grupo de exámenes. Se tienen tres tipos de examen A, B, C y el

A = 5 min, B = 7 min y C = 8

min.

tiempo en minutos requerido para cada tipo son:

Lectura de datos

Impresión de datos

 

tiempo

(ca*5) + (cb*7) + (cc*8)

 

ca, cb, cc

 

hor

tiempo Div 60 tiempo Mod 60

hor, min

min

Variables a utilizar en el pseudocódigo

ca

cantidad de exámenes tipo a

cb

cantidad de exámenes tipo b

cc

cantidad de exámenes tipo c

hor

horas empleadas para calificar los exámenes min

minutos empleados para calificar los exámenes tiempo

tiempo en horas,minutos para calificar los exámenes

Inicio // Definir variables entero: ca, cb, cc, hor, min // Lectura de datos Escribir (Ingresar cantidad de exámenes tipo A”) Leer (ca)

Escribir (Ingresar cantidad de exámenes tipo B”) Leer (cb) Escribir (Ingresar cantidad de exámenes tipo C”) Leer (cc) // Proceso de cálculo

tiempo

(ca * 5) + (cb * 7) + (cc * 8)

hor

tiempo Div 60

min

tiempo Mod 60

// Salida de resultados Escribir (Se emplea , hor, horas con, min, minutos”)

Fin

2.2.Ejercicios Propuestos

1. Dada las siguientes ecuaciones:

a

= b + 2c + 3m

c

= a + 3b + n

z

= m + n + 5a

Diseñe un pesudocódigo que determine los valores de m y z conociendo los valores de a, b, y c.

1

pie cúbico = 0.0283 metros cúbicos

1 galón = 3.79 litros

1 metro cúbico = 1000 litros

1 yarda cúbica = 27 pies cúbicos

3. Diseñe un pesudocódigo que calcule las HH:MM:SS transcurridos entre dos tiempos. Ambos tiempos vienen dados en el formato HH:MM:SS.

4. Diseñe un pesudocódigo que lea la hora actual del día HH:MM:SS y determine cuantas horas, minutos y segundos restan para culminar el día.

5. El sueldo neto de un vendedor se calcula como la suma de un sueldo básico más el 12% del monto total que ha vendido. Diseñe un pesudocódigo que determine el sueldo neto de un vendedor sabiendo que hizo tres ventas en el mes.

6. Elaborar un pseudocódigo que permita convertir un volumen dado en litros a sus equivalentes en mililitros, hectolitro, pie cúbico, pinta, galones. Se sabe que:

1 litro = 1000 mililitros

1 hectolitro = 100 litros

1 pie cúbico = 28.32 litros

1 onza fluida = 29.57 mililitro

1 pinta = 16 onza fluida

1 galón = 3.785 litros

7. Desarrollar un programa que dado el largo y el ancho de un campo, permita determinar cuantos metros de alambre serán necesarios para colocar al perímetro 5 hilos de alambrado.

8. Una empresa exportadora de trigo trabaja con 2 proveedores; el primer proveedor le brinda una cierta cantidad de trigo en gramos y el segundo proveedor otra cierta cantidad de trigo en libras. Se pide elaborar un pesudocódigo que calcule la cantidad total de trigo que obtiene la empresa.

1 libras = 16 onzas

1 onza = 28.35 gramos

1 kilogramo = 1000 gramos

1 tonelada = 1000 kilogramos

9. Calcular el perímetro de una circunferencia dado su radio. Luego calcule el perímetro de la misma si se reduce al 50%, y el perímetro de la misma si se reduce al 25% con respecto al resultado anterior.

10. La calificación final de un estudiante viene dada por tres calificaciones: nota de laboratorio que cuenta un 30% del total, nota de examen parcial que cuenta un 20% del total y nota de examen final que cuenta el 50% restante. Diseñar un pesudocódigo que lea la nota de laboratorio, la nota del examen parcial y la nota del examen final de un estudiante y muestre el tanto por

ciento correspondiente a cada una de las notas así como la calificación final.

11. Diseñe un algoritmo que lea un número de 4 dígitos luego intercambie el primer digito con el último dígito.

12. Una empresa constructora ofrece departamentos al crédito, para adquirir un departamento se abona una cuota inicial del 12% y se determina la cantidad de años que se financia. Al monto financiado se le aplica un interés del 10% anual. Diseñar un pesudocódigo que calcule el monto mensual que se paga por un departamento.

13. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada persona invierte con respecto a la cantidad total invertida.

3.

Estructura selectiva

Para poder desarrollar aplicaciones, no basta con ejecutar sentencias secuenciales, también resulta esencial tomar decisiones en base a evaluaciones de expresiones lógicas que nos señalaran el camino alternativo a seguir.

El tipo de resultado de una estructura selectiva es lógico (booleano), es decir, verdadero (true) o falso (false).

Las estructuras selectivas que se utilizan para tomar decisiones podemos clasificarlas en: simple, doble y múltiple.

3.1.Estructura selectiva simple: Si - Fin_si

Evalúa una expresión lógica y si su resultado es verdadero (true), se ejecuta una acción determinada. Su sintaxis es la siguiente:

Si (expresión_lógica) entonces Acción(es)

Fin_si

Funcionamiento de la estructura selectiva Si - Fin_si Cuando la sentencia Si - Fin_si inicia su ejecución, se suceden los siguientes pasos:

a) Se evalúa una expresión_lógica, obteniéndose un resultado lógico.

b) Si este resultado es verdadero (true), se ejecuta una acción, luego el pseudocódigo proseguirá con la siguiente acción que sigue al Fin_si.

c) Si este resultado es falso (false), la ejecución del pseudocódigo saltará a la acción que sigue al Fin_si, es decir, no se ejecuta la acción que se encuentra a continuación del Si.

Ejemplo 01 Pseudocódigo que lea tres notas de un alumno: examen parcial, examen final y promedio de prácticas imprima el promedio final del estudiante y el mensaje aprobado”, solo si el promedio final es mayor o igual que 10.5.

El siguiente cuadro muestra los resultados con datos de prueba:

exPar

14

10

exFin

16

14

promP

12

15

promedio =

(exPar+exFin+promP)/3

14.00

13.00

mensaje

aprobado

aprobado

Variables a utilizar en el pseudocódigo

exPar

examen parcial

exFin

examen final

promP

promedio de prácticas

promedio

promedio final

Inicio // Definir variables real: exPar, exFin, promP, promedio // Lectura de datos Escribir (Ingresar tres notas:”) Leer (exPar, exFin, promP)

// Calcula promedio

promedio

Si (promedio >= 10.5) entonces Escribir (El promedio es ”, promedio, "aprobado”)

(exPar + exFin + promP) / 3

Fin_si

Fin

Explicación Para resolver el ejemplo planteado se definen las variables reales exPar, exFin, promP y promedio:

real: exPar, exFin, promP, promedio

Se ingresa tres notas exPar, exFin, promP:

Escribir (Ingresar tres notas”) Leer (exPar, exFin, promP)

Posteriormente se calcula el promedio de las tres notas ingresadas exPar, exFin, promP:

promedio

(exPar + exFin + promP) / 3

Con el promedio calculado se evalua la expresión lógica (promedio >= 10.5) si esta condición es verdadera se imprime el mensaje solicitado:

Si (promedio>=10.5) entonces Escribir (El promedio es ”, promedio, "aprobado”) Fin_si

Ejemplo 02 Pseudocódigo que lea el sueldo de un trabajador, aplique un aumento del 15% si su sueldo es inferior a 500 e imprima el nuevo sueldo.

Variables a utilizar en el pseudocódigo

sueldo

aumento nuevoSueldo

nuevo sueldo

sueldo aum

Inicio // Definir variables real: sueldo, nuevoSueldo, aum 0 // Lectura de datos Escribir (Ingresar sueldo: ”) Leer (sueldo)

// Calcula el sueldo Si (sueldo >=0 and sueldo < 500) entonces

aum

0.15*sueldo

Fin_si nuevoSueldo sueldo + aum Escribir (“Nuevo sueldo ”, nuevoSueldo)

Fin

Ejemplo 03 Pseudocódigo calcula el monto final que se paga por un consumo en un restaurante, sabiendo que por consumos mayores a S/.100.00 se aplica un descuento del 20%.

Variables a utilizar en el pseudocódigo

consumo

monto del consumo

desc

descuento

montoFinal

monto final a pagar

Inicio

// Definir e inicializar variables

real: consumo, desc

0, montoFinal

// Lectura de datos Escribir (Ingresar consumo: ”) Leer (consumo)

// Calcula el descuento Si (consumo > 100) entonces

desc

0.20 * consumo

Fin_si

montoFinal

consumo - desc

Escribir (El total a pagar es , montoFinal)

Fin

Ejemplo 04 Pseudocódigo que calcula el sueldo semanal de un obrero que trabaja por horas, si durante la semana trabajó más de 40 horas se le paga por cada hora extra dos veces la tarifa normal.

Variables a utilizar en el pseudocódigo

tarifa

tarifa de cada hora trabajada

horas

total de horas trabajadas

extra

pago extra

sueldo

sueldo del obrero

Inicio

// Definir e inicializar variables

real: tarifa, sueldo, extra entero: horas // Lectura de datos Escribir (Ingresar tarifa: ”) Leer (tarifa)

Escribir (Ingresar horas trabajadas: ”) Leer (horas) // Calcula el sueldo

sueldo

Si (horas > 40) entonces

0

horas * tarifa

extra

(horas 40) * (2*tarifa)

Fin_si

sueldo

sueldo +extra

Escribir (El sueldo final es ”, sueldo)

Fin

Ejemplo 05 Pseudocódigo para hallar el menor de 4 números.

Variables a utilizar en el pseudocódigo

nro1

primer número

nro2

segundo número

nro3

tercero número

nro4

cuarto número

menor

menor número

Inicio // Definir variables entero: nro1, nro2, nro3, nro4, menor

// Lectura de datos

Escribir (Ingresar 4 números: ”) Leer (nro1, nro2, nro3, nro4) // Proceso menor nro1 Si (nro2 < menor) entonces

nro2

menor

Fin_si

Si (nro3 < menor) entonces

menor

nro3

Fin_si

Si (nro4 < menor) entonces

menor

nro4

Fin_si Escribir (El menor es ”, menor)

Fin

3.2. Estructura selectiva doble: Si Sino Fin_si

Se evalúa la expresión-lógica, si este resultado es verdadero se ejecuta la Accion1, si el resultado es falso se ejecuta la Accion2. En ambos casos, luego de finalizar la acción seleccionada, se termina la sentecia Si Sino - Fin_si y la ejecución del pseudocódigo proseguirá con la primera sentencia que sigue al Si - Sino - Fin_si. Su sintaxis es la siguiente:

Si (expresión_lógica) entonces

 

Acción1

Sino

 

Acción2

Fin_si

Funcionamiento de la estructura selectiva Si Sino - Fin_si

Cuando la sentencia Si Sino - Fin_si siguientes pasos:

a) Se evalúa expresión-lógica, obteniendo un resultado lógico.

b) Si este resultado es verdadero, se ejecuta la Acción1 y se va al paso d.

c) Si este resultado es falso, se ejecuta la Acción2 y se va al paso d.

d) La ejecución del pseudocódigo proseguirá con la siguiente sentencia que sigue al Fin_si

inicia su ejecución, se suceden los

Ejemplo 06 Pseudocódigo para hallar el mayor de dos números.

El siguiente cuadro muestra resultados con datos de prueba:

nro1

nro2

mayor

14

16

16

12

10

12

Variables a utilizar en el pseudocódigo

nro1

primer número

nro2

segundo número

mayor

mayor de dos números

Inicio // Definir variables entero: nro1, nro2, mayor

// Lectura de datos Escribir (Ingresar dos números: ”) Leer (nro1, nro2) // Calcula el mayor de dos números Si (nro1 > nro2) entonces

mayor

Sino

mayor

nro1

nro2

Fin_si Escribir ("El mayor de dos números es:", mayor)

Fin

Explicación

Para resolver el ejemplo planteado se definen las variables enteras nro1, nro2, mayor:

entero: nro1, nro2, mayor

Se lee dos números:

Leer (nro1, nro2)

Se evalua la expresión logica (nro1 > nro2) si esta condicion es verdadera se asigna nro1 a mayor, de lo contrario se asigna nro2 a mayor.

Si (nro1 > nro2) entonces

mayor

nro1

Sino

mayor

nro2

Fin_si

Ejemplo 07 Pseudocódigo para hallar el mayor de tres números

El siguiente cuadro muestra los resultados con datos de prueba:

nro1

nro2

nro3

mayor

14

16

18

18

12

14

11

14

08

05

04

08

Variables a utilizar en el pseudocódigo

nro1

primer número

nro2

segundo número

nro3

tercer número

t

variable temporal

mayor

mayor de tres números

Inicio // Definir variables entero: nro1, nro2, nro3, t, mayor // Lectura de datos Escribir (Ingresar tres números:”) Leer (nro1, nro2, nro3) // Calcula el mayor de tres números Si (nro1 > nro2) entonces

t

nro1

Sino

t

nro2

Fin_si

Si (t > nro3) entonces

mayor

Sino

mayor

t

nro3

Fin_si Escribir (El mayor de tres números es: ”, mayor)

Fin

Ejemplo 08 Pseudocódigo que lea el espacio recorrido por un auto y su tiempo empleado en este recorrido. Se pide hallar la velocidad del recorrido. Fórmula:

velocidad = espacio / tiempo.

Tenga en cuenta que en caso de que el tiempo sea igual a cero la velocidad no se podrá calcularse.

Variables a utilizar en el pseudocódigo

espacio

espacio recorrido

tiempo

tiempo empleado

velocidad

velocidad del recorrido

Inicio

// Definir variables real : espacio, tiempo, velocidad // Lectura de datos Escribir (Ingresar espacio recorrido y tiempo”) Leer (espacio, tiempo)

// Calcula velocidad Si (tiempo <> 0) entonces

velocidad

espacio / tiempo

Escribir (“La velocidad es: ”, velocidad) Sino

Escribir (Error”) Fin_si

Fin

Ejemplo 09 Pseudocódigo que lea tres valores tal como a, b, c. Calcular el resultado de la siguiente expresión:

y = (a - b) / c

Donde: a > b > c, además c no puede ser cero.

Variables a utilizar en el pseudocódigo

a

primer valor

b

segundo valor

c

tercer valor

y

resultado de la expresión

Inicio

// Definir variables real: a, b, c, y

// Lectura de datos

Escribir (Ingresar tres números”) Leer (a, b, c) // Calcula expresión Si (c <> 0 ) entonces

y (a - b ) / c

Escribir (y) Sino Escribir (“No se puede calcular la expresión”) Fin_si

Fin

Ejemplo 10 Pseudocódigo que lea tres notas de un alumno: examen parcial, examen final y promedio de prácticas, imprima el promedio y el mensaje aprobado en caso de que el promedio es mayor o igual que 10.5, si su promedio es menor de 10.5 imprimir el promedio y el mensaje desaprobado.

El siguiente cuadro muestra los resultados con datos de prueba:

exPar

exFin

promP

promedio =

mensaje

(exPar+exFin+promP)/3

14

16

12

14.00

aprobado

10

08

06

8.0

desaprobado

Variables a utilizar en el pseudocódigo

exPar

examen parcial

exFin

examen final

promP

promedio de practicas

promedio

promedio final

Inicio // Definir variables real: exPar, exFin, promP, promedio // Lectura de datos Escribir ("Ingrese tres notas: ") Leer (exPar, exFin, promP) // Calcula promedio

Fin

promedio

Si (promedio >= 10.5) entonces Escribir (promedio, aprobado”) sino Escribir (promedio, desaprobado”) Fin_si

(exPar + exFin + promP) / 3

Ejemplo 11 Pseudocódigo que lea como dato el sueldo de un trabajador, aplique un aumento del 15% si su sueldo es inferior a 500 y 10% en caso contrario. Imprima el nuevo sueldo del trabajador.

Variables a utilizar en el pseudocódigo

sueldo

sueldo

aum

aumento

nuevoSueldo

nuevo sueldo

Inicio // Definir variables

real: sueldo, aum, nuevoSueldo // Lectura de datos Escribir (Ingrese sueldo) Leer (sueldo) // Calcula sueldo Si (sueldo < 500) entonces

aum

sino

aum

0.15 * sueldo

0.10 * sueldo

Fin_si

nuevoSueldo

sueldo + aum

Escribir (“Nuevo sueldo ”, nuevoSueldo)

Fin

Ejemplo 12 Pseudocódigo que determine si un número es múltiplo de otro. Un número a es múltiplo de otro numero b, cuando el residuo de la división de a entre b es cero.

En la siguiente tabla se muestra resultados para diferentes valores de las

variables:

nro1

nro2

r = nro1 Mod nro2

Mensaje a mostrar

20

5

0

20

es múltiplo de 5

18

6

0

18

es múltiplo de 6

9

2

1

9 no es múltiplo de 2

Variables a utilizar en el pseudocódigo

nro1

primer número

nro2

segundo número

r

residuo de dos números

Inicio

// Definir variables entero: nro1,nro2, r

// Lectura de datos Escribir (Ingresar dos numeros”) Leer (nro1, nro2) // Calcular múltiplo

r nro1 Mod nro2

Si (r = 0) entonces Escribir (nro1, es múltiplo de”, nro2)

sino

Escribir (nro1, no es múltiplo de”, nro2)

Fin_si

Fin

Ejemplo 13 Pseudocódigo que lea tres números e imprima su producto si el primero de ellos es positivo, en caso contrario imprima su suma. Por ejemplo:

a = 4, b = 3, c = 2

a = -4, b = 3, c = 2

entonces su producto es p = a * b * c = 42

entonces la suma es s = a + b + c = 1

Variables a utilizar en el pseudocódigo

a primer número

b segundo número

p

producto

s

suma

Inicio

// Definir variables entero: a, b, c, p, s // Lectura de datos Escribir (Ingresar primer numero:”) Leer (a)

Escribir (Ingresar segundo número:”) Leer (b) Escribir (Ingresar tercer número:”) Leer (c) Si (a > 0) entonces

p a * b * c

Escribir (El producto es igual ”, p) Sino

s a+b+c

Escribir (“La suma es igual ”, s) Fin_si

Fin

Ejemplo 14 Pseudocódigo que lea dos números y diga si la suma de los números es par o impar.

Por ejemplo:

a = 4, b = 3

entonces su suma es s = a + b = 7

es impar

a = 4, b = 4

entonces la suma es s = a + b = 8

es par

Variables a utilizar en el pseudocódigo

a

primer número

b

segundo número

s

suma

Inicio

Fin

// Definir variables entero: a, b, s // Lectura de datos Escribir ("Ingresar primer numero:") Leer (a)

Escribir ("Ingresar segundo número:") Leer (b) s a+b

Si (s Mod 2 =

Escribir (s, “La suma es par”) Sino Escribir (s, “La suma es impar”) Fin_si

0) entonces

Ejemplo 15 Pseudocódigo que determine si un año es bisiesto. Un año es bisiesto si es múltiplo de 4 y no de 100 o cuando es múltiplo de 400.

Un año es bisiesto si es múltiplo de 4. Para esto tendremos que verificar si el residuo de la división del año entre 4 es igual a cero.

a Mod 4 = 0 Además, se sabe que no debe ser múltiplo de 100 para lo cual escribimos a Mod 100 <> 0

Sea múltiplo de 400.

a Mod 400 = 0 Entonces un año es bisiesto si múltiplo de 4, que no debe ser multiplo de 100 a menos que sea múltiplo de 400 (((a Mod 4 = 0 ) and (a Mod 100 <> 0)) or (a Mod 400 = 0))

Variables a utilizar en el pseudocódigo

a

año

Inicio // Definir variable entero: a // Lectura de datos Escribir ("Ingresar año:") Leer (a) Si (((a Mod 4 = 0) and (a Mod 100 <> 0)) or (a Mod 400 = 0)) entonces Escribir (El año es bisiesto”) Sino Escribir (El año no es bisiesto”) Fin_si

Fin

Ejemplo 16 Pseudocódigo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o más se aplica un descuento del 20% sobre el total de la compra, sino se aplica un descuento del 10%.

Variables a utilizar en el pseudocódigo

precio

precio de cada camisa

cant

cantidad a comprar

compra

monto de la compra

desc

descuento

total

total a pagar

Inicio // Definir variables entero: cant real: precio, compra, desc, total // Lectura de datos Escribir ("Ingresar precio unitario:") Leer (precio)

Escribir ("Ingresar cantidad de camisas:") Leer (cant)

compra

Si (compra >=3) entonces

cant * precio

desc

0.20 * compra

Sino

desc

0.10 * compra

Fin_si

total

compra desc

Escribir (El total a pagar es , total)

Fin

Ejemplo 17 Pseudocódigo que calcule el total que se paga en una playa de estacionamiento, en el que se registra la hora de ingreso y la hora de salida del vehículo en HH:MM, la tarifa por hora o fracción de S/.2.00. Por ejemplo:

Hora de inicio:4:20 Hora de término: 7:10 Total a pagar: 7:10- 4:20= 2: 40 = 6

Hora de inicio:3:20 Hora de termino: 8:40 Total a pagar: 8:40- 3:20= 5: 20 = 12

Variables a utilizar en el pseudocódigo

h1, m1

hora de ingreso

h2, m2

hora de salida

pago

total a pagar

Inicio // Definir e inicializar variables entero: h1, m1, h2, m2, min, hor real : pago

0

// Lectura de datos Escribir ("Ingresar hora de ingreso:") Leer (h1, m1) Escribir ("Ingresar hora de salida:") Leer (h2, m2) Si (m2 >= m1) entonces

min

Sino

m2 m1

min

(m2 + 60) m1

h2

h2 - 1

Fin_si

hor

h2 h1

Si (min > 0)

hor

hor + 1

Fin_si

pago

hor * 2

Escribir (El total a pagar es , pago)

Fin

3.3.Estructura selectiva múltiple

3.3.1. Estructura selectiva múltiple: Si anidado

Un Si anidado es una sentencia Si que esta contenido dentro de otro Si o Sino. Cuando se anidan Si, cada sentencia Sino siempre se corresponde a la sentencia Si mas próxima dentro del mismo bloque y que no este asociada con otro Sino. Un caso particular de una sentencia Si anidada es la siguiente:

Si (expresión_lógica1) entonces

Sino

Acción1

Si (expresión_lógica2) entonces

Acción2

Fin_si

Sino

Fin_si

Acción3

Funcionamiento de Si anidado: Si Sino - Si Cuando la sentencia si múltiple inicia su ejecución, se suceden los siguientes pasos:

a) Se evalúa expresión_lógica1, obteniendo un resultado lógico.

b) Si este resultado es verdadero (true), se ejecuta la Accion1 y se va al paso d.

c) Si este resultado es falso, se evalúa expresión_lógica2, obteniendo un

resultado lógico, si este resultado es verdadero, se ejecuta la Accion2 y se va al paso d, si este resultado es falso, se ejecuta la Accion3 y se va al paso d. d) La ejecución del pseudocódigo proseguirá con la siguiente sentencia que sigue al ultimo Fin_si

Ejemplo 18 Pseudocódigo que lea un número y determine si es positivo, negativo o cero.

Variables a utilizar en el pseudocódigo

nro

número a ingresar

mensa

mensaje a mostrar

Inicio

 

// Definir variables entero: nro cadena: mensa

// Lectura de datos Escribir (Ingresar numero:”) Leer (nro)

Si

(nro = 0 )

entonces

 

mensa

Cero

 

Sino Si (nro>0) entonces mensa PositivoSino

 

mensa

Negativo

Fin

Fin_si Fin_si Escribir (nro, mensa)

Explicación

Para resolver el ejemplo planteado se define la variable entera nro y la variable cadena mensa:

entero: nro

cadena: mensa

Se ingresa un número cualquiera:

Escribir (Ingresar numero:”) Leer (nro)

Se evalua la expresión lógica (nro = 0) en caso de cumplirse la igualdad se asigna “Ceroa la variable mensa:

Si

(nro = 0 ) mensa

entonces

Cero

Después de esta asignación la ejecución pasa a la sentencia escribir y finaliza el pseudocodigo:

Escribir (nro, mensa)

Pero, si la expresión lógica (nro = 0) resulta ser falsa, se ejecuta el SINO asociado al primer SI:

SINO

Este sino esta conformado por un SI que evalua la expresión logica (nro > 0), si la asignación es verdadera se asigna “Positivoa la variable mensa:

Si (nro>0) entonces

mensa

Positivo

Después de esta asignación la ejecución pasa a la sentencia escribir y finaliza el pseudocodigo:

Escribir (nro, mensa)

Pero, si la expresión logica resulta ser falsa se ejecuta el SINO asociado al segundo SI en la cual se asigna Negativoa la variable mensa:

mensa

Negativo

Después de esta asignación la ejecución pasa a la sentencia escribir y finaliza el pseudocodigo:

Escribir (nro, mensa)

Ejemplo 19 En una tienda comercial se realizan descuentos en las compras en función del importe total de dichas compras. Se desea calcular el importe que se cobra a un cliente, teniendo en cuenta los siguientes supuestos:

Si el importe total de la compra es menor de 200 soles no hay descuentos. Si el importe total de la compra esta comprendido entre 200 y 800 se hace un descuento del 10% Si el importe total de la compra es mayor de 800 se hace un descuento del 20%.

Se pide mostrar el nombre del cliente, el importe total, el descuento y el importe a cobrar a un cliente cualquiera

Variables a utilizar en el pseudocódigo

nombre

nombre del cliente

importeTotal

importe total

descto

descuento

importeACobrar

importe a cobrar

Inicio // Definir variables real: importeTotal, descto, importeACobrar cadena: nombre // Lectura de datos Escribir (Ingresar nombre del cliente:”) Leer (nombre) Escribir (Ingresar monto total de la compra:”)

Leer (importeTotal)

// Calcula el importe a Cobrar Si (importeTotal >= 0 and importeTotal < 200) entonces

descto

0

Sino

 

Si (importeTotal <= 800) entonces

descto

0.10*importeTotal

Sino

descto

0.20*importeTotal

Fin_si

Fin_si

Fin

ImporteACobrar

Escribir (“Cliente: ”, nombre) Escribir (“Descuento: , descto) Escribir (Importe total: ”, importeTotal) Escribir (Importe a cobrar: ”, importeACobrar)

importeTotal - descto

Ejemplo 20 Una compañía de gaseosas está realizando una promoción por la compra de su producto. Dentro de cada chapa viene un número que determina el premio que obtiene un comprador. Si la chapa tiene un número entre 1 y 5 el comprador obtiene como premio el doble del precio pagado por la gaseosa. Si la chapa tiene un número entre 6 y 8 el comprador obtiene como premio la devolución del precio pagado por la gaseosa. Si chapa tiene un número entre 9 y 10 el comprador no gana ningún premio. Escribir un pseudocódigo que muestre los diferentes resultados que se podría obtener al comprar una gaseosa.

El siguiente cuadro muestra los resultados con datos de prueba:

nro

datos

Premio

corrida

precio

nroChapa

(soles)

 

1 0.50

5

1.0

 

2 1.00

4

2.0

 

3 3.00

9

0.0

 

4 5.00

7

5.0

Variables a utilizar en el pseudocódigo

nroChapa

numero de chapa

precio

precio de la gaseosa

premio

premio a recibir

Inicio // Definir variables entero: nroChapa real: premio, precio

// Lectura de datos Escribir (Ingresar precio y nro de chapa: ”) Leer (precio, nroChapa) Si (nroChapa >=1 and nroChapa<=5 ) entonces

Sino

premio

2*precio

Si (nroChapa >=6 and nroChapa<= 8) entonces

premio

precio

Sino

 

Si (nroChapa >=9 and nroChapa<=10) entonces

 

premio

0

 

Fin_si

Fin_si

Fin_si Escribir (“Premio: ”, premio)

Fin

Ejemplo 21 El precio de venta de DVD varía de acuerdo a la cantidad que se compra:

S/.2.50 si se compran unidades separadas hasta 9. S/.2.20 si se compran entre 10 unidades hasta 99. S/.1.90 entre 100 y 499 unidades S/.1.50 para mas de 500 El vendedor gana por cada CD vendido el 20% del costo. Realizar un pseudocódigo que calcule el pago total y la ganancia para el vendedor.

Variables a utilizar en el pseudocódigo

cant

cantidad de dvd

pago

pago total

ganan

ganancia del vendedor

Inicio // Definir variables entero: cant

real: pago, ganan // Lectura de datos Escribir (Ingresar cantidad de DVD: ”) Leer (cant) Si (cant < 10) entonces

pago

2.50 * cant

Sino

 

Si (cant < 100) entonces

pago

2.20 * cant

Sino

Si (cant < 500) entonces

 

pago

1.90 * cant

 

Sino

 

pago

1.50 * cant

 

Fin_si

Fin_si

Fin_si

ganan

0.20 * pago

 

Escribir (El pago total es: ”, pago) Escribir (“La ganancia del vendedor es: ”, ganan)

Fin

Ejemplo 22 Pseudocódigo que calcule el sueldo neto de un trabajador, que tiene los siguientes descuentos:

11% del sueldo bruto si pertenece a la AFP A 10% del sueldo bruto si pertenece a la AFP B 7% del sueldo bruto por seguro si gana mas de 4000 6% del sueldo bruto por seguro si gana mas de 3000 5% del sueldo bruto por seguro si gana menos o igual a 3000

Variables a utilizar en el pseudocódigo

afp

afp al que pertenece el empleado

sueldoBruto

sueldo bruto

desc1

descuento por AFP

desc2

descuento por seguro

sueldoNeto

sueldo neto

Inicio // Definir variables caracter: afp

real: sueldoBruto, desc1, desc2, sueldoNeto // Lectura de datos Escribir (Ingresar sueldo bruto: ”) Leer (sueldoBruto) Escribir (Ingresar AFP: ”) Leer (afp) Si (afp = A) entonces

Sino

desc1

0.11 * sueldoBruto

Si (afp = „B‟) entonces

Fin_si

desc1

0.10 * sueldoBruto

Fin_si

Si (sueldoBruto > 4000) entonces

Sino

desc2

0.07 * sueldoBruto

Si (sueldoBruto > 3000) entonces

Sino

Fin_si

desc2

desc2

0.06 * sueldoBruto

0.05 * sueldoBruto

Fin_si

sueldoNeto

sueldoBruto desc1 desc2

Escribir (El sueldo neto es: ”, sueldoNeto)

Fin

Ejemplo 23 Un supermercado ofrece a sus clientes descuentos de acuerdo al monto de compra, como se muestra en el siguiente cuadro:

Compra (S/.)

Descuento (%)

0 250 251 500 501 1000 1001 más

0

10

15

20

Elaborar un pseudocódigo que calcule el monto final que paga un cliente por una compra.

Variables a utilizar en el pseudocódigo

montoCompra

monto de la compra

desc

descuento

montoFinal

monto final

Inicio // Definir variables

real: montoCompra, desc, montoFinal

// Lectura de datos Escribir (Ingresar monto compra: ”) Leer (montoCompra) Si (montoCompra <= 250) entonces

Sino

desc

0

Si (montoCompra <= 500) entonces

desc

0.10 * montoCompra

Sino

 

Si (montoCompra <= 1000) entonces

 

desc

0.15 * montoCompra

 

Sino

 

desc

0.20 * montoCompra

 

Fin_si

Fin_si

Fin_si montoFinal montoCompra desc Escribir (El total a pagar es: , montoFinal)

Fin

Ejemplo 24 En empresa ensambladora de computadoras oferta a sus clientes descuentos que varían de acuerdo al número de computadoras que se compre. Si se compra hasta cinco computadoras se descontará el 10%, si se compra entre 6 y 10 computadoras se descuenta el 20% y si se compra más de 10 computadoras se descuenta el 40%. Elaborar un pseudocódigo que calcule el monto final que se paga por un cierto número de computadoras.

Variables a utilizar en el pseudocódigo

precio

precio de venta

total

total a pagar

desc

descuento

cant

cantidad de computadoras

Inicio // Definir variables real: precio, total, desc entero: cant // Lectura de datos Escribir (Ingresar precio: ”) Leer (precio)

Escribir (Ingresar cantidad: </