CURSO01 PPSX

Descargar como ppsx, pdf o txt
Descargar como ppsx, pdf o txt
Está en la página 1de 185

FUNDAMENTO DE PROGRAMACION

1
DESARROLLO DE APLICACIONES
FUNDAMENTO DE PROGRAMACIÓN
DESARROLLO DE APLICACIONES
PRESENTADO POR: ABCSOFT
INSTRUCTOR: ALBERTO BUENO
SESION 1
PRIMER DÍA DE EXPOSICIÓN

FUNDAMENTO DE PROGRAMACION
3
DESARROLLO DE APLICACIONES
INTRODUCCIÓN
• ALGORITMO: Conjunto de pasos secuenciales y lógicos que
nos permite realizar, resolver y solucionar: problemas, tareas
y trabajos

FUNDAMENTO DE PROGRAMACION
4
DESARROLLO DE APLICACIONES
INTRODUCCIÓN
• PROGRAMA: Denominado programa al conjunto de instrucciones escritas
en un orden lógico y codificadas en un determinado lenguaje de
programación, las cuales permiten llevar a cabo un determinado proceso
previamente establecido.

• PROGRAMACIÓN: Es proceso de diseñar, crear , escribir, probar y depurar


un código, llamado código fuente, el que esta elaborado en un lenguaje de
programación.

FUNDAMENTO DE PROGRAMACION
5
DESARROLLO DE APLICACIONES
ESTRUCTURA GENERAL DE UN PROGRAMA

Bloque de Elementos a ser


declaraciones utilizados

Bloque de Instrucción de entrada


instrucciones Instrucción de procesamiento y control
Instrucción de salida

FUNDAMENTO DE PROGRAMACION
6
DESARROLLO DE APLICACIONES
PARTES PRINCIPALES DE UN
PROGRAMA

ENTRADA PROCESO SALIDA

LOGICO
ARITMETICO
OPERACIONES
LOGICAS
OPERACIONES
ARITMETICAS

FUNDAMENTO DE PROGRAMACION
7
DESARROLLO DE APLICACIONES
ELEMENTOS DE UN PROGRAMA
Elementos básicos Elementos auxiliares
Palabras reservadas Bucles
Identificadores Contadores
Caracteres especiales Acumuladores
Constantes Interruptores
Variables Estructuras
Operadores
Expresiones
Instrucciones
• CONSTANTES: Son elementos que tiene un nombre y hace referencia
a una posición de memoria donde se guarda un dato, cuyo valor
permanece invariable durante la ejecución del programa.
• VARIABLES: Son elementos que tienen un nombre que hace
referencia a una posición de memoria donde se guarda un dato, el
cual puede ser modificado en cualquier momento de la ejecución del
programa.

FUNDAMENTO DE PROGRAMACION
8
DESARROLLO DE APLICACIONES
ELEMENTOS DE UN PROGRAMA
• OPERADORES: Son elementos representados por símbolos que se
emplean para realizar operaciones fundamentales y sirven para la
construcción de expresiones. Y se puede utilizar de forma general.
OPERADORES OPERADORES OPERADORES OPERADORES
ARITMETICOS ALFANUMERICOS RELACIONALES LÓGICOS

^ Potencia = Igual a
* Multiplicación < Menor que
/ División + Concatenación > Mayor que AND Y Lógico
+ Suma <= Menor o igual OR O Lógico
- Resta >= Mayor o igual NOT Negativo
<> Diferente a

OPERADORES ARÍTMETICOS OPERADORES ALFANUMÉRICO

5+3=8 ‘H’ + ‘O’ + ‘Y’ → HOY


2+2–1/1*2 “MI” &“ “&”CASA” → “MI CASA”
FUNDAMENTO DE PROGRAMACION
9
DESARROLLO DE APLICACIONES
ELEMENTOS DE UN PROGRAMA
OPERADORES DE RELACION

(a + b)2 = a2 + 2ab + b2 Sen2 a +Cos2a = 1


FUNDAMENTO DE PROGRAMACION
10
DESARROLLO DE APLICACIONES
ELEMENTOS DE UN PROGRAMA
OPERADORES LÓGICOS:
OPERADOR AND (Y):

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
A >= 11 AND A <= 20
La condición lógica se establece para los valores comprendido entre 11 y 20
OPERADOR OR (O):
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

A <= 11 OR A >= 20
La condición lógica se establece para los valores comprendido
mayores a 19 y menores a 12

FUNDAMENTO DE PROGRAMACION
11
DESARROLLO DE APLICACIONES
ELEMENTOS DE UN PROGRAMA
OPERADORES LÓGICOS:

OPERADOR NOT (Negación):

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

A <= 11 NOT A >= 20


La condición lógica se establece para los valores comprendido están entre 12 y 19

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

A NOT 20

La condición lógica se establece para los valores son todos menos el 20

FUNDAMENTO DE PROGRAMACION
12
DESARROLLO DE APLICACIONES
ELEMENTOS DE UN PROGRAMA
• CONTANTES: Son elementos que tiene un nombre y hace referencia a una
posición de memoria donde se guarda un dato, cuyo valor permanece
invariable durante la ejecución del programa.

• VARIABLES: Son elementos que tienen un nombre que hace referencia a


una posición de memoria donde se guarda un dato, el cual puede ser
modificado en cualquier momento de la ejecución del programa.

3
6
B= 10
20
15
FUNDAMENTO DE PROGRAMACION
DESARROLLO DE APLICACIONES
13
ELEMENTOS DE UN PROGRAMA
• EXPRESIONES: Las expresiones son combinaciones de constantes, varia-
bles, símbolos de operación, paréntesis y nombre de funciones especiales.
Cada expresión toma un valor que se determina tomando los valores de
las variables y constantes implicadas para la ejecución de las operaciones
indicadas. Una expresión consta de operadores y operandos. Según sea el
tipo de objetos que manipulan, se clasifican las expresiones en:

ABCSOFT = A * B * C * S * O * F * T
C + D >= 20 AND N + O <=40

FUNDAMENTO DE PROGRAMACION
14
DESARROLLO DE APLICACIONES
DIAGRAMA DE FLUJO
SIMBOLOGÍA Y SIGNIFICADO
• Óvalo: Inicio y término (Abre y/o
cierra el diagrama).
• Rectángulo: Actividad (Representa
la ejecución de una o más
actividades o procedimientos).
• Rombo: Decisión (Formula una
pregunta o cuestión).
• Trapecio: Entrada de datos
(Representa la entrada de datos
por teclado).
• Cono echado: Salida de datos
(Representa la salida de datos).

FUNDAMENTO DE PROGRAMACION
15
DESARROLLO DE APLICACIONES
DIAGRAMA DE FLUJO
• Exagono 1: Estructura repetitiva
Para (Permite repetir un lazo o
bucle desde el inicio hasta el
final).
• Exagono 2: Estructura repetitiva
Hacer Mientras (Permite repetir
un lazo o bucle desde el inicio
hasta que la condición se cumpla).
• Exagono 3: Llamada a Modulo
(Permite hacer una llamada a un
modulo declarado).
• Paralelogramo: Modulo de
programación.

FUNDAMENTO DE PROGRAMACION
16
DESARROLLO DE APLICACIONES
DIAGRAMA DE FLUJO
• Fecha: Flujo (Determina la
dirección que van los datos dentro
del programa).

NOTA: Basado en software DFD free

FUNDAMENTO DE PROGRAMACION
17
DESARROLLO DE APLICACIONES
LOS PSEUDOCODIGOS
Algoritmo <Nombre>
Cabecera
Sección de declaraciones

Inicio
Instrucción 1 Bloque
Instrucción 2 Algorítmico

Instrucción n
Fin

FUNDAMENTO DE PROGRAMACION
18
DESARROLLO DE APLICACIONES
LOS PSEUDOCODIGOS
• Forma de declarar las variables: La declaración de variables consiste en
indicar el nombre y tipo de dato que almacenará cada una de las variables
que intervienen en el algoritmo. Esta sección comienza con la palabra
reservada VAR.

Sintaxis:
VAR lista de variables 1: tipo 1
VAR lista de variables 2: tipo 2
….
VAR lista de variables n: tipo n

FUNDAMENTO DE PROGRAMACION
19
DESARROLLO DE APLICACIONES
LOS PSEUDOCODIGOS
Los tipos de datos que se pueden especificar son:
1 Entero
2 Real
3 Carácter
4 Cadena
5 Lógico

Ejemplo
VAR Contar, sumar tipo entero
VAR Sueldo, neto, impuesto tipo real
VAR Trabajador tipo cadena

FUNDAMENTO DE PROGRAMACION
20
DESARROLLO DE APLICACIONES
LOS PSEUDOCODIGOS
• Forma de declarar las constantes: La declaración de constantes consiste
en indicar el nombre de la constante y el valor que tendrá durante la
ejecución del programa.

Sintaxis
CONST nombre = valor
Ejemplo
CONST pi = 3.141592
CONST max = 99
CONST min = 0

FUNDAMENTO DE PROGRAMACION
21
DESARROLLO DE APLICACIONES
LOS PSEUDOCODIGOS
• Sentencias de asignación de información: Es el modo de darle valor a las
variables. La operación se presenta por un símbolo u operador. La
operación de asignación se conoce con el nombre de instrucción o
sentencia de asignación cuando se refiere al lenguaje de programación.

Nombre de variable ← expresión

Ejemplo:
var1 ← 10
var2 ← 23
nombre ← “OPERACIONES”
suma ← var12 + var2

FUNDAMENTO DE PROGRAMACION
22
DESARROLLO DE APLICACIONES
LOS PSEUDOCODIGOS
• Sentencias de comentario: Los comentarios dentro de un programa
tienen la finalidad de identificar y documentar dicho programa. Los
comentarios en algoritmo pseudocodificados se representa por las llaves {}

Ejemplo
{Programa de actualización (ARTICULO)}

FUNDAMENTO DE PROGRAMACION
23
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 1 salario de un trabajador

Se desea obtener el salario neto de un trabaja-


dor conociendo el número de horas trabajadas,
el salario por hora y la tasa de impuestos que se
le desea deducir.
Los datos a ser procesados deberán ser ingresa-
dos por teclado.

FUNDAMENTO DE PROGRAMACION
24
DESARROLLO DE APLICACIONES
PLANTAMIENTO DE RESOLUCION DEL PROBLEMA
salario neto
(1) Se trata de calcular la nómina semanal del trabajador
sueldo = salario - impuesto
se debe introducir por teclado
(2) Ingresar el número de horas trabajadas, salario por hora, la tasa
de impuesto y nombre del trabajador por el teclado
horas, costo por hora, nombre, tasa de impuesto.

