0% encontró este documento útil (0 votos)
135 vistas

U1-Unidad I-1

Este documento presenta una introducción a la lógica de programación. Explica que la lógica de programación involucra cuatro pasos: 1) definir el problema, 2) desarrollar un algoritmo, 3) transformar el algoritmo en un programa, y 4) ejecutar y validar el programa. Luego describe las características de los algoritmos, sus partes, y los tipos cualitativos y cuantitativos de algoritmos. Finalmente, resume las fases de resolución de problemas e implementación en el desarrollo de programas.

Cargado por

giovanni ortega
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
135 vistas

U1-Unidad I-1

Este documento presenta una introducción a la lógica de programación. Explica que la lógica de programación involucra cuatro pasos: 1) definir el problema, 2) desarrollar un algoritmo, 3) transformar el algoritmo en un programa, y 4) ejecutar y validar el programa. Luego describe las características de los algoritmos, sus partes, y los tipos cualitativos y cuantitativos de algoritmos. Finalmente, resume las fases de resolución de problemas e implementación en el desarrollo de programas.

Cargado por

giovanni ortega
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

Lógica de Programación Unidad I

TABLA DE CONTENIDOS

1. LÓGICA DE PROGRAMACIÓN ........................................................................................... 2


1.1. Definición, características, partes y tipos de algoritmos................................................... 2
1.2. Tipos de datos, operadores, variables, constantes y expresiones ......................................... 8
1.3. Ejercicios resueltos ......................................................................................................... 13
1.4. Instrucciones de lectura, salida y asignación ................................................................. 14
1.5. Ejercicios resueltos ......................................................................................................... 16
1. LÓGICA DE PROGRAMACIÓN
La principal razón para que las personas aprendan lenguaje de programación es utilizar el
computadora como una herramienta en la resolución de problemas. La resolución de un problema
exige al menos los siguientes pasos:

1. Definición o análisis del problema


2. Desarrollo del algoritmo o método para resolverlo
3. Transformación del algoritmo en un programa
4. Ejecución y validación del programa

1.1. Definición, características, partes y tipos de algoritmos.


Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir para
dar solución a un problema específico (Peralta, 2002, 1).

Para la Facultad de Ciencias de la Computación de la Benemérita Universidad Autónoma de


Puebla (s.f., en línea), todo algoritmo debe ser:

 Preciso: Indicando el orden de realización de cada uno de los pasos.


 Definido: Si se sigue el algoritmo varias veces proporcionándoles de los mismos datos, se
debe obtener siempre los mismos resultados.
 Finito: Al seguir el algoritmo, éste debe determinar en algún momento, es decir tener un
número finito de pasos.

En un algoritmo se deben considerar tres partes:

1. Entrada: Información dada al algoritmo.


2. Proceso: Operaciones o cálculos necesarios para encontrar la solución del problema.
3. Salida: Respuestas dadas por el algoritmo o resultados finales de los cálculos.
Tipos de Algoritmos

Algoritmos Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.

EJEMPLO

Desarrolle los algoritmos que resuelvan los siguientes problemas:

a. Hacer una taza de café en una cafetera eléctrica.

Análisis del problema.

DATOS DE SALIDA: Taza de café


DATOS DE ENTRADA: café, agua
DATOS AUXILIARES: Cafetera, azúcar, energía

Después de colocar agua y café en las porciones requeridas en sus respectivos depósitos en la
cafetera, está se conecta al toma corriente y se enciende, se espera a que el agua hierva y finalice
el proceso de mezcla del agua con el café que realiza de forma automática la cafetera, cuando
este proceso culminas se sirve la tasa e café y se agrega azúcar al gusto.
Desarrollo del Algoritmo

Inicio
Tomar la cafetera
Colocar agua y café en la cantidad deseada en sus respectivos depósitos o compartimentos
Conectar a la toma corriente
Encender la cafetera
Mientras no culmine el proceso de combinación del agua con el café
Esperar
Servir la tasa de café
Agregar azúcar al gusto
Fin

b. Reparar un pinchazo de una bicicleta

Análisis del problema

DATOS DE SALIDA: La rueda reparada


DATOS DE ENTRADA: La rueda pinchada, los parches, el pegamento
DATOS AUXILIARES: Las burbujas que salen donde está el pinchazo

