Sunteți pe pagina 1din 24

1

FUNDACIN
UNIVERSIDAD PILOTO DE COLOMBIA
GUA EDUCATIVA DE LGICA Y FUNDAMENTOS DE
PROGRAMACIN NO. 004



CURSO: Lgica y Fundamentos de Programacin
UNIDAD: II Conceptos Fundamentales de Programacin
TEMA:
2.4 Tipos de Datos
2.5 Datos Simples (Datos numricos, alfanumricos y
lgicos)
2.6 Datos Compuestos(arreglos, registros)
2.7 Pseudo cdigo. Concepto.
2.8 Variable. Concepto.
2.9 Tipos de instrucciones

PROFESOR: Ingeniero Jaime Alberto Gutirrez Meja


OBJETIVOS:

1. Analizar los principales tipos de datos para un algoritmo
2. Visualizar los datos simples de una algoritmo (nmeros,
alfanmeros y datos lgicos)
3. Ver cmo operar con datos compuestos (arreglos y registros)
4. Introducir al estudiante en el conocimiento del pseudocdigo y su
relacin con los DFD.
5. Analizar las principales instrucciones de asignacin en
pseudocdigo.


EVALUACIN:

Al finalizar esta gua, el estudiante estar en capacidad de
comprender para qu son los datos y cul es su aplicacin real en la
definicin y especificacin de procedimiento algortmicos. As mismo
se introducir en el conocimiento del pseudocdigo y la forma como
se mapea desde un diagrama de flujo de datos, iniciando con esto las

2
bases para la futura implementacin en un lenguaje de programacin
especfico.

ALGORITMOS EN PSEUDOCDIGO

1) Un empleado trabaja 48 horas a la semana a razn de $5.000
pesos la hora. El porcentaje de retencin en la fuente es del
12.5% del salario bruto. Se desea saber cul es el salario bruto,
la retencin en la fuente y el salario neto del trabajador.

Solucin

ProgramaSalarioEmpleado;
//Definicin de variables y constantes
NumeroHoras: Entero;
ValorHora: Real;
NombreEmpleado: Cadena;

SalarioBruto: Real;
SalarioNeto: Real;
RetencionFuente: Real;

//Inicio del algoritmo
Inicio
Leer NombreEmpleado;

//Inicializacin de variables y constantes
NumeroHoras = 48;
ValorHora = 5000.00;
SalarioNeto = 0.00;
SalarioBruto = 0.00;
RetencionFuente = 0.00;

//Proceso o clculos
SalarioBruto = NumeroHoras * ValorHora;
RetencionFuente = (SalarioBruto * 12.5)/100;
SalarioNeto = SalarioBruto RetencionFuente;


//Salidas

3
Imprimir NombreEmpleado;
Imprimir SalarioNeto;
Imprimir SalarioBruto;
Imprimir RetencionFuente;

//Final del algoritmo
Fin.

2) Elabore un algoritmo que lea un nmero y obtenga su cuadrado y
su cubo.

Programa CuadradoCuboNumero;

//Definicin de Variables
Cuadrado: Real;
Cubo: Real;

//Inicio del Algoritmo
Inicio

//Inicializacin de variables
Cuadrado = 0.0;
Cubo = 0.0;

//Lectura del nmero
Repita
Leer Numero;
Mientras (Numero <= 0);

//Clculos o procesos
Cuadrado = Numero * Numero;
Cubo = Cuadrado * Numero;

//Salidas
Imprimir Numero;
Imprimir Cuadrado;
Imprimir Cubo;
//Final del algoritmo
Fin.


4
3) Elabore un algoritmo que lea un nmero negativo e imprima el
nmero y el positivo del mismo.

Programa PositivoNegativoNumero;

//Definicin de variables
Positivo: Real;
Negativo: Real;

//Inicio del algoritmo
Inicio

//Inicializacin de variables y constantes
Positivo = 0.0;
Negativo = 0.0;

//Lectura del nmero
Repita
Leer Numero;
Mientras (Numero >= 0);

//Clculos o procesos
Negativo = Numero;
Positivo = Numero * -1;

//Salidas de los procesos
Imprimir Numero;
Imprimir Positivo;
Imprimir Negativo;