se paga por horas


(3) Calcular el salario del trabajador
salario = horas * costo por hora
FUNDAMENTO DE PROGRAMACION
25
DESARROLLO DE APLICACIONES
PLANTAMIENTO DE RESOLUCION DEL PROBLEMA
obtener el impuesto
(4) Calcular el impuesto del trabajador
impuesto = salario * (tasa/100)

finalmente obtener el neto a pagar


(5) Calcular el neto a pagar al trabajador
sueldo = salario - impuesto

FUNDAMENTO DE PROGRAMACION
26
DESARROLLO DE APLICACIONES
Variables del caso:
Las variables del caso se obtiene de la siguiente manera:
sueldo = salario – impuesto
Sueldo: es el importe a pagar después de haber obtenido el
salario bruto y restado del impuesto. La variable es: VAR sueldo
de tipo real. Por ser una variable que calcula el monto con
decimales.
Salario: viene hacer el calculo de todas las horas trabajadas por
el trabajador multiplicado por el costo por hora que se le asigna
al trabajador. La variable es: VAR salario de tipo entero. Por ser
una variable que calcula montos con datos enteros.

FUNDAMENTO DE PROGRAMACION
27
DESARROLLO DE APLICACIONES
Variables del caso:
Impuesto: es impuesto que se descuenta del salario bruto al
trabajador a través de una tasa que se ingresa por teclado. La
variable es: VAR Impuesto de tipo real. Por se una variable que
calcula con decimales.
salario = horas * costo por hora
Horas: son la horas trabajas por el trabajador; esta son
ingresadas por el teclado. La variable es: VAR horas de tipo
entero. Por ser una variable que ingresa datos enteros.
Costo por hora: es el costo por hora que se le paga al trabajador
y este es ingresado por teclado. La variable es: VAR costo de tipo
entero. Por ser una variable que ingresa datos enteros.

FUNDAMENTO DE PROGRAMACION
28
DESARROLLO DE APLICACIONES
Variables del caso:
impuesto = salario * (tasa/100)
Tasa: es una variable que recibe el porcentaje de impuesto que
se va pagar y descontar al trabajador, esta es ingresada por
teclado. La variables es: VAR tasa de tipo entero. Por que el dato
capturado será un entero, que luego se divide entre 100 para
convertirlo en decimal.
Resumen:
VAR sueldo de tipo real VAR costo de tipo entero
VAR salario de tipo entero VAR tasa de tipo entero
VAR horas de tipo entero VAR trabajador de tipo cadena

FUNDAMENTO DE PROGRAMACION
29
DESARROLLO DE APLICACIONES
Algoritmo del caso

FUNDAMENTO DE PROGRAMACION
30
DESARROLLO DE APLICACIONES
Algoritmo del caso

FUNDAMENTO DE PROGRAMACION
31
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
INICIO
{Programa que permite calcular el salario neto de un trabajador}
VAR costo, salario, horas, tasa Tipo Entero
VAR sueldo, impuesto Tipo Real
VAR trabajador Tipo Cadena
ESCRIBIR ” Ingrese nombre del trabajadorb“
LEER trabajador
ESCRIBIR ” Ingrese total de horas trabajadasb“
LEER horas
ESCRIBIR ” Ingrese costo por horab“
LEER trabajador
ESCRIBIR “Ingrese la tasa de impuestob”

FUNDAMENTO DE PROGRAMACION
32
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
LEER tasa
salario = horas * costo
impuesto = salario * (tasa/100)
sueldo = salario – impuesto
ESCRIBIR “Trabajador:b”, trabajador,”bSueldo:b”,”bTotal:b”,salario,
“bimpuestob”,impuesto
FINAL

FUNDAMENTO DE PROGRAMACION
33
DESARROLLO DE APLICACIONES
Codificación del Caso
// Programa que permite calcular el salario neto de un trabajador
# include <iostream>
using namespace std;
int costo, salario, horas, tasa;
double sueldo, impuesto;
char trabajador[30];
void main()
{
cout<<"Ingrese nombre del trabajador: ";
cin>>trabajador;
cout<<"Ingrese total de hora trabajadas: ";
cin>>horas;

FUNDAMENTO DE PROGRAMACION
34
DESARROLLO DE APLICACIONES
Codificación del Caso
cout<<"Ingrese costo por hora: ";
cin>>costo;
cout<<"Ingrese la tasa de impuesto: ";
cin>>tasa;
salario = horas * costo;
impuesto = salario * tasa/100;
sueldo = salario - impuesto;
cout<<"Trabajador: "<<trabajador<<" Sueldo: "<<" Total: "<<salario<<"
impuesto: "<<impuesto<<endl;
system("PAUSE");
}

FUNDAMENTO DE PROGRAMACION
35
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 2 calculo del sueldo neto
Una empresa tiene trabajadores que trabajan
por horas; donde el costo de hora se ingresa por
teclado al igual que las horas trabajadas, y
además la tasa de impuesto que le corresponde.
Desarrolle y algoritmo que permita calcular el
sueldo neto de un trabajador, sabiendo que
todos tienen descuentos de AFP el 8.5%, seguro
1.8% y comisión 2.5% de sueldo, y la empresa
aporta a EsSalud.
EsSalud
FUNDAMENTO DE PROGRAMACION
36
DESARROLLO DE APLICACIONES
PLANTAMIENTO DE RESOLUCION DEL PROBLEMA
sueldo neto
(1) Se trata de calcular la nómina semanal del trabajador
neto = sueldo - descuento
se debe introducir por teclado
(2) Ingresar el número de horas trabajadas, costo por hora, la tasa
de impuesto y nombre del trabajador por el teclado.
horas, costo por hora, nombre, tasa de impuesto.

se paga por horas


(3) Calcular el sueldo del trabajador
sueldo = horas * costo por hora
FUNDAMENTO DE PROGRAMACION
37
DESARROLLO DE APLICACIONES
PLANTAMIENTO DE RESOLUCION DEL PROBLEMA
obtener el descuento
(4) Calcular el descuento del trabajador
(a) impuesto = sueldo * (tasa/100)
(b) aportacionafp = sueldo * (afp/100)
(c) seguroafp = sueldo * (seguro/100)
(d) comisionafp = sueldo * (comision/100)

calcular el total de descuento


(5) Calcular el descuento al trabajador
descuento = (aportacionafp + seguroafp + comisionafp)
+ impuesto

FUNDAMENTO DE PROGRAMACION
38
DESARROLLO DE APLICACIONES
PLANTAMIENTO DE RESOLUCION DEL PROBLEMA
obtener la aportación de EsSalud
(6) Calcular la aportación del trabajador
aportacionessalud = sueldo * (essalud/100)

finalmente obtener el neto a pagar


(5) Calcular el neto a pagar al trabajador
neto = sueldo - descuento

FUNDAMENTO DE PROGRAMACION
39
DESARROLLO DE APLICACIONES
Variables del caso:
Las variables del caso se obtiene de la siguiente manera:
neto = sueldo – descuento
neto: es el importe a pagar después de haber obtenido el
sueldo y restado los descuentos. La variable es: VAR
sueldo de tipo real. Por ser una variable que calcula el
monto con decimales.
salario: viene hacer el calculo de todas las horas
trabajadas por el trabajador multiplicado por el costo por
hora que se le asigna al trabajador. La variable es: VAR
salario de tipo entero. Por ser una variable que calcula
montos con datos enteros.
FUNDAMENTO DE PROGRAMACION
40
DESARROLLO DE APLICACIONES
Variables del caso:
Descuento: corresponde a la sumatoria de todos los descuentos
que se le hace al trabajador, como son afp, seguro de vida,
comisiones y impuesto. La variable es: VAR Descuento de tipo
real. Por se una variable que calcula con decimales.
sueldo = horas * costo por hora
Horas: son la horas trabajas por el trabajador; esta son
ingresadas por el teclado. La variable es: VAR horas de tipo
entero. Por ser una variable que ingresa datos enteros.
Costo por hora: es el costo por hora que se le paga al trabajador
y este es ingresado por teclado. La variable es: VAR costo de tipo
entero. Por ser una variable que ingresa datos enteros.

FUNDAMENTO DE PROGRAMACION
41
DESARROLLO DE APLICACIONES
Variables del caso:
impuesto = sueldo * (tasa/100)
Tasa: es una variable que recibe el porcentaje de impuesto que
se va pagar y descontar al trabajador, esta es ingresada por
teclado. La variables es: VAR tasa de tipo entero. Por que el dato
capturado será un entero, que luego se divide entre 100 para
convertirlo en decimal.
aportacionafp = sueldo * (afp/100)
afp: es una constante que permite calcular la aportación del
trabajador para su fondo de pensiones, no es ingresada ya esta
en el programa. La constante es representado por una variable la
cual toma el valor y es: CONST afp = 10%

FUNDAMENTO DE PROGRAMACION
42
DESARROLLO DE APLICACIONES
Variables del caso:
aportacionafp: Es una variables que permite calcular la
aportación del trabajador a su afp, esta se obtiene de la
multiplicación del sueldo por la constante de aportación. La una
variable es: VAR aportacionafp de tipo real. Por que el cálculo se
obtendrá resultados decimales.
seguroafp = sueldo * (seguro/100)
seguroafp: Es una variable que permite calcular el seguro de
vida del trabajador que se entrega a la afp, esta se obtiene de la
multiplicación del sueldo por la constante de seguro. La variable
es: VAR seguroafp de tipo real. El calculo que se obtiene con
esta variable es decimal.

FUNDAMENTO DE PROGRAMACION
43
DESARROLLO DE APLICACIONES
Variables del caso:
seguro: Es una constante que permite calcular el seguro del
trabajador para su seguro de vida, no es ingresada ya esta en el
programa. La constante es representado por una variable la cual
toma el valor y es: CONST seguro = 1.8%
comisionafp = sueldo * (comision/100)
comisionafp: Es una variable que permite calcular la comisión
que cobra la afp al trabajador, esta calculo se hace multiplicando
sueldo por el porcentaje de la comisión. La variable es: VAR
comisionafp de tipo real. Por que el calculo de la comisión se
obtiene valores decimales.