Después de desmontar la rueda y la cubierta e inflar la cámara, se introduce la cámara por


secciones en un cubo de agua. Las burbujas de aire indicarán donde está el pinchazo. Una vez
descubierto el pinchazo se aplica el pegamento y se coloca el parche. Finalmente se monta la
cámara, la cubierta y la rueda.

Desarrollo del algoritmo

Inicio
Desmontar la rueda
Desmontar la cubierta
Sacar la cámara
Inflar la cámara
Meter una sección de la cámara en un cubo de agua
Mientras no salgan burbujas
Meter una sección de la cámara en un cubo de agua
Marcar el pinchazo
Echar pegamento
Mientras no esté seco
Esperar
Poner el parche
Mientras no esté fijo
Apretar
Montar la cámara
Montar la cubierta
Montar la rueda
Fin

Algoritmos Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los
pasos del proceso.

EJEMPLO

1. Se tienen dos variables A y B con valores de 5 y 3 respectivamente, diseñe un algoritmo en


pseudocódigo para calcular la suma y el producto de estas dos variables y mostrar el
resultado.

ANÁLISIS DEL PROBLEMA

Conocemos por el enunciado las variables A y B que tienen un valor de 5 y 3


respectivamente, es decir A = 5 y B = 3, nos piden calcular: La suma de A+B y el producto de
A*B, para ello necesitamos dos variables que representaremos por S y P respectivamente,
para decir que S = A+B y P = A*B algorítmicamente se usa la asignación representada por 
de la siguiente manera:

S  A+B
P  A*B

Luego de realizar los cálculos (procesos) mostramos los resultados usando la sentencia
escribir así:

Escribir “Suma de A + B = ”, S
Escribir “Producto de A * C = “, P

Y por último finalizamos el algoritmo usando la sentencia Fin _ Proceso

DESARROLLO DEL ALGORITMO EN PSEUDOCÓDIGO

Proceso Operaciones
A5
B3
SA+B
PA*B
Escribir “Suma de A + B = ”, S
Escribir “Producto de A * B = ”, P
FinProceso
EXPLICACIÓN DEL ALGORITMO

Vamos a explicar línea por línea el algoritmo anterior para una mejor comprensión del
mismo.

Proceso Operaciones //Todo algoritmo empieza con la palabra Proceso y el nombre que le
//queremos dar, para este caso Operaciones.
A  5 // Significa que a la variable A le asignamos 5 (A = 5)
B  3 //Significa que a la variable B le asignamos 3 (B = 3)
S  A + B //Significa que a S le asignamos A+B (S = A+B)
P  A * B //Significa que a P le asignamos A*B (P = A*B)
Escribir “Suma de A + B = ”, S //Mostramos por pantalla el resultado de sumar A+B
Escribir “Producto de A * B = ”, P //Mostramos por pantalla el resultado de multiplicar
// A*B
FinProceso //Fin del algoritmo

Dos fases pueden ser identificadas en el proceso de creación de un programa:

 Fase de resolución del problema


 Fase de implementación (desarrollo) en un lenguaje de programación.

Fase de resolución del problema. Esta fase incluye, a su vez, el análisis del problema así como el
desarrollo y posterior verificación del algoritmo.

Análisis del problema. El primer paso para encontrar la solución a un problema es el análisis del
mismo. Se debe examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo
que se solicita y determinar los datos necesarios para conseguirlo.

Desarrollo del algoritmo. Para desarrollar un algoritmo se debe comenzar por identificar las
tareas más importantes para resolver el problema y disponerlas en el orden en el que han de ser
ejecutadas. Los pasos en esta primera descripción de actividades deberán ser refinados,
añadiendo más detalles a los mismos e incluso, algunos de ellos, pueden requerir un refinamiento
adicional antes que podamos obtener un algoritmo claro, preciso y completo. Este método de
desarrollo de los algoritmos en etapas, yendo de los conceptos generales a los detalle a través de
refinamientos sucesivos, se conoce como método descendente (top-down).

Como ejemplo imagine que desea desarrollar un algoritmo que calcule la superficie de un
rectángulo proporcionándole su base y altura. Lo primero que deberá hacer es plantearse y
contestar a las siguientes preguntas:

Especificaciones de entrada
¿Qué datos son de entrada?
¿Cuántos datos se introducirán?
¿Cuántos son datos de entrada válidos?
Especificaciones de salida
¿Cuáles son los datos de salida?
¿Cuántos datos de salida se producirán?
¿Qué precisión tendrán los resultados?
¿Se debe imprimir una cabecera?

El algoritmo en el primer desarrollo se podrá representar con los siguientes pasos:

Paso 1. Entrada desde periférico de entrada, por ejemplo teclado, de base y altura.
Paso 2. Cálculo de la superficie, multiplicando la base por la altura.
Paso 3. Salida por pantalla de base, altura y superficie.

El lenguaje algoritmo debe ser independiente de cualquier lenguaje de programación particular,


pero fácilmente traducible a cada uno de ellos.

Verificación de algoritmo. Una vez que se ha terminado de escribir un algoritmo es necesario


comprobar que realiza las tareas para las que se ha diseñado y produce el resultado correcto y
esperado.

El modo más normal de comprobar un algoritmo es mediante su ejecución manual, usando datos
significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel las
modificaciones que se producen en las diferentes fases hasta la obtención de los resultados. Este
proceso se conoce como prueba del algoritmo o prueba de escritorio.

EJEMPLO:

Para hacer la prueba de escritorio al algoritmo del ejemplo 1 procedemos así:

Colocamos las variables en el mismo orden que aparecen en el algoritmo es decir:

A=5
B=3
S = 5+3 = 8
P = 5*3 = 15

La salida o el resultado que arrojará el algoritmo es:


Suma de A + B = 8
Producto de A * B = 15

Fase de implementación. Una vez que el algoritmo está diseñado, representado mediante un
método normalizado (diagrama de flujo, diagrama N-S o pseudocódigo), y verificado se debe
pasar a la fase de codificación, traducción del algoritmo a un determinado lenguajes de
programación, que deberá ser completada con la ejecución y comprobación del programa en el
computador. Esta última parte no la abordaremos en este curso, se trata ya de traducir el
algoritmo a un lenguaje de programación como C++, JAVA, etc. que verán en los próximos
semestres.

1.2. Tipos de datos, operadores, variables, constantes y expresiones


Dato. Es la expresión general que describe los objetos con los cuales opera el algoritmo. El tipo
de un dato determina su forma de almacenamiento en memoria y las operaciones que van a poder
ser efectuadas con él. En principio hay que tener en cuenta que, prácticamente en cualquier
lenguaje y por tanto en cualquier algoritmo, se podrán usar datos de los siguientes tipos:

 Simples
 Numéricos
 Entero: Subconjunto finito de los números enteros, cuyo rango o tamaño dependerá
del lenguaje en el que posteriormente codifiquemos el algoritmo y de la computadora
utilizada. Ejemplo: 10, 200, 1500, etc.

 Real: Subconjunto de los números reales limitado no sólo en cuanto al tamaño, sino
también en cuanto a la precisión. Ejemplo: 4.5, 2.7, 234.78, etc.

 Lógicos. Son aquellos que solo pueden tener dos valores (verdadero o falso), representan
el resultado de una comparación entre otros datos (numéricos o alfanuméricos).

 Alfanuméricos.
 Carácter: Conjunto finito y ordenado de los caracteres que el computado reconoce.
Ejemplo: “a”, “@”, “”, “1”, etc.

 Cadena: Contienen una serie finita de caracteres, que podrán ser directamente traídos
o enviados a/desde la consola. Ejemplo: “Calle 123 # 97-21”, “Esto es un ejemplo de
cadena”, etc.

 Estructurados

 Arreglos (vectores, matrices)


 Registros
 Archivos
 Punteros

Los tipos de datos estructurados, no serán abordados en este curso, su estudio se realizara en la
asignatura Algoritmos y Estructuras de Datos que verán en los siguientes semestres.

Operadores. Son elementos que relacionan de forma diferente, los valores de una o más literales.
Es decir, los operadores nos permiten manipular valores.
Tipos de operadores.

 Aritméticos. Los operadores aritméticos permiten la realización de operaciones matemáticas