//Final del Algoritmo
Fin.


4) Dado el radio de un crculo, haga un algoritmo que obtenga el
rea de un crculo y la longitud de la circunferencia.

Programa RadioLongitudCirculo;
//Definicin de Variables y constantes
Diametro: Real;

5
Longitud: Real;
Area: Real;
PI: Real;

//Inicio del algoritmo
Inicio

//Inicializacin de variables y constantes
Diametro = 0.0;
Longitud = 0.0;
Area = 0.0;
PI = 3.141592654;

//Lectura de datos
Repita
Leer Radio;
Mientras (Radio <= 0);

//Clculos
Diametro = 2 * Radio;
Longitud = PI * Diametro;
Area = PI * Radio * Radio;

//Salida de Resultados
Imprimir Radio;
Imprimir Diametro;
Imprimir Longitud;
Imprimir Area;

//Final del algoritmo
Fin.

5) Dado el valor de un tringulo equiltero, haga un algoritmo que
obtenga el permetro, el valor de la altura y el rea del tringulo.

Programa MedidasTriangulo;

//Definicin de variables
Area: Real;
Perimetro: Real;

6
Altura: Real;
Base: Real;
Cateto1: Real;
Cateto2: Real;
Hipotenusa: Real;

//Inicio del algoritmo
Inicio

//Inicializacin de variables
Area = 0.0;
Perimetro = 0.0;
Altura = 0.0;
Base = 0.0;
Cateto1 = 0.0;
Cateto2 = 0.0;
Hipotenusa = 0.0;

//Lectura de datos
Repita
Leer LadoTriangulo;
Mientras (LadoTriangulo <= 0);

//Clculos
//Altura del tringulo
Hipotenusa = LadoTriangulo;
Cateto2 = LadoTriangulo/2;
Cateto1 = sqrt ((Hipotenusa^2) - (Cateto2^2));
Altura = Cateto1;

//rea
Base = Cateto2;
Area = (Base * Altura)/2;

//Permetro
Perimetro = 3 * LadoTriangulo;

//Salida
Imprimir Area;
Imprimir Altura;

7
Imprimir Perimetro;

//Final del algoritmo
Fin.

6) Desarrolle un algoritmo para calcular la suma de los cuadrados de
los primeros 100 nmeros (0 al 99)

Programa SumaPrimeros100Numeros;
//Definicin de Variables
Suma: Entero;
Contador: Entero;
Cuadrado: Entero;

//Inicio del Algoritmo
Inicio

//Inicializacin de variables
Suma = 0;
Contador = 0;
Cuadrado = 0;

//Clculo
Mientras (Contador < 100)
Inicio Mientras
Cuadrado = Contador * Contador;
Suma = Suma + Cuadrado;
Contador = Contador + 1;
Fin Mientras

//Salida
Imprimir Suma;

//Final del algoritmo
Fin.




SOLUCIN DEL EXAMEN PARCIAL

8

7) Elabore un algoritmo (DFD y Pseudocdigo) para calcular la suma
y el promedio de los primeros n nmeros naturales partiendo de 0
en adelante hasta n (Emplee un ciclo repita mientras).

Programa SumaPromedioEnterosN;
//Definicin de variables
Contador: Entero;
Suma: Entero;
Promedio: Real;

//Inicio del Algoritmo
Inicio

//Inicializacin de variables
Contador = 0;
Suma = 0;
Promedio = 0.0;

//Lectura
Repita
Leer n;
Mientras (n <= 0);

//Inicializacin del ciclo
Contador = 0;
Repita
Suma = Suma + Contador;
Contador = Contador + 1;
Mientras (Contador < n);

Promedio = Suma/n;

//Salida
Imprimir Promedio;
Imprimir Suma;

//Final del Algoritmo
Fin.


9
8) Desarrolle un algoritmo (DFD y pseudocdigo) para imprimir los
nmeros necesarios que se necesitan para llegar a un valor dado.
Es decir, si al algoritmo se le introduce un 20, el algoritmo debe
mostrar los nmeros necesarios para llegar a 20, es decir,
1,2,3,4,5,6 y mostrar la diferencia que hace que dicha suma sea
igual al nmero dado.