FUNDAMENTO DE PROGRAMACION
44
DESARROLLO DE APLICACIONES
Variables del caso:
comision: es una constante que permite calcular la comisión de
la AFP obtenida del sueldo que recibe, no es ingresada ya esta en
el programa. La constante es representado por una variable la
cual toma el valor y es: CONST comision = 2.5%
descuento = (aportacionafp + seguroafp + comisionafp)
+ impuesto
descuento: Es una variable que obtiene la sumatoria de los
descuentos que se le hace al trabajador, tanto de la AFP como
del impuesto que paga. La variables es: VAR descuento de tipo
real. Por que la sumatoria de los descuentos contiene decimales.

FUNDAMENTO DE PROGRAMACION
45
DESARROLLO DE APLICACIONES
Variables del caso:
aportacionessalud = sueldo * (essalud/100)
aportacionessalud: Es una variable que calcula la aportación que
hace la empresa a essalud para un trabajador. La variables es:
VAR aportacionessalud de tipo real. La variable es de tipo real
porque en proceso se tendrá resultado con decimales, por ser
una operación con porcentajes.
esSalud: es una constante que permite calcular la aportación que
hace la empresa al seguro por cada trabajador, no es ingresada
ya esta en el programa. La constante es representado por una
variable la cual toma el valor y es: CONST essalud = 2.5%

FUNDAMENTO DE PROGRAMACION
46
DESARROLLO DE APLICACIONES
Variables del caso:
Resumen:
VAR neto de tipo real VAR sueldo de tipo entero
VAR descuento de tipo real VAR horas de tipo entero
VAR costo de tipo entero VAR tasa de tipo entero
VAR aportacionafp de tipo real VAR comisionafp de tipo real
VAR seguroafp de tipo real VAR aportacionessalud de tipo real
CONST afp = 10% CONST seguro = 1.8%
CONST comision = 2.5% CONST essalud = 2.5%

FUNDAMENTO DE PROGRAMACION
47
DESARROLLO DE APLICACIONES
Algoritmo del caso

FUNDAMENTO DE PROGRAMACION
48
DESARROLLO DE APLICACIONES
Algoritmo del caso

FUNDAMENTO DE PROGRAMACION
49
DESARROLLO DE APLICACIONES
Algoritmo del caso

FUNDAMENTO DE PROGRAMACION
50
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
INICIO
{Programa que permite calcular sueldo neto de un trabajador con
descuentos}
VAR costo, sueldo, horas, tasa Tipo Entero
VAR neto, impuesto, aportacionafp, seguroafp, comsionafp Tipo Real
VAR descuento, aportacionessalud Tipo Real
CONST afp = 10.0%
CONST seguro = 1.8%
CONST comision = 2.5%
CONST essalud = 12.0%
ESCRIBIR ” Ingrese total de horas trabajadasb“
LEER horas

FUNDAMENTO DE PROGRAMACION
51
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
ESCRIBIR ” Ingrese costo por horab”
LEER costo
ESCRIBIR “Ingrese la tasa de impuestob”
LEER tasa
sueldo = horas * costo
impuesto = sueldo * (tasa/100)
aportacionafp = sueldo * (afp/100)
seguroafo = sueldo * (seguro/100)
comision = sueldo * (comision/100)
aportacionessalud = sueldo * (essalud/100)
descuento = (aportacionafp + seguroafp + comisionfafp) + impuesto
neto = sueldo – descuento

FUNDAMENTO DE PROGRAMACION
52
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
ESCRIBIR “a recibir: “,neto,” sueldo: “,sueldo,” descuento: “,descuento,
“ Essalud: “,aportacionessalud
FINAL

FUNDAMENTO DE PROGRAMACION
53
DESARROLLO DE APLICACIONES
Codificación del Caso
// Programa que permite calcular el sueldo neto y descuentos de un
trabajador
# include <iostream>
using namespace std;
int costo, sueldo, horas, tasa;
double neto, impuesto, aportacionafp, seguroafp, comisionafp,
aportacionessalud;
double afp = 10;
double comision = 2.5;
double seguro = 1.8;
double essalud = 12;

FUNDAMENTO DE PROGRAMACION
54
DESARROLLO DE APLICACIONES
Codificación del Caso
void main()
{
cout<<“Ingrese total de hora trabajadas ”;
cin>>horas;
cout<<“Ingrese costo por hora del trabajador ”;
cin>>costo;
cout<<“Ingrese la tasa de impuesto del trabajador ”;
cin>>tasa;
sueldo = horas * costo;
impuesto = sueldo * (tasa/100);
aportacionafp = sueldo * (afp/100);
seguroafo = sueldo * (seguro/100);

FUNDAMENTO DE PROGRAMACION
55
DESARROLLO DE APLICACIONES
Codificación del Caso
comision = sueldo * (comision/100);
aportacionessalud = sueldo * (essalud/100);
descuento = (aportacionafp + seguroafp + comisionfafp) + impuesto;
neto = sueldo – descuento;
Cout<<“a recibir: “<<neto<<” sueldo: “<<sueldo<<” descuento:
“<<descuento<<“ Essalud: “<<aportacionessalud
}

FUNDAMENTO DE PROGRAMACION
56
DESARROLLO DE APLICACIONES
FIN DE LA SECCION UNO

PLANTEAR SOLUCIONES A CASOS


USANDO ALGORITMOS
FUNDAMENTO DE PROGRAMACION
57
DESARROLLO DE APLICACIONES
FUNDAMENTO DE PROGRAMACION
58
DESARROLLO DE APLICACIONES
FUNDAMENTO DE PROGRAMACIÓN
DESARROLLO DE APLICACIONES
PRESENTADO POR: ABCSOFT
INSTRUCTOR: ALBERTO BUENO
SESION 2
SEGUNDO DÍA DE EXPOSICIÓN

FUNDAMENTO DE PROGRAMACION
60
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL
• ESTRUCTURA DE CONTROL SECUENCIAL

• ESTRUCTURA DE CONTROL SELECTIVO

• ESTRUCTURA DE CONTROL REPETITIVO

FUNDAMENTO DE PROGRAMACION
61
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SECUENCIAL

FUNDAMENTO DE PROGRAMACION
62
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SECUENCIAL

FUNDAMENTO DE PROGRAMACION
63
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SECUENCIAL
Desarrollar un programa que permita calcular las cuatro operaciones (sumar, restar,
multiplicar, dividir) con dos datos ingresados por teclado y luego muestre el resultado.

{Programa que permite calcular las cuatro operaciones con dos datos}
INICIO
VAR dato1, dato2 tipo entero
VAR resultado tipo real
VAR operador tipo carácter
ESCRIBIR “Ingrese el primer dato “
LEER dato1
ESCRIBIR “Ingrese el segundo dato”
LEER dato2
suma = dato1 + dato2
resta = dato1 – dato2
FUNDAMENTO DE PROGRAMACION
64
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SECUENCIAL
multiplicacion = dato1 * dato2
division = dato1 / dato2
ESCRIBIR “La suma es: “,suma
ESCRIBIR “La resta es: “, resta
ESCRIBIR “La multiplicación es: “,multiplicacion
ESCRIBIR “La división es: “, division
FINAL

FUNDAMENTO DE PROGRAMACION
65
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SELECTIVO
SI_ENTONCES

FUNDAMENTO DE PROGRAMACION
66
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SELECTIVO
Sintaxis:
SI <condición> ENTONCES
<instrucción 1>
<instrucción 2>
….
<instrucción n>
FIN_SI

FUNDAMENTO DE PROGRAMACION
67
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SELECTIVO
SI_ENTONCES_SINO

FUNDAMENTO DE PROGRAMACION
68
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SELECTIVO
Sintaxis:
SI <condición> ENTONCES
<instrucción 1> {proceso que realizan la parte verdadera}
<instrucción 2>
….
<instrucción n>
SINO
<instrucción 1> {proceso que realizan la parte falsa}
<instrucción 2>
….
<instrucción n>
FIN_SI

FUNDAMENTO DE PROGRAMACION
69
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SELECTIVO
SI_ENTONCES_SINOSI_SINO

FUNDAMENTO DE PROGRAMACION
70
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SELECTIVO
Sintaxis:
SI <condición> ENTONCES
<instrucción 1> {proceso que realizan la parte verdadera}
<instrucción 2>
….
<instrucción n>
SINO SI <condición> ENTONCES
<instrucción 1> {proceso que realizan la parte falsa, pero se vuelve a evaluar}
<instrucción 2>
….
<instrucción n>
….
SINO SI <condición> ENTONCES
<instrucción 1> {proceso que realizan la parte falsa, pero se vuelve a evaluar}
<instrucción 2>
….
<instrucción n>
SINO
<instrucción 1> {proceso que realizan la parte falsa}
<instrucción 2>
….
<instrucción n>
FIN_SI

FUNDAMENTO DE PROGRAMACION
71
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SELECTIVO
HACER_SEGUN

FUNDAMENTO DE PROGRAMACION
72
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL SELECTIVO
HACER SEGÚN <condición>
SEGÚN <valor 1>
<instrucción 1>
<instrucción 2>
….
<instrucción n>
SEGÚN <valor 2>
<instrucción 1>
<instrucción 2>
….
<instrucción n>

SEGÚN <valor n>
<instrucción 1>
<instrucción 2>
….
<instrucción n>
DEFECTO <mensaje/instrucción>
FIN_SEGUN

FUNDAMENTO DE PROGRAMACION
73
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL REPETITIVO

PARA_FIN PARA

FUNDAMENTO DE PROGRAMACION
74
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL REPETITIVO

Sintaxis:
PARA <variable> <valor inicial> hasta <valor final> paso <valor>
<instrucción 1>
<instrucción 2>
….
<instrucción n>
FIN_PARA

FUNDAMENTO DE PROGRAMACION
75
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL REPETITIVO

HACER_MIENTRAS

FUNDAMENTO DE PROGRAMACION
76
DESARROLLO DE APLICACIONES
ESTRUCTURA DE CONTROL REPETITIVO

HACER MIENTRAS <condición>


<instrucción 1>
<instrucción 2>
….
<instrucción n>
FIN_MIENTRAS

FUNDAMENTO DE PROGRAMACION
77
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 1: Calculo del sueldo del trabajador fijo y por horas