con los valores de los literales (variables y constantes).
+ Suma
- Resta
* Multiplicación
/ División
^ o ** Potencia
Mod Modulo (Residuo de la división entre enteros)

 Relacionales. Se utilizan para establecer una relación entre dos o más valores del mismo tipo.
> Mayor que
< Menor que
>= Mayor igual
<= Menor igual
<> Diferente
= Igual
 Lógicos. se utilizan para establecer relaciones entre valores lógicos, pueden ser resultado de
una expresión relacional.
Yo& And o Y
O Or u O
¬o~ Not o Negación

Constantes. Son datos cuyo valor no cambia durante todo el desarrollo del algoritmo.

Ejemplos:

X  100
Y  45.56
Nombre  “Juan José”
Seguir  V

Variables. Una variable es un objeto cuyo valor puede cambiar durante el desarrollo del
algoritmo. Se identifica por su nombre y por su tipo, que podrá ser cualquiera, y es el que
determina el conjunto de valores que podrá tomar la variable.

Ejemplos:
Entero: Código, días
Real: Nota, sueldo
Cadena: Nombre, Dirección
Carácter: Res, Op
Lógica: Seguir

Expresiones. Las expresiones son combinaciones de constantes, variables, símbolos de


operación, paréntesis y nombres de funciones especiales.

Ejemplo: a + (b * 3) / c

Identificadores. Representan los datos de un programa (constantes, variables, tipos de datos). Es


una secuencia de caracteres que sirve para identificar una posición en la memoria del
computador, que nos permite acceder a su contenido. Ejemplo:

Nombre
Nota
Sueldo
Código

Representación de algoritmos. Un algoritmo puede ser escrito en castellano narrativo, pero esta
descripción suele ser demasiado prolija y, además, ambigua. Para representar un algoritmo se
sede utilizar algún método que permita independizar dicho algoritmo de los lenguajes de
programación y, al mismo tiempo, conseguir que sea fácilmente codificable.

Los métodos más usados para la representación de algoritmos son:

 Diagramas de flujo
 Diagramas N-S (Nassi-Schneiderman)
 Pseudocódigo

Diagramas de flujo. Los diagramas de flujo se utilizan tanto para la representación gráfica de las
operaciones ejecutadas sobre los datos a través de todas las partes de un sistema de
procesamiento de información, diagramas de flujo del sistema, como para la representación de la
secuencia de pasos necesarios para describir un procedimiento particular, diagrama de flujo de
detalle.

En la actualidad se siguen usando los diagramas de flujo de sistema, pero ha decaído el uso de los
diagramas de flujo por otros métodos de desarrollo estructurados más eficaces para la
representación y actualización de los algoritmos.
El diagrama de flujo utiliza unos símbolos normalizados, con los pasos del algoritmo escritos en
el símbolo adecuado y los símbolos unidos por flechas, denominadas líneas de flujo, que indican
el orden en que los pasos deben ser ejecutados. Los símbolos principales son:

Inicio y fin del algoritmo

Proceso

Entrada / Salida

Decisión

Resulta necesario indicar dentro de los símbolos la operación específica concebida por el
programador. Como ejemplo vemos un diagrama de flujo básico, que representa la secuencia de
pasos para que un programa lea una temperatura en grados centígrados y calcule y escriba su
valor en grados kelvin.

Inicio

Leer (Celsius)

Kelvin Celsius + 273.15

Escribir (Kelvin)

Fin

Diagrama Nassi-Schneiderman. Los diagramas N-S denominados así por sus inventores, son una
herramienta de programación que favorece la programación estructurada y reúne características
gráficas propias de diagrama de flujo y lingüísticas propias de los pseudocódigos. Consta de una
serie de cajas continuas que se leerán siempre de arriba-abajo y se documentarán de la forma
adecuada.

En los diagramas N-S las tres estructuras básicas de la programación estructurada secuencial,
selectiva y repetitiva, encuentran su representación propia. Los símbolos principales son:

Sentencia 1
Secuencia
Sentencia 2
Sentencia 3

Repetitiva de 0 a n veces

Repetitiva de 1 a n veces

Repetitiva n veces

Condición
Selectiva
Ssi
Si No
N