Programa NumerosNecesariosLlegarValorN;
//Definicin de variables
Contador: Entero;
Suma: Entero;
Diferencia: Entero;

//Inicio del Algoritmo
Inicio

//Inicializacin de variables
Contador = 0;
Suma = 0;
Diferencia = 0;

//Lectura
Repita
Leer Numero;
Mientras (Numero <= 0);

//Inicializacin del ciclo
Contador = 0;
Repita
Imprimir Contador;
Suma = Suma + Contador;
Contador = Contador + 1;
Mientras (Contador < Suma);

Diferencia = Suma Numero;
//Salida
Imprimir Diferencia;
//Final del Algoritmo
Fin.


10
9) Desarrolle un algoritmo (DFD) y pseudocdigo para calcular el
total de la suma de los salarios de un conjunto n de empleados.
El salario bruto de cada empleado se calcula con la frmula
numero horas x valor de la hora. El algoritmo al final debe
mostrar el total de los salarios brutos acumulados y luego debe
calcular los siguientes descuentos generales a dicho total (15%
para salud, 14.5% para pensin y 2% para riesgos profesionales).
El algoritmo debe mostrar estos descuentos y al final el salario
neto global de toda la empresa (Total bruto sumatoria
descuentos).

Algoritmo SalarioEmpleado;

//Definicin de Variables
contadorEmpleados: Entero;
valor_hora: Real;
numero_horas_trabajadas: Entero;
totalSalarios: Real;
DescuentoPension: Real;
DescuentoSalud: Real;
DescuentoRiesgos: Real;


//Inicio del Algoritmo
Inicio

//Inicializacin de Variables
contadorEmpleados = 0;
valor_hora = 0.0;
numero_horas_trabajadas = 0;
totalSalarios = 0.0;
DescuentoPension = 0.0;
DescuentoSalud = 0.0;
DescuentoRiesgos = 0.0;

//Lectura de Datos

Repita
Leer numeroEmpleados;
Mientras (numeroEmpleados <= 0);

11

//Lectura de los salarios individuales
Mientras (contadorEmpleados < numeroEmpleados)
Inicio Mientras
Repita
Leer valor_hora;
Mientras (valor_hora <= 0);

Repita
Leer numero_horas_trabajadas;
Mientras (numero_horas_trabajadas <= 0);

totalSalarios = totalSalarios + (valor_hora *
numero_horas_trabajadas);

contadorEmpleados = contadorEmpleados + 1;

Fin Mientras

DescuentoSalud = (totalSalarios * 15)/100;
DescuentoPension = (totalSalarios * 14.5)/100;
DescuentoRiesgos = (totalSalarios * 2)/100;

//Salida de resultados
Imprimir totalSalarios;
Imprimir DescuentoPension;
Imprimir DescuentoSalud;
Imprimir DescuentoRiesgos;

//Obtenemos el neto final
totalSalarios = totalSalarios - (DescuentoPension +
DescuentoSalud + DescuentoRiesgos);

Imprimir totalSalarios;

//Fin del algoritmo
Fin.


12
10) Desarrolle un algoritmo (DFD y pseudocdigo) para calcular
el total de la suma de los dgitos de un nmero. Por ejemplo, si el
nmero es 125, el algoritmo debe mostrar los dgitos y la suma

Programa SumaDigitos;
//Declaracin de las variables
Suma: Entero;
Residuo: Entero;
Valor: Entero;

//Inicio del algoritmo
Inicio

//Inicializacin de las variables
Suma = 0;
Residuo = 0;
Valor = 0;

//Lectura de los datos
Repita
Leer Numero;
Mientras (Numero <= 0);

//Obtencin de los dgitos del nmero
Valor = Numero;

Mientras (Valor != 0)
Inicio Mientras

Residuo = Valor % 10;
Imprimir Residuo;
Suma = Suma + Residuo;
Valor = Valor / 10;
Fin Mientras

//Salida de los resultados
Imprimir Suma;

//Fin del algoritmo
Fin.

13
SOLUCIONES EN DFD
Inicio
NumeroHoras = 48;
ValorHora = 5000;
RetencionFuente = 0.0;
SalarioBruto = 0.0;
SalarioNeto = 0.0;
SalarioBruto = NumeroHoras * ValorHora;
RetencionFuente = (SalarioBruto * 12.5)/
100;
SalarioNeto = SalarioBruto - RetencionFuente
NombreEmpleado
SalarioBruto
SalarioNeto
RetencionFuente
Final
NombreEmpleado