Una empresa tiene trabajadores con sueldo fijo y otros por horas. Los
que tienen sueldo por horas se les paga de la siguiente manera: los
que pertenecen a la categoría A se les paga 10; los de la categoría B se
les paga 8; los de la categoría C se les paga 7.5 y los de la categoría D
se les paga 6. Desarrolle y algoritmo que permita calcular el sueldo
neto de un trabajador, sabiendo que todos tienen descuentos de AFP
el 8.5%, seguro 1.8% y comisión 2.5% de sueldo, además descontar un
porcentaje de la renta y calcular EsSalud de cada trabajador como
aportación de la empresa. El programa permitirá repetir tantas veces
como se desea calcular el sueldo de un trabajador. La empresa ha
considerado pagar horas extras a sus trabajadores con sueldo fijo,
siempre que supere las 40 horas semanales a razón por hora adicional
extra un 20% del costo de su hora normal.

FUNDAMENTO DE PROGRAMACION
78
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

SUELDO NETO
(1) Se desea calcular el sueldo neto de un trabajador fijo y otro que esta por
horas:
1. Trabajador Fijo será: neto = sueldo – descuentos
2. Trabajador por horas será: neto = (pagocategoria * horas) -
descuento

INGRESAR DATOS DEL TRABAJADOR


(2) Se ingresará por teclado los siguientes datos: nombre del trabajador, tipo
de trabajador, sueldo para los fijos, horas para los que trabajan por horas,
categoría a la que pertenece. Para calcular el sueldo neto de cada uno de
los trabajadores.

FUNDAMENTO DE PROGRAMACION
79
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

DETERMINAR TIPO DE TRABAJADOR


(3) Se debe determinar el tipo de trabajador para poder calcular su sueldo
bruto. Y esto se hará de la siguiente manera:
tipo trabajador; será (1) para trabajador fijo y (2) para trabajador por
horas. Se puede hacer también usando caracteres.

CALCULAR EL SUELDO DEL TRABAJADOR


(4) Para los trabajadores fijo no se tendrá que calcular el sueldo bruto, por
que se ingresa. Mientras que los trabajadores por horas se tendrá que
calcular de la siguiente manera: sueldo = horas * categoria, en donde las
categorías son: A = 10, B = 8, C = 7.5 y D = 6.

FUNDAMENTO DE PROGRAMACION
80
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

CALCULO DE LAS HORAS EXTRAS


(5) La empresa a considerado el pago por concepto de hora extra, aquella que
se realiza después de la jornada laboral (mayor a 40 horas) y esta será
pagada de la siguiente manera:
5.1 calcular el costo por hora normal del trabajador
costohora = sueldo / 160 porque se trabaja 40 horas por semana
multiplicado por 4 semanas da 160 horas.
5.2 calcular el costo de la hora extra del trabajador
costoextra = costohora * 0.2

FUNDAMENTO DE PROGRAMACION
81
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

CALCULAR DESCUENTO DEL TRABAJADOR


(6) Para calcular los descuentos, se debe tener presente; que estos descuentos son
de diferente tipos y estos son: los descuento de AFP, los descuentos de impuesto
a la renta que viene hacer un porcentaje al mes del año proyectado de acuerdo a
un monto que establece SUNAT.
6.1 impuesto a la renta: el impuesto se cobra al año pero se amortiza
mensualmente siempre que supere los montos según la escala. La escala se
muestra a continuación:
escala 1: de 0 hasta 30000 impuesto 0%
escala 2: de 30001 hasta 50000 impuesto 10%
escala 3: de 50001 hasta 90000 impuesto 15%
escala 4: más de 90000 impuesto 18%
impuesto = (sueldo * escala) / 12

FUNDAMENTO DE PROGRAMACION
82
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

para aplicar el impuesto a la renta deberá hacerse una proyección


del sueldo del trabajador para ver en escala esta.
monto = sueldo * 12
6.2 descuentos por AFP: los descuentos por la aportación que hacen los
trabajadores a su afp es de la siguiente manera, se aplica a todos los
trabajadores tanto los fijos como los por horas.
aportacionafp = sueldo * (afp/100)
seguroafp = sueldo * (seguro/100)
comisionafp = sueldo * (comision/100)
descuentoafp = aprotacionafp + seguroafp + comisionafp
CALCULO DE LA APORTACION ESSALUD
(7) Calcular la aportación del trabajador
aportacionessalud = sueldo * (essalud/100)

FUNDAMENTO DE PROGRAMACION
83
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

CALCULAR EL TOTAL DE DESCUENTO


(8) Calculo del total de descuento que se le hace al trabajador que viene a
hacer la sumatoria del descuentoafp más la amortización del impuesto a
renta de quita categoría.
descuento = descuentoafp + impuesto

FINALMENTE CALCULAR EL NETO


(9) Calculo de sueldo neto del trabajador que se obtiene después de haber
restado del sueldo total los descuentos de ley y otros descuentos que
tuviera el trabajador.
neto = sueldo - descuento

FUNDAMENTO DE PROGRAMACION
84
DESARROLLO DE APLICACIONES
Variables del caso:
Las variables del caso se obtiene de la siguiente manera:
neto = sueldo – descuento
Neto: es el importe a pagar después de haber obtenido el sueldo
y restado los descuentos. La variable es: VAR sueldo de tipo real.
Por ser una variable que calcula el monto con decimales.
Sueldo: viene hacer el monto asignado al trabajador fijo, para el
trabajado por horas es el calculo de todas las horas trabajadas
por el trabajador multiplicado por el costo por hora que se le
asigna al trabajador según su categoría. La variable es: VAR
salario de tipo real. Por ser una variable que calcula montos con
datos reales para el caso de lo trabajadores por horas.

FUNDAMENTO DE PROGRAMACION
85
DESARROLLO DE APLICACIONES
Variables del caso:
Descuento: corresponde a la sumatoria de todos los descuentos que se le
hace al trabajador, estos descuentos se divide en tres: los descuentos de la
aportación afp, descuento de impuesto a la renta y otros tipos de descuentos
que tuviera el trabajador. La variable es: VAR Descuento de tipo real. Por se
una variable que calcula con decimales.
sueldo = horas * categoria
Horas: son la horas trabajas por el trabajador; esta son ingresadas por el
teclado. La variable es: VAR horas de tipo entero. Por ser una variable que
ingresa datos enteros.
Categoría: todo trabajador por horas tiene una categoría de pago y esta se
compone de la siguiente manera:
Categoría A costo por hora 10 Categoría A costo por hora 8
Categoría C costo por hora 7.5 Categoría D costo por hora 6

FUNDAMENTO DE PROGRAMACION
86
DESARROLLO DE APLICACIONES
Variables del caso:
La categoría a la que pertenece un trabajador por horas no es una variable,
sino una constante, porque tiene valores ya asignados a una variable y esta
son:
CONST A = 10 CONST B = 8 CONST C = 7.5 CONST D = 6
impuesto = (sueldo * escala) / 12
monto = sueldo * 12
Impuesto: Es el descuento que se hace al trabajador como renta de quinta
categoría según SUNAT, y este se prorratea entre los 12 meses del año,
siempre y cuando en la proyección alcance el impuesto. La variable es: VAR
impuesto de tipo real. Porque los cálculos se hacen con decimales.
Monto: Es la proyección de los 12 sueldo al año que percibe un trabajador fijo
o por horas. La variables es: VAR monto de tipo real. Algunos cálculos de los
sueldos de los trabajadores son con decimales.
FUNDAMENTO DE PROGRAMACION
87
DESARROLLO DE APLICACIONES
Variables del caso:
aportacionafp = sueldo * (afp/100)
Aportacionafp: Es la variable que permite saber cual la
aportación que hace un trabajador a su afp. La variable es: VAR
aportacionafp de tipo real. Las operaciones de calculo son con
decimales.
afp: es una constante que permite calcular la aportación del
trabajador para su fondo de pensiones, no es ingresada ya esta
en el programa. La constante es representado por una variable la
cual toma el valor y es: CONST afp = 8.5%

FUNDAMENTO DE PROGRAMACION
88
DESARROLLO DE APLICACIONES
Variables del caso:
seguroafp = sueldo * (seguro/100)
Seguroafp: Es una variable que permite calcular el seguro de vida
del trabajador que se entrega a la afp, esta se obtiene de la
multiplicación del sueldo por la constante de seguro. La variable
es: VAR seguroafp de tipo real. El calculo que se obtiene con
esta variable es decimal.
seguro: Es una constante que permite calcular el seguro del
trabajador para su seguro de vida, no es ingresada ya esta en el
programa. La constante es representado por una variable la cual
toma el valor y es: CONST seguro = 1.8%

FUNDAMENTO DE PROGRAMACION
89
DESARROLLO DE APLICACIONES
Variables del caso:
comisionafp = sueldo * (comision/100)
comisionafp: Es una variable que permite calcular la comisión
que cobra la afp al trabajador, esta calculo se hace multiplicando
sueldo por el porcentaje de la comisión. La variable es: VAR
comisionafp de tipo real. Por que el calculo de la comisión se
obtiene valores decimales.
comision: es una constante que permite calcular la comisión de
la AFP obtenida del sueldo que recibe, no es ingresada ya esta en
el programa. La constante es representado por una variable la
cual toma el valor y es: CONST comision = 2.5%

FUNDAMENTO DE PROGRAMACION
90
DESARROLLO DE APLICACIONES
Variables del caso:
descuentoafp = aprotacionafp + seguroafp + comisionafp
descuentoafp: Es una variable que obtiene la sumatoria de los descuentos
que se le hace al trabajador, tanto de la AFP como del impuesto que paga. La
variables es: VAR descuentoafp de tipo real. Por que la sumatoria de los
descuentos contiene decimales.
aportacionessalud = sueldo * (essalud/100)
aportacionessalud: Es una variable que calcula la aportación que hace la
empresa a essalud para un trabajador. La variables es: VAR aportacionessalud
de tipo real. La variable es de tipo real porque en el proceso se tendrá
resultado con decimales, por ser una operación con porcentajes.
esSalud: Es una constante que permite calcular la aportación que hace la
empresa al seguro por cada trabajador, no es ingresada ya esta en el
programa. La constante es representado por una variable la cual toma el valor
y es: CONST essalud = 2.5%

FUNDAMENTO DE PROGRAMACION
91
DESARROLLO DE APLICACIONES
Variables del caso:
descuento = descuentoafp + impuesto
Descuento: Es la variable contiene la sumatoria de todos los descuentos que
se hace al trabajador. Estos descuentos son: descuento a la AFP, descuento al
impuesto a la renta y otros descuentos que se le puede hacer. La variable es:
VAR descuento de tipo real. La operaciones de esta variable contiene
decimales por lo tanto el resultado final contiene datos con fracciones.