El algoritmo que lee una temperatura en grados Celsius y calcula y escribe su valor en grados
Kelvin se puede representar mediante el diagrama N-S así:

inicio
leer(Celsius)
Kelvin Celsius + 273.15
escribir (kelvin)
Fin

Pseudocódigo. Sirve para escribir programas de computadora en lenguaje natural de tal manera
que se facilite la comprensión, prueba y posterior codificación en un lenguaje de programación
específico. El pseudocódigo se consiguió para superar las dos principales desventajas del
diagrama de flujos: lento de crear y difícil de modificar sin un nuevo redibujo. Es una
herramienta muy buena para el seguimiento de la lógica de un algoritmo y para transformar con
facilidad los algoritmos a programas, escrito en un lenguaje de programación especifico.

En nuestro pseudocódigo utilizaremos palabras reservadas en español. Así, nuestros algoritmos


comenzarán con la palabra reservada proceso y terminarán con finproceso, constando de
múltiples líneas que se sangran o indentan para mejorar la legibilidad. La estructura básica de un
algoritmo escrito en pseudocódigo es:

Proceso <Identificador_algoritmo>
// Acciones, sentencias ejecutables tanto simples como estructuradas

FinProceso

Los espacios en blancos entre los elementos no resultan significativos y las partes importantes se
suelen separar unas de otras por líneas en blanco.
El algoritmo que lee una temperatura en grados Celsius y calcula y escribe su valor en grados
Kelvin se puede representar mediante pseudocódigo así:

Proceso Temperatura
Escribir “Ingrese los grados Celsius”
Leer Celcius
Kelvin Celsius + 273.15
Escribir “Los ”, Celcius, “ grados Celsius equivalen a ”, Kelvin, “ grados Kelvin”
FinProceso

Observación. Note que las líneas de código entre las sentencias Proceso y FinProceso, están
entradas es decir sangradas o indentadas a la derecha, esto con el propósito de hacer más
entendible el algoritmo, y se recomienda aplicarlo siempre; a medida que avancemos, veremos
que otras sentencias o instrucciones se les aplica la sangría.

1.3. Ejercicios resueltos


1. ¿Cuál de los siguientes datos son válidos para procesar por una computadora?

a. 3.14159 e. 0.0014 i. 12.5E.3


b. 12345.0 f. 12E+6 j. .123E4
c. 15.0E-04 g. 1.1E-3 k. 5A4.14
d. 2.234E2 h. -15E-0.4 l. A1.E04

Serían válidos los datos a, b, c, d, e, f, g, j. Los datos h, i no serían validos pues el exponente
no puede tener forma de decimal. El k no sería correcto, pues mescla caracteres alfabéticos y
dígitos y no se puede considerar como un identificador de una variable ya que empieza por un
digito. El dato l aunque mescla dígitos y caracteres alfabéticos, podría ser un identificador si
admitiéramos el carácter punto como carácter válido para una variable (Pascal o Basic lo
consideran).

2. ¿Cuál de los siguientes identificadores son válidos?

a. Renta e. Dos pulgadas i. 4A2D2


b. Alquiler f. C3PO j. 13Nombre
c. Constante g. Bienvenido#5 k. Nombres_Apellidos
d. Tom’s h. Elemento l. NombresApellidos

Se consideran correctos los identificadores a, b, c, f, h, k, l. El d no se considera correcto pues


incluye el apóstrofo que no es un carácter válido en un identificador, lo mismo ocurre con el e
y el espacio en blanco, y el g con el carácter #. El i, j no serán válidos al no comenzar por un
carácter alfabético.

3. Escribir las siguientes expresiones en forma de expresiones algorítmicas


Solución

a. (M/N) + 4 c. (Sen(x) + Cos(y)) / Tan(x)