14


15
Inicio
Numero
Numero >= 0
V
Negativo = 0.0;
Positivo = 0.0;
F
Negativo = Numero;
Positivo = Numero * -1;
Numero
Positivo
Negativo
Fin


16


17


18


19


20
Inicio
Numero
Numero <= 0
V
Contador = 0;
Suma = 0;
Diferencia = 0;
F
Suma = Suma + Contador
Contador = Contador + 1;
Contador <
Suma
V
Diferencia = Suma
Numero;
F
Diferencia
Fin
Desarrolle un algoritmo (DFD y
pseudocdigo) para imprimir los
nmeros necesarios que se
necesitan para llegar a un valor dado.
Es decir, si al algoritmo se le
introduce un 20, el algoritmo debe
mostrar los nmeros necesarios para
llegar a 20, es decir, 1,2,3,4,5,6 y
mostrar la diferencia que hace que
dicha suma sea igual al nmero dado
Contador


21
Inicio
numeroEmpleados
numeroEmplea
dos <= 0
V
contadorEmpleados = 0;
valor_hora = 0.0;
numero_horas_trabajadas = 0;
totalSalarios = 0.0;
DescuentoPension = 0.0;
DescuentoSalud = 0.0;
DescuentoRiesgos = 0.0;
F
contadorEmpleados <
numeroEmpleados
NumeroHor
as
NumeroHoras
<= 0
V
V
ValorHora
F
ValorHora <= 0
1
V
F
1
totalSalarios = totalSalarios + (valor_hora *
numero_horas_trabajadas);
contadorEmpleados = contadorEmpleados
+ 1;
2
2 3
F
3
DescuentoSalud = (totalSalarios * 15)/100;
DescuentoPension = (totalSalarios * 14.5)/100;
DescuentoRiesgos = (totalSalarios * 2)/100;
totalSalarios
DescuentoPension
DescuentoSalud
DescuentoRiesgos
totalSalarios = totalSalarios - (DescuentoPension +
DescuentoSalud + DescuentoRiesgos);
totalSalarios
Fin


22


23
TALLER DE ALGORITMOS



1) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular el
promedio de notas de un estudiante que tiene el siguiente
esquema de asignacin de porcentajes:

Nota I: 30%
Nota II: 30%
Nota III: 40%

2) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular el rea
y el permetro de un rectngulo.

3) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular los
valores A, B y C de una recta que pasa por los puntos (X1,Y1) y
(X2, Y2). La ecuacin de la recta es AX + BY + C = 0.

4) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular el
rea, el permetro y el semipermetro de un tringulo, dados los
tres valores de dicho tringulo.

5) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular la
cantidad de nmeros necesarios lograr la suma de un nmero
primo dado. As, si se introduce un 13 al algoritmo, este debe
imprimir los nmeros 1, 2, 3, 4 y 3.

6) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular la raz
cuadrada de la sumatoria de los primeros 100 nmeros (0 al 99).

7) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular el
logaritmo natural de la suma de los cuadrados de los primeros 200
nmeros (0 al 199).

8) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular el
nmero de horas transcurridos desde las 12:00 A.M. hasta la hora
actual.


24
9) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular la
suma de los cubos de los primeros n nmeros pares hasta un
valor n dado.

10) Desarrolle el algoritmo (DFD y pseudocdigo) para calcular
el precio de un producto que sigue el siguiente modelo:

a) Si el impuesto del producto es mayor a 10% y menor que
20%, sumarle el 40% sobre el total del valor del producto.
b) Si el impuesto del producto es mayor o igual a 20%, restarle el
10.5% sobre el valor del producto.

Mostrar el valor del producto, el nombre del producto, el
impuesto, el clculo de descuento o incremento hecho y el valor
final de dicho producto





















Elabor
INGENIERO JAIME ALBERTO GUTIRREZ MEJA
UNIVERSIDAD PILOTO DE COLOMBIA
2008

S-ar putea să vă placă și