FUNDAMENTO DE PROGRAMACION
92
DESARROLLO DE APLICACIONES
Variables del caso:
Resumen:
Variables del caso
VAR neto de tipo real VAR sueldo de tipo real
VAR descuento de tipo real VAR horas de tipo entero
VAR costo de tipo real VAR impuesto de tipo real
VAR descuentoafp de tipo real VAR aportacionafp de tipo real
VAR comisionafp de tipo real VAR seguroafp de tipo real
VAR categoria de tipo real VAR aportacionessalud de tipo real
VAR monto de tipo real VAR tipo de tipo entero
VAR seguir de tipo carácter VAR opcion de tipo caracter

FUNDAMENTO DE PROGRAMACION
93
DESARROLLO DE APLICACIONES
Variables del caso:
Constantes del caso
CONST a = 10 CONST b = 8
CONST c = 7.5 COSNT d =6
CONST afp = 10% CONST seguro = 1.8%
CONST comision = 2.5% CONST essalud = 2.5%

FUNDAMENTO DE PROGRAMACION
94
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
INICIO
{Programa que permite calcular sueldo neto de un trabajador con
descuentos}
VAR horas, tipo Tipo Entero
VAR neto, impuesto, aportacionafp, seguroafp, comsionafp Tipo Real
VAR descuento, aportacionessalud, costo, sueldo, monto Tipo Real
VAR descuentoafp Tipo Real
VAR seguir, opcion Tipo Caracter
CONST afp = 10.0%
CONST seguro = 1.8%
CONST comision = 2.5%
CONST essalud = 12.0%

FUNDAMENTO DE PROGRAMACION
95
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
CONST a = 10
CONST b = 8
CONST c = 7.5
CONST d = 6
seguir = “s”
HACER MIENTRAS seguir = “s”
ESCRIBIR “Ingrese tipo de trabajador (1) fijo (2) horas: “
LEER tipo
SI tipo = 1 ENTONCES
ESCRIBIR “Ingrese sueldo: “
LEER sueldo
SINO

FUNDAMENTO DE PROGRAMACION
96
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
ESCRIBIR ” Ingrese total de horas trabajadas: “
LEER horas
ESCRIBIR “Ingrese categoría de pago: “
LEER opcion
{calcular el sueldo de los trabajadores por horas}
HACER SEGÚN categoria
SEGÚN ‘a’
categoria = a
SEGÚN ‘b’
categotia = b
SEGÚN ‘c’

FUNDAMENTO DE PROGRAMACION
97
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
categoria =c
SEGÚN ‘d’
categoria = d
DEFECTO
ESCRIBIR “solo las categorias (a,b,c o d)”
FIN_SEGUN
sueldo = horas * categoria
FIN_SI
{calcular el impuesto según proyección del sueldo del trabajador}
monto = sueldo * 12
SI monto <= 30000 ENTONCES
escala = 0

FUNDAMENTO DE PROGRAMACION
98
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
SINO SI monto > 30000 y monto <= 50000 ENTONCES
escala = 0.1
SINOSI monto > 50000 y monto <= 90000 ENTONCES
escala = 0.15
SINO
escala = 0.2
FIN_SIN
impuesto = sueldo * (escala / 12)
{calcular las aportaciones a la AFP}
aportacionafp = sueldo * (afp/100)
comisionafp = sueldo * (comisión/100)
seguroafp = sueldo * (seguro/100)

FUNDAMENTO DE PROGRAMACION
99
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
descuentoafp = aportacionafp + comisionafp + seguroafp
{cálculo de la aportación EsSalud por parte de la empresa}
aportacionessalud = sueldo * (essalud/100)
{calculo total de descuento del trabajador}
descuento = descuentoafp + impuesto
{cálculo del sueldo neto del trabajador}
neto = sueldo – descuento
ESCRIBIR “Sueldo: “,sueldo
ESCRIBIR “Descuentos”
ESCRIBIR “Aportación AFP: “,descuentoafp
ESCRIBIR “Retención quinta categoría: “, impuesto
ESCRIBIR “Aportación EsSalud: “, aportacionessalud

FUNDAMENTO DE PROGRAMACION
100
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
ESCRIBIR “Neto a Recibir: “, neto
ESCRIBIR
ESCRIBIR “Desea calcular el sueldo de otro trabajador (s/n) “
LEER seguir
SI seguir =”n” ENTONCES
SALIR
FIN_SI
FIN_MIENTRAS
FINAL

FUNDAMENTO DE PROGRAMACION
101
DESARROLLO DE APLICACIONES
Codificación del Caso
//Programa que permite calcular sueldo neto de un trabajador con
descuentos
#include<iostream>
using namespace std;
int horas, tipo;
double neto, impuesto, aportacionafp, seguroafp, comisionafp;
double descuento, aportacionessalud, costo, sueldo, monto;
double descuentoafp,categoria,escala;
char seguir, opcion;
double afp = 10.0, seguro = 1.8,comision = 2.5,essalud = 12.0;
float a = 10,b = 8,c = 7.5,d = 6;