b. (M + N) / (P – Q) d. (–b + (Raiz2((b ^ 2) – (4 * a * c))) / (2 * a)

4. ¿Qué valor toman las variables A y B tras la ejecución de las siguientes asignación

A 10
B 5
A B
B A

El resultado sería el siguiente:

A 10, A = 10, B indeterminado


B 5, A = 10, B=5
A B A = 5, B=5
B A A = 5, B=5

Con lo que A y B tomarían el valor 5

1.4. Instrucciones de lectura, salida y asignación


Lectura. La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor.
Esta operación se representa en un pseudocódigo como sigue:

Leer <variable1>, <variable2>, <variable3>, … <variableN>

Ejemplo:

Leer a, b

Donde “a” y “b” son variables que recibirán valores.

Salida. Consiste en mandar por un dispositivo de salida (monitor o impresora) un resultado o


mensaje. Este proceso se representa en un pseudocódigo como sigue:
Escribir <variable1>, <variable2>, <variable3>, … <variableN>

Ejemplo:

Escribir a, b

También podemos usar un mensaje entre comillas para que el resultado a mostrar o imprimir
tenga mayor claridad, ejemplo:

Escribir “El valor de A es: ”, a


Escribir “B = ”, b
Escribir “La suma de A+B = ”, a+b

Los elementos léxicos de nuestro pseudocódigo son: Comentarios, Palabras reservadas,


Identificadores, operadores y literales.

Comentarios. Sirven para documentar el algoritmo y ellos se escriben anotaciones generalmente


sobre su funcionamiento. Cuando se coloque un comentario de una sola línea se escribirá
precedido de // si el comentario es mistilínea lo pondremos entre {}.

//Comentario de una línea


{Comentario que ocupa más
de una línea}

Palabras reservadas. Son palabras que tienen un significado especial como: proceso, fin, leer,
escribir, etc.

Identificadores: Son los nombres que se dan a las constantes simbólicas, variables, funciones,
procedimientos u otros objetos que manipulan el algoritmo. La regla para construir un
identificador establece que:

 Debe resultar significativo, sugiriendo lo que representa


 No podrá coincidir con las palabras reservadas, propias del lenguaje algorítmico. Como se
verá más adelante, la representación de algoritmos mediante pseudocódigo va a requerir la
utilización de palabras reservadas.
 Se recomienda un máximo de 50 caracteres.
 Comenzará siempre por un carácter alfabético y los siguientes podrán ser letras, dígitos o el
símbolo de subrayado (_)
 Podrá ser utilizado indistintamente escrito en mayúscula o en minúscula

Literales: Los literales son valores que aparecen directamente escritos en el programa y pueden
ser literales: lógicos, enteros, reales, de tipo carácter, de tipo cadena y el literal nulo.
Asignación. La asignación consiste, en el paso de valores o resultados a una zona de la memoria.
Dicha zona será reconocida con el nombre de la variable que recibe el valor. Se representa con
flechas izquierda.

EJEMPLO

Para asignarle el valor 15 a la variable A es: A  15


Para sumarle a la variable A el valor de 1 es: A  A + 1
𝐶+𝐵∗2
Para escribir la expresión matemática 𝐴 = 4 en forma algorítmica es: A (C+B*2)/4

1.5. Ejercicios resueltos


1. Escribir un algoritmo en pseudocódigo que lea un valor entero, lo doble, se multiplique por
10 y visualice el resultado.

Análisis del problema

Tipo Identificador Descripción


Entero Numero Dato entero a ingresar
Entero Resultado Resultado de la operación

DATOS DE ENTRADA: Numero


DATOS DE SALIDA: Resultado
PROCESO: Resultado Numero * 2 * 10

Desarrollo del algoritmo

Proceso Ejemplo_I_03_1
Escribir "Ingrese un valor entero"
Leer Numero
Resultado <- Numero * 2 * 10
Escribir Resultado
FinProceso

VALIDACIÓN DEL ALGORITMO O PRUEBA DE ESCRITORIO

Numero = 5 (Leemos el número 5)


Resultado = 5 * 2 * 10 (Asignamos a resultado la multiplicación de 5 * 2 * 10)
Resultado = 100 (Al escribir el resultado se visualiza el valor 100)

Número Resultado Salida


===================================
5 100 100
2 40 40
Si efectuamos estos mismos cálculos con una calculadora y nos da el mismo resultado, el
algoritmo está bien desarrollado, de lo contrario esta malo y se debe revisar y corregir.

2. Desarrollar un algoritmo en pseudocódigo que lea cuatro números y calcule e imprima su


producto, su suma y su media aritmética.

Análisis del problema

Tipo Identificador Descripción


Entero a Primer número a leer
Entero b Segundo número a leer
Entero c Tercer número a leer
Entero d Cuarto número a leer
Entero Producto Producto de los cuatro números leídos
Entero Suma Sumatoria de los cuatro números leídos
Real Media Media de los cuatro números leídos

DATOS DE ENTRADA: a, b, c, d
DATOS DE SALIDA: Producto, Suma, Media
PROCESO:
Producto  a * b * c * d
Suma  a + b + c + d
Media  Suma / 4

Las variables a, b, c, d, producto y suma podrán ser enteras, pero no así la variable media, ya
que la división produce siempre resultados de tipo real.

Desarrollo del algoritmo

Proceso Ejemplo_I_03_2
Escribir "Ingrese el valor para A"
Leer a
Escribir "Ingrese el valor para B"
Leer b
Escribir "Ingrese el valor para C"
Leer c
Escribir "Ingrese el valor para D"
Leer d
Producto <- a * b * c * d
Suma <- a + b + c + d
Media <- Suma / 4
Escribir "Producto = ", Producto
Escribir "Sumatoria = ", Suma
Escribir "Media = ", Media
FinProceso

VALIDACIÓN DEL ALGORITMO O PRUEBA DE ESCRITORIO

a b c d Producto Suma Media Salida


======================================================
5 2 1 4 40 12 3 40, 12, 3
3 10 1 0 0 14 3.5 0, 14, 3.5

3. Diseñar un algoritmo en pseudocódigo que lea grados Celsius y los convierta a grados kelvin
y Fahrenheit.

Análisis del problema

Tipo Identificador Descripción


Entero C Grados Celsius
Real K Grados Kelvin
Real F Grados Fahrenheit

DATOS DE ENTRADA: C
DATOS DE SALIDA: K, F
PROCESOS:
K  C + 273.15
F  (9/5) * C + 32

Desarrollo del algoritmo

Proceso Ejemplo_I_03_3
Escribir "Ingrese los grados Celsius"
Leer C
K <- C + 273.15
F <- (8/5) * C + 32
Escribir "Grados Kelvin : ", K
Escribir "Grados Fahrenheit : ", F
FinProceso

VALIDACIÓN DEL ALGORITMO O PRUEBA DE ESCRITORIO


C K F
============================
10 283.15 50
15 288.15 59

5. Una persona invierte su capital en un banco y desea saber cuánto dinero ganara después de un
mes si el banco paga a razón de 2% mensual
Análisis del problema

Tipo Identificador Descripción


Real Cap Capital
Real Gan Ganancia
Real Int Tasa de interés mensual

DATOS DE ENTRADA: Cap


DATOS DE SALIDA: Gan
PROCESO: Int  2/100
Gan  Cap * Int

Desarrollo del algoritmo

Proceso Ejemplo_I_03_4
Escribir "Ingrese el capital"
Leer Cap
Int <- 2/100
Gan <- Cap * Int
Escribir "La ganancia en un mes es de $", Gan
FinProceso

VALIDACIÓN DEL ALGORITMO O PRUEBA DE ESCRITORIO

Cap. Gan.
====================
100 2
200 40
100000 2000

6. Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor
desea saber cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza
en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones

Análisis del problema


Tipo Identificador Descripción
Real SuelBas Sueldo básico
Real Comi Comisión
Real SuelNeto Sueldo neto
Real Ven1 Venta 1
Real Ven2 Venta 2
Real Ven3 Venta 3
Real PComi Porcentaje de comisión

DATOS DE ENTRADA: SuelBas, Vent1, Vent2, Vent3


DATOS DE SALIDA: Comi, SuelNeto
PROCESO: PComi  10/100
Comi  (Vent1 + Vent2 + Vent3) * PComi
SuelNeto  suelbas + Comi

Desarrollo del algoritmo

Proceso Ejemplo_I-03-5
Escribir “Ingrese el sueldo base”
Leer SuelBas
Escribir “Ingrese la venta 1”
Leer Vent1
Escribir “Ingrese la venta 2”
Leer Vent2
Escribir “Ingrese la venta 3”
Leer Vent3
PComi <- 10/100
Comi  (Vent1 + Vent2 + Vent3) * 0.10
SuelNeto  SuelBas + Comi
Escribir “Comisión $”, Comi
Escribir “Sueldo Neto $”,SuelNeto
Fin _ Proceso

VALIDACIÓN DEL ALGORITMO O PRUEBA DE ESCRITORIO

SuelBas Vent1 Vent2 Vent3 Comi SuelNeto


===========================================================
1000 500 800 200 150 1150
10000 5000 400000 8000 1700 11700

7. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber
cuánto deberá pagar finalmente por su compra.

Análisis del problema


Tipo Identificador Descripción
Real TotComp Total compra
Real Desc Descuento
Real ValPag Valor a pagar
Real PDes Porcentaje de descuento

DATOS DE ENTRADA: TotComp


DATOS DE SALIDA: Desc, ValPag
PROCESO: PDes <- 15/100
Desc  ValComp * PDes
ValPag  ValComp - Desc
Desarrollo del algoritmo

Proceso Ejemplo_I_03_6
Escribir "Ingrese el total de la compra"
Leer TotComp
PDes <- 15/100
Desc <- TotComp * PDes
ValPag <- TotComp - Desc
Escribir "Descuento $", Desc
Escribir "Valor a pagar $", ValPag
FinProceso

VALIDACIÓN DEL ALGORITMO O PRUEBA DE ESCRITORIO

TotComp Desc ValPag


====================================
1000 150 850
10000 1500 8500

8. Un alumno desea saber cuál será su calificación final en la materia de Algoritmos I. Dicha
calificación se compone de los siguientes porcentajes:
Seguimiento 30%
Trabajo de aplicación práctica 30%
Evaluación tipo ECAES 25%
Portafolio 15%

Análisis del problema


Tipo Identificador Descripción
Real Seg Nota de seguimiento
Real Tra Nota trabajo práctico
Real Eva Nota evaluación en línea
Real Por Nota portafolio
Real Def Nota definitiva

DATOS DE ENTRADA: Seg, Tra, Eva, Por


DATOS DE SALIDA: Def
PROCESO:
Def  (Seg * 0.30) + (Tra * 0.30) + (Eva * 0.25) + (Por * 0.15)

Desarrollo del algoritmo


Proceso Ejemplo_I_03_7
Escribir "Ingrese la nota del seguimiento"
Leer Seg
Escribir "Ingrese la nota del trabajo"
Leer Tra
Escribir "Ingrese la nota de la evaluación"
Leer Eva
Escribir "Ingrese la nota del portafolio"
Leer Por
Def <- (Seg * 0.30) + (Tra * 0.30) + (Eva * 0.25) + (Por * 0.15)
Escribir "Nota definitiva : ", Def
FinProceso

VALIDACIÓN DEL ALGORITMO O PRUEBA DE ESCRITORIO

Seg Tra Eva Por Def


==============================================
4.0 3.5 2.8 4.2 3,58
3.7 2.5 1.8 3.5 2.84

9. Un facilitador desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en un
grupo de estudiantes de algoritmos I, diseñe un algoritmo en pseudocódigo que te permita
resolver el anterior problema.

Análisis del problema

Tipo Identificador Descripción


Entero Hom Número de estudiantes hombres
Entero Muj Número de estudiantes mujeres
Entero TotEst Total estudiantes
Real ProHom Promedio edad hombres
Real ProMuj Promedio edad mujeres

DATOS DE ENTRADA: Hom, Muj


DATOS DE SALIDA: ProHom, ProMuj
PROCESO: ProHom  (Hom * 100) / (Hom+Muj)
ProMuj  (Muj * 100) / (Hom + Muj
Desarrollo del algoritmo

Proceso Ejemplo_I_03_8
Escribir "Número de estudiantes hombres del curso"
Leer Hom
Escribir "Número de estudiantes mujeres del curso"
Leer Muj
ProHom <- (Hom * 100) / (Hom+Muj)
ProMuj <- (Muj * 100) / (Hom + Muj)
Escribir "Promedio estudiantes hombres : ", Prohom
Escribir "Promedio estudiantes mujeres : ", ProMuj
FinProceso

VALIDACIÓN DEL ALGORITMO O PRUEBA DE ESCRITORIO

Hom Muj ProHom ProMuj


===============================================
15 20 42.86 57.14
17 12 58.62 41.38

También podría gustarte