FUNDAMENTO DE PROGRAMACION
102
DESARROLLO DE APLICACIONES
Codificación del Caso
void main()
{
seguir='s';
do
{
cout<<"Ingrese tipo de trabajador (1) fijo (2) horas: ";
cin>>tipo;
if(tipo==1)
{
cout<<"Ingrese sueldo: ";
cin>>sueldo;
}

FUNDAMENTO DE PROGRAMACION
103
DESARROLLO DE APLICACIONES
Codificación del Caso
else
{
cout<<"Ingrese total de horas trabajadas: ";
cin>>horas;
cout<<"Ingrese categoria de pago: ";
cin>>opcion;
//calcular el sueldo de los trabajadores por horas
switch(opcion)
{
case 'a':categoria=a;
break;
case 'b':categoria=b;
break;

FUNDAMENTO DE PROGRAMACION
104
DESARROLLO DE APLICACIONES
Codificación del Caso
case 'a':categoria=a;
break;
case 'b':categoria=b;
break;
sueldo = horas * categoria;
}
//calcular el impuesto según proyección del sueldo del trabajador}
monto = sueldo * 12;
if(monto<=30000)
escala=0;
else if((monto>30000)&&(monto<=50000))
escala=0.1;

FUNDAMENTO DE PROGRAMACION
105
DESARROLLO DE APLICACIONES
Codificación del Caso
else if((monto>50000)&&(monto<=90000))
escala=0.15;
else
escala=0.2;
impuesto = sueldo * (escala / 12);
//calcular las aportaciones a la AFP}
aportacionafp = sueldo * (afp/100);
comisionafp = sueldo * (comision/100);
seguroafp = sueldo * (seguro/100);
descuentoafp = aportacionafp + comisionafp + seguroafp;
//cálculo de la aportación EsSalud por parte de la empresa
aportacionessalud = sueldo * (essalud/100);
//calculo total de descuento del trabajador

FUNDAMENTO DE PROGRAMACION
106
DESARROLLO DE APLICACIONES
Codificación del Caso
descuento = descuentoafp + impuesto;
//cálculo del sueldo neto del trabajador
neto=sueldo-descuento;
cout<<"Sueldo: "<<sueldo<<endl;
cout<<"Descuentos"<<endl;
cout<<"Aportación AFP: "<<descuentoafp<<endl;
cout<<"Retención quinta categoría: "<<impuesto<<endl;
cout<<"Aportación EsSalud: "<<aportacionessalud<<endl;
cout<<"Neto a Recibir: "<<neto<<endl<<endl;
cout<<"Desea calcular el sueldo de otro trabajador (s/n) ";
cin>>seguir;
if(seguir=='n')

FUNDAMENTO DE PROGRAMACION
107
DESARROLLO DE APLICACIONES
Codificación del Caso
break;
else
system("CLS");
}while(seguir);
}

FUNDAMENTO DE PROGRAMACION
108
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 2: Comprobante de pago Factura o Boleta
Una organización desea realizar un sistema que le permita
calcular las ventas y elaborar los comprobante de pagos tanto
para la factura, como para la boleta. Este sistema deberá
ingresar los datos del cliente y son: para la factura el nombre del
cliente, ruc y domicilio; para el caso de la boleta solo ingresar el
nombre del cliente y el domicilio. Luego ingresar el producto
precio y cantidad y esto se repetirá tantas veces como producto
se ingrese. Luego calcular los montos totales de venta, como el
igv y mostrarlo en pantalla desagregado par el caso de la factura
y no desagregado para el caso de la boleta. El sistema deberá
permitir ingresar otra venta luego.

FUNDAMENTO DE PROGRAMACION
109
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

ELABORAR EL COMPROBANTE DE PAGO


(1) Se desea elaborar una comprobante de pago, pudiendo escoger entre
factura o boleta, para lo cual elegiremos el tipo de comprobante.
Tipo de comprobante : para (1) Factura para (2) Boleta

OBTENER LOS DATOS DEL CLIENTE


(2) Para obtener los datos del cliente, previamente se tiene que saber que
tipo de cliente es: si es cliente que solicita factura los datos a obtener
deben ser: nombre del cliente, ruc y domicilio del cliente. Si el cliente
solicita boleta los datos a obtener será: nombre del cliente y domicilio.
Estos datos serán ingresado por teclado.

FUNDAMENTO DE PROGRAMACION
110
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

INGRESAR LA VENTA DE PRODUCTOS


(3) Para elaborar el comprobante y registrar la venta de producto, esto serán
ingresado por teclado, tanta veces como el cliente desea comprar. Por
tanto esta se repetirá en forma condicional. Los datos que serán
ingresados son: producto, precio y cantidad.

CALCULAR EL MONTO DE VENTA


(4) Calcular el monto de venta por producto y esto es de la siguiente manera:
monto = precio * cantidad

ACUMULAR LOS MONTOS DE VENTA


(5) Se debe sumar los montos de ventas por cada producto que se vende:
total = total + monto

FUNDAMENTO DE PROGRAMACION
111
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

CALCULAR EL IGV DE LA VENTA


(6) Obtenido el total de montos se calcula el impuesto IGV.
Igv = total * 0.18

MOSTRAR EL RESULTADO POR PANTALLA


(7) Calculado todos valores de la venta mostrar en pantalla
Total :
Igv:
A pagar:

FUNDAMENTO DE PROGRAMACION
112
DESARROLLO DE APLICACIONES
Variables del caso:
La variable de este caso se obtiene de la siguiente manera:
Tipo de comprobante : para (1) Factura para (2) Boleta
Tipo: Es una variable que define el tipo de comprobante que se va elaborar en
la venta de productos. La variables es: VAR tipo es de tipo entero. Es variable
elegirá a un tipo de comprante y este se elige por número enteros.
Datos de los clientes que se ingresa por teclado:
Nombre: Es una variable que permitirá ingresar el nombre del cliente, tanto
para la factura como para la boleta. La variables es: VAR nombre es de
cadena. Porque se va a ingresar una cadena de caracteres.
Ruc: Es una variable que permitirá ingresa el ruc del cliente para los que
soliciten factura. La variable es: VAR ruc es tipo entero. El número de ruc de
una cliente que solicita factura son números enteros.
Domicilio: Es una variable que permitirá ingresar el domicilio del cliente tanto

FUNDAMENTO DE PROGRAMACION
113
DESARROLLO DE APLICACIONES
Variables del caso:
Para el que solicita factura como el que solicita boleta. La variable es: VAR
domicilio es de tipo cadena. El dato que esta contenido en esta variables es
una cadena de caracteres.
Ingresar datos del producto:
Producto: Es la variables que permite ingresar el nombre del producto que se
va a comprar. La variables es: VAR producto de tipo cadena. Esta variable usa
el nombre de un producto por lo tanto es una cadena de caracteres.
Cantidad: Es la variable que permite ingresar la cantidad de producto que se
vende a través del comprobante de pago. La variable es: VAR cantidad de tipo
entero. Este dato es un número entero.
Precio: Es la variable que permite ingresar el precio del producto que se
vende a través del comprobante de pago. La variables es: VAR precio de tipo
real. Los precios por lo general tiene decimales y por eso este tipo de
variable.

FUNDAMENTO DE PROGRAMACION
114
DESARROLLO DE APLICACIONES
Variables del caso:
monto = precio * cantidad
Monto: Es la variable que permite calcular el monto de venta de la
multiplicación de precio por la cantidad vendido. La variables es: VAR monto
de tipo real. La operación que se realiza con esta variables es con decimales.
Precio: Es la variable que permite ingresar el precio de un producto y luego se
realice la operación de cálculo. La variables es: VAR precio de tipo real. Los
precios tiene valores decimales en la mayoría de los casos.
Cantidad: Es la variable que permite ingresar la cantidad de compra de un
producto. La variable es: VAR cantidad de tipo entero. Los productos que se
compra son por unidades.
total = total + monto
Total: Es la variable que acumula los montos de la operación de compra de un
producto. La variable es: VAR total de tipo real. Los montos contiene
decimales

FUNDAMENTO DE PROGRAMACION
115
DESARROLLO DE APLICACIONES
Variables del caso:
Igv = total * 0.18
Igv: Es la variable que calcula el impuesto del igv. La variables es: VAR igv de
tipo real. La operación de calculo del igv es con decimales, por que se calcula
en porcentaje.

Resumen:
VAR tipo es de tipo entero VAR nombre es de cadena
VAR cantidad de tipo entero VAR ruc es tipo entero
VAR producto es de cadena VAR precio de tipo real
VAR monto de tipo real VAR total de tipo real
VAR igv de tipo real

FUNDAMENTO DE PROGRAMACION
116
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
{Programa que registra la venta de productos a clientes y entrega un
comprobante
INICIO
VAR seguir, otro tipo carácter
VAR nombre, producto, dirección tipo cadena
VAR tipo, ruc, cantidad tipo entero
VAR precio, monto, total, igv tipo real
seguir = ”s”
otro = ”s”
total = 0
HACER MIENTRAS seguir =”s”
{definir tipo de comprobante}
ESCRIBIR “Elegir tipo de comprobante (1) Factura (2) Boleta”

FUNDAMENTO DE PROGRAMACION
117
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
LEER tipo
SI tipo = 1 ENTONCES
ESCRIBIR “Nombre del cliente: “
LEER nombre
ESCRIBIR “Ruc del cliente: “
LEER ruc
ESCRIBIR “Dirección del cliente; “
LEER direccion
HACER MIENTRAS otro = ”s”
ESCRIBIR “Producto: “
LEER producto
ESCRIBIR “Cantidad: “

FUNDAMENTO DE PROGRAMACION
118
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
LEER cantidad
ESCRIBIR “Precio: “
LEER
monto = cantidad * precio
total=total+monto
ESCRIBIR “otro producto (s/n) “
LEER otro
SI otro = “n” ENTONCES
igv = total * 0.18
ESCRIBIR " Total: ", total
ESCRIBIR " igv: ", igv;
ESCRIBIR "a pagar: ", total+igv

FUNDAMENTO DE PROGRAMACION
119
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
FIN_SI
FIN_MIENTRAS
SINO
{ingreso de la cabecera de venta para boleta}
ESCRIBIR “Nombre del cliente: “
LEER nombre
ESCRIBIR “Dirección del cliente; “
LEER direccion
HACER MIENTRAS otro = ”s”
ESCRIBIR “Producto: “
LEER producto
ESCRIBIR “Cantidad: “

FUNDAMENTO DE PROGRAMACION
120
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
LEER cantidad
ESCRIBIR “Precio: “
LEER
monto = cantidad * precio
total=total + monto
ESCRIBIR “otro producto (s/n) “
LEER otro
SI otro = “n” ENTONCES
igv = total * 0.18
ESCRIBIR " Total: ", total
ESCRIBIR "a pagar: ", total + igv
FIN_SI

FUNDAMENTO DE PROGRAMACION
121
DESARROLLO DE APLICACIONES
Pseudocódigo del Caso
FIN_MIENTRAS
FIN_SIN
ESCRIBIR “ otra venta (s/n) “
LEER seguir
SI seguir =”n” ENTONCES
SALIR
FIN_SIN
FIN_MIENTRAS
FINAL

FUNDAMENTO DE PROGRAMACION
122
DESARROLLO DE APLICACIONES
Codificación del Caso
//Programa que registra la venta de producto a clientes y entrega una
comprobante
#include<iostream>
using namespace std;
char seguir, otro;
char nombre[30], producto[10], direccion[30];
int tipo, ruc,cantidad;
double precio, monto, total, igv;
void main()
{
seguir='s';
otro='s';

FUNDAMENTO DE PROGRAMACION
123
DESARROLLO DE APLICACIONES
Codificación del Caso
total=0;
do
{
//Definir tipo de comprobante
cout<<"elegir tipo de comprobante (1) Factura (2) Boleta ";
cin>>tipo;
if(tipo==1)
{
//ingreso de la cabecera de venta para factura
system("CLS");
cout<<" Nombre del Cliente: ";
cin>>nombre;
cout<<" Ruc del cliete: ";

FUNDAMENTO DE PROGRAMACION
124
DESARROLLO DE APLICACIONES
Codificación del Caso
cin>>ruc;
cout<<"Direccion del Cliente: ";
cin>>direccion;
cout<<endl;
do
{
system("CLS");
cout<<" Nombre del Cliente: "<<nombre<<endl;
cout<<" Ruc del cliete: "<<ruc<<endl;
cout<<"Direccion del Cliente: “<<direccion<<endl<<endl;
cout<<"Producto: ";
cin>>producto;

FUNDAMENTO DE PROGRAMACION
125
DESARROLLO DE APLICACIONES
Codificación del Caso
cout<<"Cantidad: ";
cin>>cantidad;
cout<<" Precio: ";
cin>>precio;
cout<<endl<<endl;
monto=cantidad*precio;
total=total+monto
cout<<endl<<"Otro producto (s/n) ";
cin>>otro;
if(otro=='n')
{
igv=total*0.18;

FUNDAMENTO DE PROGRAMACION
126
DESARROLLO DE APLICACIONES
Codificación del Caso
cout<<" Total: "<<total<<endl;
cout<<" igv: "<<igv<<endl;
cout<<"a pagar: "<<total+igv<<endl<<endl;
system("PAUSE");
break;
}
}while(otro);
}
else
{
//ingreso de la cabecera de venta para boleta
system("CLS");

FUNDAMENTO DE PROGRAMACION
127
DESARROLLO DE APLICACIONES
Codificación del Caso
cout<<" Nombre del Cliente: ";
cin>>nombre;
cout<<"Direccion del Cliente: ";
cin>>direccion;
cout<<" "<<endl;
otro='s';
do
{
system("CLS");
cout<<" Nombre del Cliente: "<<nombre<<endl;
cout<<" Ruc del cliete: "<<ruc<<endl;
cout<<"Direccion del Cliente: “<<direccion<<endl<<endl;

FUNDAMENTO DE PROGRAMACION
128
DESARROLLO DE APLICACIONES
Codificación del Caso
cout<<"Producto: ";
cin>>producto;
cout<<"Cantidad: ";
cin>>cantidad;
cout<<" Precio: ";
cin>>precio;
cout<<endl<<endl;
monto=cantidad*precio;
total=total+monto
cout<<endl<<"Otro producto (s/n) ";
cin>>otro;
if(otro=='n')

FUNDAMENTO DE PROGRAMACION
129
DESARROLLO DE APLICACIONES
Codificación del Caso
{
igv=total*0.18;
cout<<" Total: "<<total<<endl;
cout<<" igv: "<<igv<<endl;
cout<<"a pagar: "<<total+igv<<endl<<endl;
system("PAUSE");
break;
}
}while(otro);
}
cout<<"Otra venta (s/n) ";
cin>>seguir;

FUNDAMENTO DE PROGRAMACION
130
DESARROLLO DE APLICACIONES
Codificación del Caso
if(seguir=='n')
break;
else
system("CLS");
}while(seguir);
}

FUNDAMENTO DE PROGRAMACION
131
DESARROLLO DE APLICACIONES
FIN DE LA SEGUNDA SESION

ESTRUCTURA DE CONTROL

FUNDAMENTO DE PROGRAMACION
132
DESARROLLO DE APLICACIONES
FUNDAMENTO DE PROGRAMACION
133
DESARROLLO DE APLICACIONES
FUNDAMENTO DE PROGRAMACIÓN
DESARROLLO DE APLICACIONES
PRESENTADO POR: ABCSOFT
INSTRUCTOR: ALBERTO BUENO
SESION 3
TERCER DÍA DE EXPOSICIÓN

FUNDAMENTO DE PROGRAMACION
135
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
DEFINICION: Es un conjunto de elementos con un nombre en común, los
cuales son del mismo tipo y se accede a ellos a través de un índice que hace
referencia a la posición de memoria donde se encuentra.

FUNDAMENTO DE PROGRAMACION
136
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
CLASIFICACION DE LOS ARREGLOS
ARREGLO UNIDIMENSIONAL (LISTA)
Es el tipo de arreglo más simple que existe, conocido como arreglo
unidimensional o lista. Es una matriz de una sola dimensión.

FORMA DE DECLARAR UNA LISTA


<nombre del arreglo> [<elementos>] = <lista de elementos>
DONDE:
<nombre del arreglo>: es una variable o palabra que hace mención al arreglo
[<elementos>] : total de elementos que contiene el arreglo
<lista de elementos>: son los datos que están contenidos en el arreglo

FUNDAMENTO DE PROGRAMACION
137
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
ARREGLOS BIDIMENSIONALES (TABLAS)
Un arreglo bidimensional es una tabla que esta compuesta por filas y
columnas. Para hacer referencia a un elemento de la tabla se indica el
nombre de la tabla y los índices que indica la fila y columna donde se
encuentra el elemento.

B [6][8] =

FUNDAMENTO DE PROGRAMACION
138
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
FORMA DE DECLARAR UNA TABLA
<nombre del arreglo> [<fila>,<columna>] = <lista de elementos>
DONDE:
<nombre del arreglo>: es una variable o palabra que hace mención al arreglo
<filas>: total de filas que contiene el arreglo y esta se lee en forma horizontal
<columnas> total de columnas que contiene el arreglo y esta se lee en forma
vertical.
<lista de elementos>: son los datos que están contenidos en el arreglo

FUNDAMENTO DE PROGRAMACION
139
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
ARREGLOS MULTIDIMENSIONALES
Los arreglos multidimensionales son de varias dimensiones, pudiendo ser de
tres, cuatro o más dimensiones. Estos arreglos solo se le utilizan para cálculos
matemáticos.

C[5][5][4] =

FUNDAMENTO DE PROGRAMACION
140
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
FORMA DE DECLARAR UNA MATRIZ MULTIDIMENSIONAL
<nombre del arreglo> [<d1>,<d2>,…,<dn>] = <lista de elementos>
DONDE:
<nombre del arreglo>: es una variable o palabra que hace mención al arreglo
[<d1>,<d2>,…,<dn>] : total de dimensiones que tiene el arreglo
<lista de elementos>: son los datos que están contenidos en el arreglo

FUNDAMENTO DE PROGRAMACION
141
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
{programa ingresa datos a un arreglo y luego se muestra}
INICIO
VAR arreglo[5] tipo entero
VAR x tipo entero
PARA x=1 hasta 5
ESCRIBIR “Número “, x
LEER arreglo[x]
FIN_PARA
ESCRIBIR "Se muestra a continuación los datos del arreglo"
PARA x=1 hasta 5
ESCRIBIR “Número “, x, arreglo[x]
FIN_PARA
FINAL

FUNDAMENTO DE PROGRAMACION
142
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
// programa ingresa datos a un arreglo y luego se muestra
#include<iostream>
using namespace std;
int arreglo[5]; //declaracion de variable arreglo
int x; //variable
void main()
{
for(x=1;x<=5;x++)
{
cout<<"Numero "<<x<<":";
cin>>arreglo[x];
}
cout<<"Se muestra a continuacion los datos del arreglo"<<endl<<endl;
for(x=1;x<=5;x++)
cout<<"Numero "<<x<<": "<<arreglo[x]<<endl;
}

FUNDAMENTO DE PROGRAMACION
143
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
{Programa que permite calcular el pago de un trabajador}
INICIO
VAR costo, sueldo, extra, total,x de tipo entero
VAR neto, impuesto de tipo real
VAR arreglo[5][20] tipo entero
arreglo[0][0]=1015,arreglo[0][1]=35,arreglo[0][2]=1;
arreglo[1][0]=1015,arreglo[1][1]=45,arreglo[1][2]=2;
arreglo[2][0]=1015,arreglo[2][1]=40,arreglo[2][2]=3;
arreglo[3][0]=1015,arreglo[3][1]=35,arreglo[3][2]=4;
arreglo[4][0]=1025,arreglo[4][1]=30,arreglo[4][2]=1;
arreglo[5][0]=1025,arreglo[5][1]=40,arreglo[5][2]=2;
arreglo[6][0]=1025,arreglo[6][1]=37,arreglo[6][2]=3;

FUNDAMENTO DE PROGRAMACION
144
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
arreglo[7][0]=1025,arreglo[7][1]=35,arreglo[7][2]=4;
x=0;
HACER MIENTRAS (x<=19)
SI arreglo[x][0]=NULL ENTONCES
SALIR
SINO
ESCRIBIR "CODIGO " “HORAS " "SEMANA " "COSTO” “ "TOTAL"
ESCRIBIR " "arreglo[x][0]" "<<arreglo[x][1]" "<<arreglo[x][2]
ESCRIBIR "Ingrese el costo por hora "
LEER costo;
arreglo[x][3]=costo;
SI arreglo[x][1]>34 ENTONCES

FUNDAMENTO DE PROGRAMACION
145
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
extra=(arreglo[x][1]-34)*(arreglo[x][3]*1.5);
arreglo[x][4]=(34*arreglo[x][3])+extra;
SINO
arreglo[x][4]=arreglo[x][1]*arreglo[x][3];
x=x+1
FIN_MIENTRAS
FINAL

FUNDAMENTO DE PROGRAMACION
146
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
//Programa que permite calcular el pago de un trabajador
#include<iostream>
using namespace std;
int costo, sueldo, extra,total;
float neto, impuesto;
int arreglo[5][20];
void main()
{
int x=0;
do
{
if(arreglo[x][0]==NULL)
break;

FUNDAMENTO DE PROGRAMACION
147
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
else
{
system("CLS");
cout<<"CODIGO "<<"HORAS "<<"SEMANA "<<"COSTO
"<<"TOTAL"<<endl;
cout<<" "<<arreglo[x][0]<<" "<<arreglo[x][1]<<"
"<<arreglo[x][2]<<endl<<endl;
cout<<"Ingrese el costo por hora ";
cin>>costo;
arreglo[x][3]=costo;
if(arreglo[x][1]>34)
{

FUNDAMENTO DE PROGRAMACION
148
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
extra=(arreglo[x][1]-34)*(arreglo[x][3]*1.5);
arreglo[x][4]=(34*arreglo[x][3])+extra;
}
else
arreglo[x][4]=arreglo[x][1]*arreglo[x][3];
x++;
}
}while(x<=19);
cout<<endl;
system("PAUSE");
}

FUNDAMENTO DE PROGRAMACION
149
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
OPERACIONES CON MATRICES:
RECORRIDO DEL ARREGLO
Es la operación en donde se empieza desde el inicio del arreglo hasta el final y
el puntero recorre cada uno de los índices en donde hay elementos o no.

FUNDAMENTO DE PROGRAMACION
150
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
INSERTAR UN ELEMENTO: Consiste en colocar un nuevo dato en el arreglo,
este puede estar al final de todos o un determinado lugar.

INSERTAR UN ELEMENTO AL FINAL

FUNDAMENTO DE PROGRAMACION
151
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES

INSERTAR UN ELEMENTO EN UNA POSICIÓN DETERMINADA

FUNDAMENTO DE PROGRAMACION
152
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
BORRAR UN ELEMENTO DEL ARREGLO
Consiste en eliminar un elemento del arreglo, esta eliminación se puede
hacer indicando el valor a eliminar, o indicando la última posición del índice.

BORRANDO LA ULTIMA POCISIÓN DE DATOS DEL ARREGLO

FUNDAMENTO DE PROGRAMACION
153
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES

BORRANDO UN DATO DETERMINADO

FUNDAMENTO DE PROGRAMACION
154
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
BUSCAR UN ELEMENTO EN EL ARREGLO
La búsqueda de un elemento dentro del arreglo tiene muchos propósitos, uno
es la actualizar o suprimir el elemento encontrado. La búsqueda se puede
hacer por medio del valor a buscar o por la posición en el arreglo (índice).

BÚSQUEDA POR EL INDICE DEL DATO

FUNDAMENTO DE PROGRAMACION
155
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
BÚSQUEDA POR EL VALOR DEL DATO

FUNDAMENTO DE PROGRAMACION
156
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
ACTUALIZACION DE DATOS EN EL ARREGLO
La actualización de datos del arreglo permite modificar los datos y tenerlos
siempre al día. Para ello se debe encontrar el dato al cual se va actualizar.

ACTUALIZACIÓN POR EL INDICE DEL DATO

FUNDAMENTO DE PROGRAMACION
157
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
ACTUALIZACIÓN POR EL VALOR DEL DATO

FUNDAMENTO DE PROGRAMACION
158
DESARROLLO DE APLICACIONES
LOS ARREGLOS O MATRICES
ORDENAMIENTO DE DATOS EN EL ARREGLO
Esta es una operación que consiste en ordenar los datos del arreglo en forma
ascendente o en forma descendente. Para ello existe varios métodos y más
utilizado es el Sort.

FUNDAMENTO DE PROGRAMACION
159
DESARROLLO DE APLICACIONES
LOS MODULOS DEL PROGRAMA
PROGRAMACIÓN MODULAR
La programación modular enseñará la descomposición de un programa en
modulo más simples de programar, y la programación estructurada permitirá
la escritura de programas fáciles de leer y modificar. En un programa
estructurado el flujo lógico se gobierna por las estructuras de control básicas:

• Secuencial
• Condicional
• Repetitivas

FUNDAMENTO DE PROGRAMACION
160
DESARROLLO DE APLICACIONES
LOS MODULOS DEL PROGRAMA

FUNDAMENTO DE PROGRAMACION
161
DESARROLLO DE APLICACIONES
LOS MODULOS DEL PROGRAMA
TAMAÑO DE LOS MODULOS
INICIO MODULO
Las líneas del módulo Si el módulo tiene dema-
pueden estar entre 30 siadas líneas tendrá que
ó 50 descomponerse en más
módulos

FIN MODULO

PROGRAMACIÓN ESTRUCTURADA
• Diseño descendente (top–down)
• Recursos abstractos
• Estructuras básicas

FUNDAMENTO DE PROGRAMACION
162
DESARROLLO DE APLICACIONES
LOS MODULOS DEL PROGRAMA
DISEÑO DESCENDENTE

FUNDAMENTO DE PROGRAMACION
163
DESARROLLO DE APLICACIONES
LOS MODULOS DEL PROGRAMA
ESTRUCTURA BASICA
En mayo de 1966 Böhm y Jacopini demostraron que un programa propio
puede ser escrito utilizando solamente tres tipos de estructuras de control.

• Selectivas
• Repetitivas

Un programa se define como propio si cumple las siguientes características:


• Posee un solo punto de entrada y uno de salida para el control del
programa.
• Existe caminos desde la entrada hasta la salida que se pueden seguir y que
pasan por todas las partes del programa.
• Todas las instrucciones son ejecutables y no existen lazos o bucles
infinitos.

FUNDAMENTO DE PROGRAMACION
164
DESARROLLO DE APLICACIONES
LOS MODULOS DEL PROGRAMA
EL PROGRAMA PRINCIPAL

PROGRAMA PRINCIPAL
INICIO
MODULO 1
MODULO 2
MODULO 3
MODULO 4
FINAL

FUNDAMENTO DE PROGRAMACION
165
DESARROLLO DE APLICACIONES
LOS MODULOS DEL PROGRAMA
LOS MODULOS

FUNDAMENTO DE PROGRAMACION
166
DESARROLLO DE APLICACIONES
LOS MODULOS DEL PROGRAMA
AMBITO DE LAS VARIABLES DE UN PROGRAMA
Existe dos tipos de ámbitos para las variables; las variables locales, las
variables son las variables globales

VAR x, y tipo Entero Variables globales

MODULO ENTRADA
INICIO
VAR x, y tipo Entero Variables locales
ESCRIBIR “1: “
LEER x
ESCRIBIR “2: “
LEER y
FINAL

FUNDAMENTO DE PROGRAMACION
167
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 1: Notas por categoría de estudiante
Desarrollar un programa mostrar el promedio de un alumno; pero los
alumnos se dividen en tres categorías: alumnos del nivel inicial, alumnos del
nivel primario y alumnos del nivel secundario. Cada nivel se compone de un
módulo, además del menú de opciones.

INICIO
{Programa elegir un nivel y procesar sus notas}
VAR GLOBAL p tipo entero
VAR GLOBAL n tipo cadena
VAR LOCAL a tipo entero
VAR LOCAL opción tipo entero
a=1

FUNDAMENTO DE PROGRAMACION
168
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 1: Notas por categoría de estudiante
HACER
LLAMAR menú
ESCRIBIR “Opción a elegir? “
LEER opción
HACER SEGÚN opción
SEGÚN 1
LLAMAR inicial
SEGÚN 2
LLAMAR primaria
SEGÚN 3
LLAMAR secundaria
SEGÚN 4

FUNDAMENTO DE PROGRAMACION
169
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 1: Notas por categoría de estudiante
a=0
DEFECTO
ESCRIBIR “Opción no validad”
FIN_SEGUN
SI a = 0 ENTONCES
BORRAR PANTALLA
SINO
ESCRIBIR “Resultado final del alumno “
ESCRIBIR “Alumno: “, n
ESCRIBIR “Promedio: “, p
MIENTRAS (a)
FINAL

FUNDAMENTO DE PROGRAMACION
170
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 1: Notas por categoría de estudiante
PROCEDIMIENTO menú
INICIO
ESCRIBIR “ Menú Principal”
ESCRIBIR “Elige una de las siguientes opciones”
ESCRIBIR “1. Secciones de Inicial”
ESCRIBIR “2. Secciones de Primaria”
ESCRIBIR “3. Secciones de Secundaria”
ESCRIBIR “4. Salir”
FINAL
PROCEDIMIENTO inicial
INICIO
ESCRIBIR “Procedimiento Inicial”

FUNDAMENTO DE PROGRAMACION
171
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 1: Notas por categoría de estudiante
ESCRIBIR “Nombre del Alumno”
LEER n
ESCRIBIR “Promedio del Alumno”
LEER p
FINAL
PROCEDIMIENTO primaria
INICIO
ESCRIBIR “Procedimiento Primaria”
ESCRIBIR “Nombre del Alumno”
LEER n
ESCRIBIR “Promedio del Alumno”
LEER p

FUNDAMENTO DE PROGRAMACION
172
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 1: Notas por categoría de estudiante
FINAL
PROCEDIMIENTO secundaria
INICIO
ESCRIBIR “Procedimiento secundaria”
ESCRIBIR “Nombre del Alumno”
LEER n
ESCRIBIR “Promedio del Alumno”
LEER p
FINAL

FUNDAMENTO DE PROGRAMACION
173
DESARROLLO DE APLICACIONES
DESARROLLO DE CASOS
Caso 2: Sistema de aplicativo calculadora
El jefe de proyecto le ha pedido que desarrolle una
calculadora como aplicación de un sistema contable,
esta calculadora deberá realizar solo las cuatro
operaciones que son suma, resta, multiplicación y
división. El procedimiento de la calculadora es como
cualquiera deberá ingresar los valores de cálculo y el
operador de la operación.

FUNDAMENTO DE PROGRAMACION
174
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

1. Determinar los módulos de programación para este


proyecto. Los módulos pueden ser: principal, ingreso,
calculo y mostrar resultado.
1. El modulo principal: es el ejecutor del proyecto, el cual
llamará cada modulo de programación y además contendrá
las variables de ámbito para los demás módulos.
2. Modulo de ingreso: este modulo captura los datos por
teclados y luego lo pasa ser calculados, además debe capturar
el operador para realizar las operaciones.
3. Modulo de cálculo: este modulo se encargara de procesar la
operación de los datos que se han capturado desde el modulo
de ingreso.
4. Modulo de mostrar resultado: este modulo se encargará de
mostrar el resultado de la operación realizada en el módulo
de cálculo.
FUNDAMENTO DE PROGRAMACION
175
DESARROLLO DE APLICACIONES
PLANTEAMIENTO DE LA SOLUCION DEL CASO

2. Con este proyecto se desea obtener un resultado con los datos


ingresados según la operación a realizar; pudiendo ser: suma, resta,
multiplicación o división; para lo cual se deberá ingresar el dato1 y el
dato2, además del operador.
3. Realizar la operación según el tipo de operador se ha ingresado al
programa.
1. Si el operador es (+) suma: realizar la operación de suma. Resultado = dato1
+ dato 2.
2. Si el operador es (-) resta: realizar la operación de resta. Resultado = dato1 –
dato 2.
3. Si el operador es (*) multiplicación: realizar la operación de multiplicación.
Resultado = dato1 * dato2.
4. Si el operador es (/) división: realizar la operación de división. Resultado =
dato1 / dato2.
4. Finalmente mostrar el resultado de la operación en pantalla o en otro
dispositivo de salida.

FUNDAMENTO DE PROGRAMACION
176
DESARROLLO DE APLICACIONES
DEFINICIONES DEL PROYECTO
DEFINICIONES DEL PROYECTO
DEFINICIONES DE LOS MODULOS DEL PROYECTO
1. Modulo principal del proyecto
2. Modulo de ingreso de datos
3. Modulo de cálculo de las operaciones
4. Modulo de mostrar el resultado
DEFICIONES DE LAS VARIABLES DEL PROYECTO
1. Dato1: Está es la primera variable que contendrá el dato que se va a
ingresar y ser calculado. La variable es: VAR dato1 de tipo real. Por ser
una variable que captura un número que puede ser entero o real.
2. Dato2: Esta es la segunda variable que contendrá el dato que se va a
ingresar y ser calculado. La variable es: VAR dato2 de tipo real. Por ser
una variable que captura un número que puede ser entero o real.

FUNDAMENTO DE PROGRAMACION
177
DESARROLLO DE APLICACIONES
DEFINICIONES DEL PROYECTO
3. Operador: Esta es la variable que definirá el tipo de operador para
realizar la operación de cálculo. La variables es: VAR operador de tipo
carácter. Por ser una variable que captura el símbolo del operador.
4. Resultado: Esta es la variable que contendrá el resultado de la operación
dada entre los datos ingresados y el operador seleccionado. La variable
es: VAR resultado de tipo real. Por ser una variable que podrá dar un
resultado entero o un resultado real.
Nota: todas las variables son globales, porque su ámbito es en todo el
proyecto de la calculadora, por lo tanto deberán ingresar a cada modulo para
realizar la operaciones.

FUNDAMENTO DE PROGRAMACION
178
DESARROLLO DE APLICACIONES
ALGORITMO DEL CASO

FUNDAMENTO DE PROGRAMACION
179
DESARROLLO DE APLICACIONES
PSEUDOCODIGO DEL CASO
{Programa de calculadora}
INICIO {Definición del módulo principal}
{Definición de los módulos del proyecto de sistema}
MODULO ingreso
MODULO calculo
MODULO mostrar
VAR dato1, dato2, resultado tipo real
VAR operador tipo carácter
{Llamar a los módulos}
LLAMAR MODULO ingreso
LLAMAR MODULO calculo
LLAMAR MODULO mostrar
MODULO ingreso

FUNDAMENTO DE PROGRAMACION
180
DESARROLLO DE APLICACIONES
PSEUDOCODIGO DEL CASO
INICIO
ESCRIBIR “ingrese primer dato: “
LEER dato1
ESCRIBIR “ingrese segundo dato: “
LEER dato2
ESCRIBIR “¿Qué operación desea realizar (+,-,*,/): “
LEER operador
FINAL
MODULO calculo
INICIO
HACER SEGÚN operador
SEGÚN ‘+’

FUNDAMENTO DE PROGRAMACION
181
DESARROLLO DE APLICACIONES
PSEUDOCODIGO DEL CASO
resultado = dato1 + dato2
SEGÚN ‘-’
resultado = dato1 - dato2
SEGÚN ‘*’
resultado = dato1 * dato2
SEGÚN ‘/’
resultado = dato1 / dato2
FIN_SEGUN
FINAL
MODULO mostrar
INICIO
ESCRIBIR “El resultado es: “, resultado

FUNDAMENTO DE PROGRAMACION
182
DESARROLLO DE APLICACIONES
PSEUDOCODIGO DEL CASO
FINAL
FINAL

FUNDAMENTO DE PROGRAMACION
183
DESARROLLO DE APLICACIONES
FIN DE LA TERCERA SESION

ARREGLOS Y PROGRAMACION
MODULAR
FUNDAMENTO DE PROGRAMACION
184
DESARROLLO DE APLICACIONES
PROXIMA CAPACITACIÓN

FUNDAMENTO DE PROGRAMACION
185
DESARROLLO DE APLICACIONES

También podría gustarte