Documente Academic
Documente Profesional
Documente Cultură
DESGLOSE DE
TEMAS
GLOSARIO
BIBLIOGRAFIA
LOGICA DE PROGRAMACION
ACADEMIA DE TECNOLOGIAS DE
ELABORÓ: LA INFORMACION AREA SISTEMAS REVISÓ:
INFORMATICOS
FECHA DE
COORDINACIÓN GENERAL DE
APROBÓ: ENTRADA EN SEPTIEMBRE 2005
UNIVERSIDADES TECNOLÓGICAS VIGOR:
Revisión no. 0. Fecha de revisión: septiembre, 2005. Página 1 de 54
Director:
ING. EDGAR LEÓN OLIVARES
I. DIRECTORIO
1
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
ESTA OBRA, SUS CARACTERÍSTICAS Y DERECHOS SON PROPIEDAD DE LA: COORDINACIÓN GENERAL DE
UNIVERSIDADES TECNOLÓGICAS (CGUT) FRANCISCO PETRARCA No. 321, COL. CHAPULTEPEC MORALES,
MÉXICO D.F. LOS DERECHOS DE PUBLICACIÓN PERTENECEN A LA CGUT. QUEDA PROHIBIDA SU
REPRODUCCIÓN PARCIAL O TOTAL POR CUALQUIER MEDIO, SIN AUTORIZACIÓN PREVIA Y POR ESCRITO DEL
TITULAR DE LOS DERECHOS.
ISBN (EN TRÁMITE)
IMPRESO EN MÉXICO.
II. ÍNDICE
# CONTENIDO PAGINA
2
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
I. DIRECTORIO Y RECONOCIMIENTOS 1
II. ÍNDICE 2
III. INTRODUCCIÓN DE LA ASIGNATURA 4
IV. UNIDADES TEMÁTICAS 5
5
UNIDAD I. CONCEPTOS BASICOS 17
UNIDAD II. EXPRESIONES
UNIDAD III. DIAGRAMAS DE FLUJO Y PSEUDOCODIGO 22
UNIDAD IV. ARREGLOS 28
37
V. REFERENCIAS 43
VI. GLOSARIO 44
VIII. ANEXOS (FIGURAS, TABLAS, ETC.)
1. Evaluación del curso 47
2. Resultados Finales 49
3
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Se sabe que no existen reglas especificas para resolver un problema, sin embargo, se
pueden ofrecer un conjunto de técnicas y herramientas metodológicas que permitan
flexibilizar y estructurar el razonamiento seguido por un alumno en la solución de un
problema, por eso es importante enseñar e inducir al alumno a observar el problema desde
diferentes ángulos, a ser flexibles en el razonamiento que conduzca a su solución, a no
encerrarse en un solo punto de vista, a tener una mente crítica y a tener una metodología
bien estructurada para poder atacar los problemas.
4
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
UNIDAD 1
CONCEPTOS BASICOS
INTRODUCCIÓN
Esta unidad esta integrada por 4 objetivos de aprendizaje que permitirán al alumno
desarrollar el diseño de algoritmos ya que requieren creatividad y conocimientos profundos
de las técnicas de programación.
5
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 1
Objetivo de Aprendizaje:
6
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Criterio de aprendizaje :
1.1 Definir el concepto de algoritmo, seudocódigo y diagrama de flujo.
1.3 Fomentar la estructuración de una tarea, al elaborar ordenadamente una tarea concreta
La resolución de un problema exige el diseño de un algoritmo que resuelva el problema
propuesto. Los pasos para la resolución de un problema son:
1. Diseño del algoritmo que describe la secuencia ordenada a de pasos sin
ambigüedades que conducen a la solución de un problema dado (análisis del
problema y desarrollo del algoritmo).
2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado
(fase de codificación).
3. Ejecución y validación del programa por la computadora.
Ejercicio 1.
Obtenga el área de un rectángulo utilizando las herramientas de programación
algoritmo, pseudocódigo y diagrama de flujo.
Algoritmo.
1. Obtener la medida de la base de la figura.
7
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Diagrama de flujo
Inicio
Obtener base
y altura
Multiplicar
base * altura
Mostrar
resultado
Fin
Ejercicio 2.
Realice un análisis para intercambiar los valores de dos variables numéricas.
Para realizar este análisis se utiliza una variable auxiliar que de modo temporal toma
uno de los valores dados:
Variables: A, B, AUX
El método consiste en asignar una de las variables a la variable auxiliar:
AUX = A
A continuación se asigna el valor de la otra variable B a la primera:
A=B
Por último, se asigna el valor de la variable auxiliar a la segunda variable A:
B = AUX
8
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Cualquiera de las tres herramientas nos pueden ayudar a la solución del problema,
siempre y cuando sepamos interpretar cada una de ellas, tal y como se vio en el
ejercicio 1.
TEMA 2
Objetivo de Aprendizaje:
2. Identificar los tipos de operadores por sus características.
Criterio de aprendizaje:
2.1 Describir las características de los operadores aritméticos
Operadores aritméticos.
Son aquellos que son análogos a las fórmulas matemáticas.
Símbolo Acción Ejemplo Resultado
+ Suma dos números 4+5 9
- Resta el segundo número del primero 7-3 4
* Multiplica dos números 4*8
/ Divide dos números. 5/2 2.5
El resultado es un número real (parte
entera y fraccionaria)
Div Divide dos números, regresa 5/2 2
solamente la parte entera del
cociente.
Mod Obtiene el residuo de la división 5/2 1
entera de dos números.
9
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Operadores lógicos.
Pueden ser utilizados para formar condiciones más complejas al combinar condiciones
simples.
Símbolo Descripción Ejemplo Resultado
AND Conjunción Y (1 > 0) AND(3 = 3) Verdadero
OR Disyunción O (0 < 5) OR (0 > 5) Verdadero
NOT Negación NO NOT (5 <>5) Verdad
Resultado de Aprendizaje
2.2.1 Diferenciar cada uno de los tipos de operadores
Ejercicio 1.
Obtener los resultados de las siguientes expresiones:
1. 8 / 4 – 5
2. (4 - 2) < (3 - 4)
3. (5 <= 7) y (2 > 4)
Los resultados al ejercicio 1 propuesto son:
1. - 3 2. Falso 3. Falso
8 + 21 + 24
29 + 24
53
2. (33 + 3 * 4) / 5
(33 + 12 ) / 5
45 /5
9
3. 16 * 6 – 3 * 2
11
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
96 - 3 * 2
96 - 6
90
12
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 3
Objetivo de Aprendizaje:
3. Distinguirá los tipos de datos de acuerdo a su uso
Criterio de aprendizaje:
Enteros. Es un subconjunto finito de los números enteros. Los enteros son números
completos, no tienen componentes fraccionarios o decimales y pueden ser negativos o
positivos. Ejemplos de números enteros son:
5 -15 20 1340 -17
13
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Reales. Consiste en un subconjunto de los números reales. Los números reales siempre
tienen un punto decimal y pueden ser positivos o negativos. Un número real consta de un
número entero y una parte decimal. Los siguientes ejemplos son números reales:
0.08 3.74 -8.12 3.0
Los caracteres que reconocen las diferentes computadoras no son estándar, sin embargo, la
mayoría reconoce los siguientes caracteres alfabéticos y numéricos:
• Caracteres alfabéticos: (A, B, C, ...., Z) (a, b, c, ..., z)
• Caracteres numéricos (1, 2, ...., 9, 0)
• Caracteres especiales (*, -, +, ., :, ;, >, <, $, ...)
Resultado de Aprendizaje
3.1.1 Resolver operaciones con datos numericos
Ejercicio 1.
Realice un algoritmo, que dado los números enteros A y B, escriba el resultado de la
siguiente expresión:
(A + B)2
3
Datos: A, B
Donde: A y B son variables de tipo entero, que expresan los datos que se
ingresan.
Algoritmo:
1. Pida los valores de A y B
2. Sume los valores de A y B
3. Eleve a la segunda potencia el resultado de A + B
4. Divida el resultado de la potencia entre 3
14
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
15
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 4
Objetivo de Aprendizaje:
4. Manejará las variables y constantes de acuerdo a las operaciones realizadas
Criterio de aprendizaje:
4.1 Identificar los tipos de variables y constantes enteras.
Los programas de computadora contienen ciertos valores que no deben cambiar durante la
ejecución del programa. Tales valores se llaman constantes. De igual forma, existen otros
16
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
valores que cambian durante la ejecución del programa, a estos valores se les llama
variables.
Una variable es un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo
del algoritmo o ejecución del programa. Dependiendo del lenguaje, hay diferentes tipos de
variables, tales como enteras, reales, caracteres, lógicas y de cadena.
Una variable que es de cierto tipo puede tomar únicamente valores de ese tipo. Si se intenta
cambiar un valor de un tipo a una variable de otro tipo se producirá un error de tipo. Una
variable se identifica por los siguientes atributos: nombre que lo asigna y tipo que describe el
uso de la variable. Los nombres de las variables, a veces conocidos como identificadores,
suele constar de varios caracteres alfanuméricos, de los cuales el primero normalmente es
una letra.
Los nombres de las variables elegidas para el algoritmo o programa deben ser significativos y
tener relación con el objeto que representan, como pueden ser los casos siguientes:
NOMBRE para representar nombres de personas
PRECIOS para representar los precios de diferentes artículos
NOTAS para representar las notas de una clase
Una secuencia de caracteres se denomina normalmente una cadena y una constante tipo
cadena es una cadena encerrada entre apóstrofos. Por consiguiente:
‘Juan Minguez’ y ‘Pepe Luis García’
son constantes de cadenas válidas.
17
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
18
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
UNIDAD 2
EXPRESIONES
INTRODUCCIÓN
La unidad está integrada por 2 objetivos de aprendizaje que permitirán al alumno desarrollar
las primeras construcciones y elementos de un lenguaje de programación.
19
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 1
Objetivo de Aprendizaje:
1. Aprenderá el desarrollo de las conversiones de expresiones algebraicas a aritméticas.
Criterio de aprendizaje:
1.1 Explicar qué es una expresión aritmética.
Las expresiones son combinaciones de constantes, variables, símbolos de operación,
paréntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notación
matemática tradicional, por ejemplo:
A + (b + 3) + √ c
Aquí los paréntesis indican el orden de cálculo y √ representa la función raíz cuadrada.
Cada expresión toma un valor que se determina tomando los valores de las variables y
constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operando y operadores. Según el tipo de objetos que manipulan, las
expresiones se clasifican en:
Aritméticas
Lógicas
Carácter
5 x 7 se representa por 5 * 7
6 se representa por 6 / 4
4
20
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Resultado de Aprendizaje
1.1.1 interpretar el desarrollo de una conversión de expresión aritmética a algebraica.
Ejercicio 1.
Convertir las expresiones aritméticas algorítmicas las siguientes expresiones algebraicas:
5(x+y)
x+y
u+w
a
x(z + w)
y
TEMA 2
Objetivo de Aprendizaje:
2.- Ejemplificará la solución de algún problema a través de expresiones aritméticas lógicas
Criterio de aprendizaje:
2.1. Explicar qué es una expresión aritmética lógica.
Las expresiones lógicas o booleanas, llamadas así en honor del matemático George
Boole, están constituidas por números, constantes o variables y operadores lógicos o
relacionales. El valor que pueden tomar estas expresiones es el de verdadero o falso.
Se utilizan frecuentemente en las estructuras selectivas (dependiendo del resultado de
la evaluación por un determinado camino alternativo) y en las estructuras repetitivas
(dependiendo del resultado de la evaluación se continua con el ciclo o se interrumpe el
mismo)
Los operadores de relación se pueden aplicar a los 4 tipos de datos estándar: enteros,
real, lógico, carácter. La aplicación a valores numéricos es evidente. Los ejemplos
siguientes son significativos:
Expresión lógica Resultado
3<6 Verdadero
0>1 Falso
4=2 Falso
8 <= 5 Falso
21
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
9 >= 9 Verdadero
5 <> 5 Falso
En las expresiones lógicas se pueden mezclar operadores de relación y lógicos. Así, por
ejemplo:
Resultado de Aprendizaje
2.1.1 Realizar conversiones algebraicas a aritméticas utilizando la representación aritmética
lógica
Ejercicio 1.
Resuelva las siguientes expresiones lógicas con operadores relacionales
1. A2 > (B * 2)
Donde A = 5 y B = 16
Resultado
A2 > ( B * 2)
52 > (16 * 2)
25 > (16 * 2)
25 > 32
FALSO
FALSO
22
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Ejercicio 2.
Resuelva la siguiente expresión lógica con operadores lógicos
NO FALSO O VERDADERO
VERDADERO O VERDADERO
VERDADERO
23
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
UNIDAD 3
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
INTRODUCCIÓN
La tercera unidad muestra el desarrollo de algoritmos en sus diferentes técnicas para que el
alumno tenga la habilidad y una capacidad de razonamiento estructurada y flexible que le
permita, en la medida que practique, obtener la soluciín a los problemas planteados.
Se integra de 3 objetivos que describen cada una de las herramientas utilizadas para el
desarrollo de dichos algoritmos y en las cuales el alumno sabrá diferenciar el uso de cada
una de ellas e implementar la que más se adecue a la solución del problema.
24
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 1
Objetivo de Aprendizaje:
1. Aprenderá en forma general las técnicas para el desarrollo de algoritmos.
Criterio de aprendizaje:
1.1 Definir el concepto de algoritmo.
Algoritmo. Es la secuencia ordenada de pasos que conducen a la solución de un
problema dado.
Resultado de Aprendizaje
1.1.1 Diferenciar el uso de las técnicas de desarrollo de algoritmos.
Ejercicio 1.
Realice un algoritmo que calcule la suma de todos los números pares entre 2 y 1000.
El problema consiste en sumar 2 + 4 + 6 + 8 + …… + 1000
Utilizaremos las palabras SUMA y NUMERO (variables) para representar las sumas
sucesivas (2 + 4), (2 + 4 + 6), (2 + 4 + 6 + 8), etc.
Como podemos observar, este algoritmo cumple con las caracteristicas de desarrollo y
describe las tres partes principales de cualquier algoritmo: entrada (paso 2 y 3), proceso
(paso 4 y 5 ) y salida (paso 6).
TEMA 2
Objetivo de Aprendizaje:
2. Aplicará correctamente los simbolos utilizados en los diagramas de flujo
Criterio de aprendizaje:
2.1. Desarrollar correctamente mediante gráficas la solución de un problema.
Un diagrama de flujo muestra gráficamente los pasos o procesos a seguir para alcanzar
la solución de un problema. Su correcta construcción es sumamente importante, porque a
partir del mismo se escribe un programa en algún lenguaje de programación. Si el
diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de
programación es relativamente simple y directo.
A continuación se presentan los simbolos que se utilizan y una explicación de los mismos:
Inicio
.
.
.
Fin
2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas,
verticales y horizontales.
3. Todas las líneas utilizadas para indicar la dirección del lfujo deben estar conectadas.
La conexión puede ser a un simbolo que exprese lectura, proceso, decisión, impresión,
conexión o fin de diagrama.
27
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
28
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Resultado de Aprendizaje
2.1.1. Emplear gráficas para el desarrollo correcto de los diagramas de flujo.
Ejercicio 1.
Dada la matricula y 5 alificaciones de un alumno obtenidas a lo largo del curso,
construya un diagrama de flujo que imprima la matricula del alumno y el promedio de
sus calificaciones.
Inicio
MAT, PROM
Escribe la matricula y el promedio
Fin
TEMA 3
Objetivo de Aprendizaje:
3.- Desarrollará paso a paso la solución de un problema mediante pseudocódigo.
Criterio de aprendizaje:
3.1. Emplear los pseudocódigos para resolver un problema.
29
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Resultado de Aprendizaje
3.1.1 Resolver un problema mediante el uso de pseudocódigo
Ejercicio 1.
Se desea obtener el salario neto de un trabajador conociendo el número de horas
trabajadas, el salario hora y la tasa de impuestos que se le debe deducir.
Inicio
// cálculo de impuestos y salario
leer nombre, horas, precio_hora
salario_bruto <- horas * precio_hora
tasas <- 0.25 * salario_bruto
salario_neto <- salario_bruto - tasas
escribir nombre, salario_bruto, tasas, salario_neto
Fin
30
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 4
SENTENCIAS DE CONTROL
INTRODUCCIÓN
Con los objetivos establecidos el alumno identificará las caracteristicas de cada sentencia de
control y su aplicación en el diseño de algoritmos.
Objetivo de Aprendizaje:
1. Diferenciar las sentencias de control condicionales simples y de evaluación múltiple.
Criterio de aprendizaje :
1.2 Definir que es una sentencia de control condicional.
Las sentencias de control condicionales se basan en la evalaución de una o más
condiciones que nos señalarán como alternativa o consecuencia, la rama a seguir.
La estructura selectiva SI … ENTONCES (IF THEN)permite que el flujo del diagrama siga
por un camino específico si se cumple una condición o conjunto de condiciones. Si al
evaluar la condición (o condiciones) el resultado es verdadero, entonces se ejecutan
ciertas operaciones. Luego se continúa con la secuencia normal del diagrama.
Sintaxis:
Si condicion entonces
Hacer operación
{fin del condicional}
Diagrama:
condición Falsa
No
Verdadera
Si
operación
La estructura selectiva SI … ENTONCES SINO (IF THEN ELSE)permite que el flujo del
diagrama se bifurque por dos ramas diferentes en el punto de la toma de decisión. Si al
evaluar la condición (o condiciones) el resultado es verdadero, entonces se sigue por un
camino especifico y se ejeuta cierta operación. Por otra parte, si el resultado es falso,
entonces se sigue por otro camino y se ejecuta otra operación. En ambos casos, luego
de ejecutarse la operación indicada, se continúa con la secuencia normal del diagrama.
32
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Sintaxis:
Si condicion entonces
Hacer operación 1
Sino
Hacer operación 2
{Fin del condicional}
Diagrama :
Operación 1 Operación 2
Sintaxis:
Si selector igual
Valor 1: hacer acción 1
Valor 2: hacer acción 2
…
Valor N: hacer acción N
{Fin del condicional}
Hacer acción N + 1
Diagrama:
selector
33
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Acción N+1
Resultado de Aprendizaje
1.1.1 Diferenciar las aplicaciones que existen entre cada una de las sentencias de control
condicional.
Ejercicio 1.
Construya un diagrama de flujo tal, que dado como dato la calificación de un alumno
en un examen, escriba 'aprobado' en caso de que esa calificación fuese mayor que 8.
Dato: CAL
Donde: CAL es una variable de tipo real que expresa la calificación del alumno.
Diagrama:
Inicio
Estructura selectiva
CAL si… entonces
CAL > 8 No
Si
'Aprobado'
Fin
Ejercicio 2.
Construya un diagrama de flujo tal, que dado como dato la calificación de un alumno
en un examen, escriba 'aprobado' en caso de que esa calificación fuese mayor que 8 y
'reprobado' en caso contrario.
Dato: CAL
Donde: CAL es una variable de tipo real que expresa la calificación del alumno.
34
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Diagrama:
Inicio
Estructura selectiva
CAL si… entonces
CAL > 8 No
Si
'Aprobado'
Fin
TEMA 5
Objetivo de Aprendizaje:
5.- Diferenciar las sentencias de control de ciclos mientras y repetir - hasta
Criterio de aprendizaje:
5.1 Definir que es una sentencia de control de ciclos.
Se le llama ciclo al conjunto de instrucciones que se ejecutan repetidamente. Todo ciclo
debe terminar de ejecutarse luego de un número finito de veces, por lo que es necesario
en cada iteración del mimso, evaluar las condiciones necesarias para decidir si debe
seguir ejecutándose o debe detenerse. En todo ciclo siempre debe existir un control de
parada o fin de ciclo.
35
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Fin mientras
Diagrama:
Condición
No
Si
Acciones
Sintaxis:
repetir
Acción 1
Acción 2
…
Acción N
hasta que condición
Diagrama:
Acciones
No
Condición
Si
Resultado de Aprendizaje
2.1.1. Diferenciar las aplicaciones que existen entre cada una de las sentencias de control de
ciclos.
Ejercicio 1.
Realice un diagrama de flujo que cuente los números enteros positivos introducidos
por teclado y que se detenga el bucle cuando se lee un número negativo o cero.
36
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Diagrama:
Inicio
Cont = 0
Leer NUM
No
NUM > 0
Si
Cont = cont + 1
Leer NUM
Fin
Ejercicio 2.
Realice un diagrama de flujo que escriba los números del 1 al 100.
Diagrama:
Inicio
Num = 1
Escribir
(Num)
Num = Num + 1
No NUM = 101
Si
Fin
37
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 6
Objetivo de Aprendizaje:
6.- Hacer uso correcto de la sentencia de control para - hasta
Criterio de aprendizaje:
6.1. Definir y explicar que es una sentencia de control para - hasta.
En muchas ocasiones se conoce de antemano el número de veces que se desean
aejcutar las acciones de un bucle. En estos casos, en los que el número de iteraciones es
fijo, se debe usar la estructura desde o para (for).
La estructura para ejecuta las acciones del cuerpo del bucle un número especificado de
veces y de modo automático controla el número de iteraciones o pasos a través del
cuerpo del bucle.
Sintaxis:
Para v <- vi hasta vf [incremento | decremento < valor] hacer
<acciones>
…
fin desde
Donde:
V: variable índice
Vi, vf: valor inicial y final de la variable
Diagrama:
Calcular valor
inicial y valor
final
V = vi
v>vf verdadero
falso
Acciones
Cuerpo del
bucle
Incrementar V
38
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
39
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Repetir
variable = falso Vi: contador inicial
Vf: contador final
vi, vf, i
I : incremento o decremento
verdadero
proceso
Resultado de Aprendizaje
3.1.1 Diferenciar la aplicación que existe entre la sentencia de control para - hasta y las
sentencias de control de ciclos
Ejercicio 1.
Realice un diagrama que calcule la suma de N números ingresados por el usuario.
Datos: N
Donde: N es la variable de tipo entero que almacena el número ingresado.
Diagrama:
Inicio
Leer N
Suma = 0
Cont = falso
1 hasta
N
verdadero
Suma = suma + 1
Escribe
suma
Fin
40
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 7
CONVERSION DE DIAGRAMAS DE FLUJO A UNA APLICACION
INTRODUCCIÓN
Sólo se integra por un único objetivo que describe al alumno las caracteristicas
principales para el desarrollo de un programa en un lenguaje de programación.
41
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Objetivo de Aprendizaje:
1. Identificará el código en un lenguaje de programación de alto nivel.
Criterio de aprendizaje:
1.1 Describir el concepto de programa y sus elementos básicos.
Un programa es un conjunto de instrucciones (órdenes dadas a las máquinas) que
producirán la ejecución de una determinada tarea. En esencia, un programa es un medio
para conseguir un fin.
Los lenguajes de programación tienen elementos básicos que se utilizan como bloques
constructivos, así como reglas para que esos elementos se combinen. Estas reglas se
denominan sintaxis del lenguaje. Solamente las instrucciones sintácticamente correctas
pueden ser interpretadas por la computadora y los programas que contengan errores de
sintaxis son rechazados por la máquina.
Además de estos elementos básicos, existen otros elementos que forman parte de los
programas, cuya comprensión y funcionamiento será vital para el correcto diseño de un
algoritmo y naturalmente la codificación del programa. Estos elementos son:
1. Bucles
2. Contadores
3. Acumuladores
4. Interruptores
5. Estructuras
a. Secuenciales
b. Selectivas
c. Repetitivas
Una instrucción de decisión o selección evalúa una condición, y en función del resultado
de esa condición, se bifurcará a un determinado punto.
Un interruptor o conmutador (switch) es una variable que puede tomar diversos valores a
lo largo de la ejecución del programa y que permite comunicar información de una parte a
otra del mismo. Los interruptores pueden tomar dos valores diferentes, 1 y 0 (De ahí su
nombre de interruptor, 'encendido' / 'apagado', 'abierto' / 'cerrado').
43
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Tipos de datos
Enteros int
Reales float
Caracter char
Cadenas char[num]
Estructuras de control
A. Selectivas
If (condicion)
Acción
Ejemplo:
If (calificacion >= 60)
cout << "aprobado";
If (condicion)
Acción 1
Else acción 2
Ejemplo:
If (calificacion >= 60)
cout << "aprobado";
Else cout <<"reprobado";
Switch (variable){
Caso1: acción 1
Caso2: acción 2
Caso3: acción 3
….
Por defecto:accion n
}
Ejemplo:
Switch (calificacion){
Case 90:
cout<<"excelente";
break;
Case 80:
cout<<"bueno";
break;
Case 70:
cout<<"regular";
break;
Case 60:
cout<<"malo";
break;
Case 50:
44
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
cout<<"muy malo";
break;
default:
break;
}
45
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
B. Repetitivas
While (condición)
Acción
Ejemplo:
Producto := 2;
While (producto <= 1000)
Producto := 2 * producto;
Do{
Acción
} While (condición);
Ejemplo:
Cont := 1;
Do{
Cout << cont;
Cont := cont + 1;
} while (cont <= 10);
Resultado de Aprendizaje
1.1.1- Emplear un lenguaje de alto nivel para la solución de un problema en computadora.
Ejercicio 1.
Desarrolle un programa en C++ que realice una acción de acuerdo al siguiente menú de
opciones:
1. Calcule una suma
2. Calcule una resta
3. Calcule una multiplicación
4. Calcule una división
5. Terminar
Programa:
#include <iostream.h>
main ()
{
// declaracion de variables
int opcion, num1, num2;
float resultado;
char resp;
46
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
// ingreso de datos
cout << "Escriba el primer número"; cin>>num1;
cout << "Escriba el segundo número"; cin>>num2;
// proceso de datos
do {
cout << "\nElija su opción";
cout << "\n 1. Calcular una suma";
cout << "\n 2. Calcular una resta ";
cout << "\n 3. Calcular una multiplicación ";
cout << "\n 4. Calcular una división ";
cout << "\n 5. Terminar";
cout << "\n Opción"; cin >> opcion;
switch (opcion) {
case 1:
resultado := num1 + num2;
break;
case 2:
resultado := num1 - num2;
break;
case 3:
resultado := num1 * num2;
break;
case 4:
resultado := num1 / num2;
break;
case 5:
break;
} // fin del case
// salida de resultados
cout << "\n El resultado es: " << resultado;
cout << "\n Desea realizar otra operación? S/n: ";
cin >> resp;
} while (resp == 'S'); // fin del ciclo do while
return 0;
} // fin del programa
47
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
48
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
UNIDAD 4
ARREGLOS
INTRODUCCIÓN
Sólo se integra por un único objetivo que describe al alumno las características principales
para el desarrollo de un programa en un lenguaje de programación. El alumno comprenderá
el concepto y manejo básico de un arreglo.
.
1. Arreglos 38
49
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
TEMA 1
ARREGLOS
Objetivo de Aprendizaje:
1. Identificará la estructura básica de un arreglo.
Criterio de aprendizaje:
1.3 Describir el concepto de un arreglo y sus elementos básicos.
c[0]
-45
c[1]
6
c[2]
72
c[3] 1543
c[4] -89
c[5] 0
c[6] 62
50
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
c [ a + b ] +=2;
Declaración de arreglos
int c [ 12 ];
char nombre[20];
Mediante una sola declaración se puede reservar memoria para varios arreglos. La
siguiente declaración reserva 100 elementos para el arreglo de enteros b y 27 elementos
para el arreglo de enteros x.
int b [100 ], x [ 27 ];
Los arreglos pueden declararse para que contengan otros tipos de datos. Por
ejemplo, es posible utilizar un arreglo de tipo char para que almacene una cadena de
caracteres.
51
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
El programa siguiente utiliza una estructura de repetición for que inicializa a cero los
elementos de un arreglo de enteros n de diez elementos; luego imprime dicho arreglo en
forma de tabla. La primera instrucción de salida despliega los encabezados de las columnas
que se imprimirán en la estructura for subsiguiente recuerda que setw especifica el ancho del
campo en que se enviara a la salida el siguiente valor.
Los arreglos en C++ pueden tener múltiples subíndices. Un uso común de los arreglos
de múltiples subíndices es la representación de tablas de valores que consisten en
información ordenada en filas y columnas. Para identificar un elemento en particular de una
tabla, debemos especificar dos subíndices el primero (por convención) identifica la fila del
elemento y el segundo (también por convenció), su columna.
Las tablas que requieren de dos subíndices para identificar un elemento en particular
se llaman arreglos de doble dimensión o arreglos bidimensionales. Los compiladores de C++
pueden manejar cuando menos 12 subíndices la siguiente tabla ilustra un arreglo de doble
subíndice, a. Dicho arreglo contiene tres filas y cuatro columnas, por lo que se dice es un
arreglo de 3 por 4. En general, un arreglo con m filas y n columnas se llama arreglo de m por
n.
52
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Subíndice de columna
Subíndice de fila
Cada elemento del arreglo a se identifica por medio de un nombre del elemento de la
forma a [ i ] [ j ]; a es el nombre del arreglo e i y j son los subíndices que identifican a cada
elemento de a en forma única. Observa que los nombres de los elementos de la primera fila
tienen un primer subíndice de 0; los de la cuarta columna tienen un segundo subíndice de 3.
El programa llama a la función printArray para enviar a la salida los elementos de los
arreglos.
#include <iostream.h>
int main ( )
{
int array1[ 2 ] [ 3 ] = { {1,2,3},{4,5,6,} },
array2[ 2 ] [ 3 ] = { 1,2,3,4,5 },
array3[ 2 ] [ 3 ] = { {1,2}, {4} };
53
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
return 0;
}
{
for (int j=0; j<3; j++ )
cout<<a [ i ][ j ]<< ' ';
cout<<endl;
}
}
54
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
V. REFERENCIAS
Metodología de la Programación
Osvaldo Cairó
Alfa - Omega
Tomo I, II
Fundamentos de Programación
Luis Joyanes Aguilar
McGraw Hill
Programando en C/C++
Deytel / Deytel
Prentice may
55
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
VI. GLOSARIO
Boolean Tipo de dato que toma dos posibles valores verdadero (true) y falso
(false).
Bucle, ciclo, lazo Secuencia de instrucciones repetida continuamente hasta que se cumple
una determinada condición de salida del bucle.
56
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Editor Programa para crear o modificar un archivo de texto (el programa fuente
escrito en un lenguaje de programación de alto nivel, textos, etc.).
Ejecución Realicación en forma secuencial de todas las instrucciones que
componen un programa.
Entero Tipos de datos que contienen números positivos o negativos sin parte
decimal.
Error de programación. Errores que se producen en un programa normalmente del
programador.
Error de tiempo de compilación. Un error, tal como un erro de sintaxis, detectado durante la
compilación de un programa.
Error lógico Un error normalmente procedente del diseño de algoritmo.
Estructura de control. Una construcción de programación, tal como selección o bucles, que
determina el orden en que se ejecutarán las sentencias.
Expresión aritmética . Una expresión de variables, constantes y operaciones artiméticas
que pueden ser evaluadas como un único valor númerico.
Expresión booleana. Expresión que cuando se evalúa, produce un valor lógico o booleano.
Lenguaje de alto nivel. Lenguaje que permite generar código máquina a partir de sentencias
independientes de la máquina y representar los problemas de un usuario
de modo simple y claro
Lenguaje de programación. Conjunto de vocabulario, símbolos y reglas utilizados para
controlar las operaciones de una computadora.
57
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Programa ejecutable. Programa compilado y traducido a código máquina y que puede ser
ejecutado directamente por la computadora.
Programa fuente Programa escrito en un lenguaje de alto nivel que requiere la compilación
o interpretación para su ejecución.
Programa objeto Programa en lenguaje máquina resultante de la traducción del programa
fuente.
Pseudocódigo Seudocódigo. Mezcla de instrucciones de computadora y lenguaje
natural (español o inglés) utilizados para expresar un algoritmo.
58
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
VII. ANEXOS
Unidad 1.
Tema 1.Realice un algoritmo que calcule el equivalente de grados Celcius a grados
Farenheit, utilizando la siguiente fórmula:
°F = (9 / 5) (°C + 32 )
donde:
°C Son los grados Celcius que se desean convertir a grados Farenheit
Tema 3. Realice un pseudocódigo que calcule el pago de una nota de venta de 3 productos
diferentes. Pida la cantidad de compra de cada producto, la descripción del producto, el
costo unitario. Calcule el importe de cada por producto, el subtotal por los 3 productos, el
IVA del 10% y el total. Despliegue los resultados.
Tema 4. Realice un pseudocódigo que pida y despliegue los datos del trabajador, pida las
horas trabajadas, el pago por hora, calcule el impuesto 0.8% y despliegue el total a pagar
Undiad 2.
Tema 1. Diseñe un pseudocódigo que calcule el área de un triángulo en función de las
longitudes de sus lados:
Area = √p ( p - a ) ( p - b ) ( p - c )
Donde p=(a+b+c+)/2
Unidad 3.
Tema 1. El cambio de divisas en la Bolsa de Madrid el día 25 de agosto de 1987 fue el
siguiente:
100 chelines = 956,871 pesetas
austriacos = 122,499 pesetas
1 dólar EEUU = 88,607 pesetas
100 dracmas griegas = 323,728 pesetas
100 francos belgas = 20,110 pesetas
1 franco francés = 178,938 pesetas
1 libra esterlina = 9,289 pesetas
100 liras italiana
Desarrollar algoritmos que realicen las siguientes conversiones:
59
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
60
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Unidad 4.
Tema 1. El costo de las llamadas telefónicas internacionales, depende de la zona geográfica
en la que se encuentre el país destino y del número de minutos hablados. En la siguiente
tabla se presenta el costo por minuto, por zona. A cada zona se le ha asociado una clave.
Construya un diagrama de flujo que le permita calcular e imprimir el costo total de una
llamada.
Tema 2. Una persona invierte en un banco un cierto capital y quiere saber cuánto obtendrá al
cabo de cierto tiempo, si el dinero se colocó en una determinada tasa de interés mensual.
Haga el diagrama de flujo correspondiente.
Tema 3. Calcular el factorial de un número dado, tomando en cuenta que el factorial de un
número N (N!) es el conjunto de productos sucesivos siguientes:
Unidad 5.
Tema 1. Programa que pida al usuario un número y realice una tabla de multiplicar hasta 10
con ese número.
61
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
UNIDAD 1
Tema 1
1. Pedir los grados Celcius a convertir
2. Dividir 9 / 5
3. Sumar 32 a los grados Celcius
4. Multiplicar el resultado de la división por el resultado de la suma
5. Desplegar el resultado
Tema 2
1. Inicio
2. Declarar las variables x1, x2, suma, resta, mult, raiz
3. Leer a, b, c
4. Mult = 4 * a * c
5. Resta = ( b ^ 2 ) - mult
6. Raiz = raiz(resta)
7. X1 = (- b + raiz) / (2 * a)
8. X2 = (- b - raiz) / (2 * a)
9. Imprimir x1, x2
10. Fin
Tema 3
1. Inicio
2. Declarar variables cant1, cant2, cant3, prod1, prod2, prod3, uni1, uni2, uni3, imp1,
imp2, imp3, subtotal, iva, total
3. Leer cant1, prod1, uni1
4. Leer cant2, prod2, uni3
5. Leer cant3, prod2, uni3
6. Imp1 = cant1 * uni1
7. Imp2 = cant2 * uni2
8. Imp3 = cant3 * uni3
9. Subtotal = imp1 + imp2 + imp3
10. Iva = subototal - (subtotal * 0.10)
11. Total = subtotal + iva
12. Imprimir cant1, prod1, uni1, imp1
13. Imprimir cant2, prod2, uni2, imp2
14. Imprimir cant3, prod3, uni3, imp3
15. Imprimir subtotal,
16. Imprimir iva
17. Imprimir total
18. Fin
62
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Tema 4
1. Inicio
2. Declarar variables nombre, direccion, horas, pagoxhr, total, subtotal
3. Declarar constante impuesto = 0.8
4. Leer nombre, direccion
5. Leer horas, pagoxhora
6. Subtotal = horas * pago/hora
7. Total = subtotal - (subtotal * impuesto)
8. Imprimir nombre, direccion
9. Imprimir total
10. Fin
UNIDAD 2
Tema 1
1. Inicio
2. Declara variables a, b, c, p, area, mult
3. Calcular semiperimetro p = ( a + b + c ) / 2
4. Mult = p * ( p - a ) * ( p - b ) * ( p - c )
5. Area = raiz(mult)
6. Imprimir area
7. Fin
Tema 2
1. Inicio
2. Declarar variables val1, val2, val3, val4, val5, val6, val7, resultado
3. Val1 = 8 * 81
4. Val2 = 7 + val1
5. Val3 = 256 > val2
6. Val4 = 15 * 2
7. Val5 = 60 * 2
8. Val6 = val5 / 4
9. Val7 = (val4 = val6)
10. resultado = val3 > val7
11. imprimir resultado
12. Fin
Tema 3
1. Declarar las variables pesetas, chelin, dolar, dracmas, fbelga, ffrances, lester, lital
2. Leer el valor de la variable pesetas
3. Calcular la equivalencia de Chelin = ( pesetas * 100) / 956871
4. Calcular la equivalencia de Dolar = ( pesetas * 1) / 122499
5. Calcular la equivalencia de Dracmas = ( pesetas * 100) / 88607
6. Calcular la equivalencia de Fbelgas = ( pesetas * 100) / 323728
7. Calcular la equivalencia de Ffrances = ( pesetas * 1) / 20110
8. Calcular la equivalencia de Lester = ( pesetas * 1) / 178938
9. Calcular la equivalencia de Lital = ( pesetas * 100) / 9289
10. Escribir el resultado con un mensaje 'Las equivalencias son:'
63
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Tema 2
Inicio
Leer pesetas
Fin
Tema 3
64
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
1. Inicio
2. Declarar variables pesetas, chelin, dolar, dracmas, fbelga, ffrances, lester, lital
3. Leer pesetas
4. Chelin = ( pesetas * 100) / 956871
5. Dolar = ( pesetas * 1) / 122499
6. Dracmas = ( pesetas * 100) / 88607
7. Fbelgas = ( pesetas * 100) / 323728
8. Ffrances = ( pesetas * 1) / 20110
9. Lester = ( pesetas * 1) / 178938
10. Lital = ( pesetas * 100) / 9289
11. Imprimir 'Las equivalencias son:'
12. Imprimir 'chelines', chelin
13. Imprimir 'dolares', dolar
14. Imprimir 'dracmas', dracmas
15. Imprimir 'francos belgas ', fbelgas
16. Imprimir 'francos franceses', ffrances
17. Imprimir 'libras esterlinas', lester
18. Imprimir 'libras italianas', lital
19. Fin
UNIDAD 3
Tema 1
Inicio
Clave, min
12 29
Clave
15 23,25
'Costo total de la
llamada: ', costo
65
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Fin
Tema 2
Inicio
I=1
Capini, meses
SI
I > meses
NO
Tasa
Capini = capfin
I=I+1
Capfin
Fin
Tema 3
66
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
UNIDAD 3
Tema 1
#include <iostream.h>
main ()
{
// declaracion de variables
int num, result; cont;
// ingreso de datos
cout << "Escriba el número"; cin>>num;
return 0;
} // fin del programa
67
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
EJERCICIOS SUGERIDOS.
1.-El departamento de climatología de la UAP ha efectuado recientemente su conversión al
sistema métrico. Diseñar un programa para realizar las siguientes conversiones:
a) Léase la temperatura dada en la escala de Celsius e imprima en su equivalente Fahrenheit
(la formula de conversión es oF = 9/5 oC + 32).
b) Lease la cantidad de lluvia en pulgadas e imprima su equivalencia en milímetros (25.5mm
=1 pulgada).
2.- Formúlese un programa para leer el nombre de una persona en forma <nombre de
pila>seguido de <apellidos>, e imprima de la siguiente manera <apellidos>seguido por el
<nombre de pila>.Por ejemplo:
Entrada: “Hernández Martínez” “Arturo”.
Salida: “Arturo”, “Hernández Martínez”.
3.- El costo de un automóvil nuevo para el comprador es la suma total del costo del vehículo,
del porcentaje de ganancia del vendedor y de los impuestos locales o estatales aplicables
(sobre el precio de venta). Supóngase una ganancia del vendedor del 12% en todas las
unidades y un impuesto del 6%, diseñe un programa para leer el costo total del automóvil e
imprimir el costo para el consumidor.
4.-Dadas las calificaciones individuales de un estudiante llamado NAME en tres aspectos del
trabajo anual de un curso, TAREAS,PROYECTO,EXAMEN, este programa calcula la
calificación final con ponderaciones de 20% , 30% y 50% respectivamente la salida a pantalla
proporciona el nombre del estudiante, sus calificaciones individuales y la calificación final .La
variable CAL FINAL es real.
5.- Teclear cuatro números por teclado e imprima cual es el mayor y cual es el menor de los
cuatro. Supóngase que los cuatro números son enteros.
68
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
8.- Diséñese un programa que lea la cantidad de pelotas compradas y determine el precio a
pagar de acuerdo al siguiente anuncio: Si se compra diez o mas el precio unitario de las
pelotas de béisbol es de $6.65 y de $8.60 en caso contrario.
9.- En vierto poblado de Estados Unidos, una mujer es elegible como bombera si su estatura
esta entre 1.65 m y 1.90m y un peso de 58k. Diséñese un programa que solicite como
entrada: El nombre de la candidata, la estatura ye l peso y determine si es aceptada
(mostrando un mensaje de ACEPTADA y su nombre) o si fue rechazada (mostrando un
mensaje RECHAZADA y su nombre).
10.- Un alumno es aceptado en una escuela, si tiene al menos 18 años y si obtiene más de
85 puntos en una de dos pruebas realizadas. Realizar un programa para solicitar como
entrada su nombre, su edad y dos calificaciones. Mostrar su nombre si es o no aceptado.
11.- Un trabajador gana $15.00 la hora por las primeras 40 horas de trabajo y $25.00 la hora
por cada hora posterior a las 40 horas. Realizar un programa que lea el nombre del
trabajador y las horas que trabajo. El programa deberá el nombre del trabajador y el sueldo a
pagarle.
12.- Escriba un programa que reciba como entrada dos enteros positivos distintos y escriba y
escriba la diferencia entre el número mayor y el menor. Ejemplo: Si se da 9 y 15 deberá
imprimir 6, lo mismo sucederá si se da 15 y 9. Recuerda que pueden ser diferentes valores.
13.- Escriba un programa que reciba dos números enteros como entrada y escriba el mensaje
“SIGNOS OPUESTOS”, solo si uno de los enteros es positivo y el otro negativo o “SIGNOS
IGUALES”, si ambos son positivos o ambos son negativos.
14.- Escriba un programa que reciba el peso de una carta en onzas como entrada e imprima
el costo del porte calculado según las reglas siguientes:
La primera onza cuesta $0.25 (dólares)
Cada onza adicional cuesta $ 0.04 dólares
69
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
15.- Realiza un programa en donde se lea por teclado un número del 1 al 7, e imprima a que
día de la semana corresponda. Ejemplo: Si se lee el 1 imprima por pantalla “domingo”, si se
selecciona 4 e imprima por pantalla “miércoles”.
16.- Realiza un programa en donde se lea por teclado un número del 1 al 12 (meses del año,
Ejemplo 1= Enero, 2= Febrero…) Y procesa a imprimir por pantalla cuántos días tiene ese
mes. Ejemplo: Si se selecciona 3 imprima, “El mes 3 tiene 31 días”: El programa deberá
mostrar por pantalla un menú como sigue:
“Meses del año”
“1…Enero”
“2…Febrero”
……
“12...Diciembre”
“Seleccione el numero del mes”.
17.- Realiza un programa donde se lea por teclado una calificación de un estudiante (En el
rango de 0 a 100) y muestre por pantalla un mensaje dependiendo de la calificación que
pueda ser:
Si se tecleo 100 imprima “EXCELENTE”.
Si se tecleo 90 imprima “MUY BIEN”.
Si se tecleo 80 imprima “BIEN”.
Si se tecleo 70 imprima “REGULAR”.
Si se tecleo 0.60 imprima “REPROBADO”.
19.- Programa que lea 5 calificaciones de 3 alumnos e imprima el promedio de cada alumno y
el promedio general del grupo.
19.- Diseña un programa para calcular la suma de los siguientes 100 términos de la serie:
1- ½+1/4+1/6+1/8…
20.- Un número es primo si no tiene otros divisores además de uno y del mismo número
diseña un programa para leer un número y determinar si se trata o no de un número primo
realizarlo un número “n” de cálculos.
21.- Realizar un programa para calcular la nomina de una empresa que tiene “N”
trabajadores en donde se capturará por teclado: Nombre, Horas trabajadas, Sueldo por hora,
Sexo:
70
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
22.- Se pide elaborar un programa para que procese la información de los clientes de una
compañía e informe ¿Cuánto suma la cartera de deudores?
La información de la cartera de la compañía tiene la siguiente información para cada uno de
los “N” deudores: Código del deudor, El valor de la deuda y la fecha de vencimiento de la
obligación.
23.- Deberá solicitarse por teclado de lo “N” trabajadores de una empresa. El tiempo
trabajado en una factoría está compuesta por: Código del empleado, numero de horas
normales, numero de horas extras. Validar los datos capturados que cumplan con los
siguientes requisitos:
.El Código de trabajador es mayor de 100 y menor de 400.
.Las horas normales no son mayores de 40
.Las horas extras no son superiores a 60.
.Los registros que resulten con todos lo datos validos se deberán mostrar por pantalla.
24.- Solicitar por teclado los datos de “N” artículos de una compañía con la siguiente
información para cada artículo: Referencia, Descripción, Cantidad mínima, Saldo actual de
existencia.
Deberá imprimir por pantalla los datos de a aquel artículo que detectes que la existencia sea
menor o igual a la cantidad mínima acompañado de un mensaje que diga “ARTICULO
APEDIR”.
25.- Programa que lea los datos de 10 alumnos del grupo de diseño estructurado de
algoritmos en donde deberá calcular y mostrar: Promedio individual de cada alumno (Cada
alumno tiene 5 calificaciones), y el medio general del grupo. Para cada alumno se solicitará
por teclado: Nombre, 5 calificaciones (en un ciclo utilizando una sola variable).
26: Programa que lea un numero “N” por teclado y calcule su potencia “X”. Deberá realizar
este programa mientras lo desees.
27.- Realizar un programa que lea un mes por teclado un año y mande por pantalla un
mensaje que diga es Bisiesto o no es Bisiesto. Realizar este programa un numero “N” de
veces.
28.- Realizar un programa para leer “N“números por teclado deberás calcular e imprimir:
Todos los números positivos que detectes:
Todos los números negativos que detectes:
La suma de los números positivos:
La suma de los números negativos:
Promedio de los números Positivos:
Cuantos ceros detectaste(los cuales no se acumulan en positivos ni en negativos)
71
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
30.- Se trata de escribir el programa que permita emitir la factura correspondiente a una
compra de un artículo determinado del que se adquieren una o varias unidades. El IVA a
aplicar es del 12% y si el precio bruto (Precio de venta más IVA) es mayor de $50.00, se
deberá realizar un de3scuento del 5%.
Este programa me deberá permitir procesar varias facturas.
31.- Se conoce la población de cada una de las 3 ciudades mas grandes de las tres
provincias de Andalucía y se desea identificar y visualizar la población de la ciudad más
grande de cada provincia.
El programa consistirá, en primer lugar, en la obtención de la población mayor de cada
provincia y realizar esta operación tres veces una para cada provincia.
1.- Encontrar y Visualizar la ciudad mayor que una provincia
2.- repetir el paso uno para cada una de la tres provincias andaluzas.
3.- Mostrar cual de todas las ciudades de cada provincia es la mayor.
32. A un trabajador le pagan según sus horas y una tarifa de pago por horas. sí la cantidad
de horas trabajadas es mayor a 40 horas. la tarifa se incrementa en un 50% para las horas
extras. calcular el
salario del trabajador dadas las horas trabajadas y la tarifa.
variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e
inicio
leer: horas_trabajadas,tarifa
si: horas_trabajadas <= 40 entonces
salario <-- horas_trabajadas * tarifa
si_no
tarifa_extra <-- tarifa + 0.50 * tarifa
horas_extras <-- horas_trabajadas - 40
salario <-- horas_extras * tarifa_extra + 40 *
tarifa
fin_si
imprimir: salario.
fin
72
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
variables: sueldo,sueldo_neto,descuento
inicio
leer: sueldo
si: sueldo <= 1000 entonces
descuento <-- sueldo * 0.1
si_no
si: sueldo <= 2000 entonces
descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1
si_no
descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1
fin_si
imprimir: descuento.
fin
variables: monto,descuento
inicio
leer: monto
si: monto > 100 entonces
descuento <-- monto * 10 / 100
si_no
descuento <-- monto * 2 / 100
fin_si
imprimir: monto, descuento
fin
variables: tiempo_seg,minutos,segundos
inicio
leer: tiempo_seg
si minutos <-- tiempo_seg div 60 entonces
segundos <-- tiempo_seg mod 60
fin_si
imprimir: minutos,segundos.
fin
73
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Inicio
leer: h, t
S<--h * t
Imprimir: s
fin
inicio
leer: h, t
S<--h * t
Imprimir s
Leer: h, t
S<--h * t
Imprimir: s
Fin
Inicio
Leer: N
X<--1
Cd<--0
NA <-0
acum_desap <-0
acum_ap <- 0
acum <- 0
Mientras x<=N hacer
Leer: not
Si: not < 10.5 entonces
CD<--cd+1
acum_desap <- acum_desap + not
Sino
NA <- NA + 1
acum_ap <- acum_ap + not
fin _ si
acum <- acum + not
74
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
x<--x+1
Fin _ mientras
prom_ap <- acum_ap /NA
prom_desap <- acum_desap/CD
prom <- acum / N
Imprimir: prom, prom_ap, prom_desap, NA, CD
Fin
75
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
x= 1
Mientras x<= 100 hacer
Leer n
s=s+n
x=x+1
Finmientras
media = s /100
Escribir media
Fin
10) hacer un programa que permita calcular y mostrar el jornal mensual de acuerdo con
las siguientes especificación:
Inicio
Leer Horas_trabajadas, dia, turno
Mientras dia <> “domingo” hacer
Si turno = “diurno” entonces
Jornal<-? 10 * Horas trabajadas
Sino
Jornal <- ? 50 * Horas_trabajadas
Fin_si
Fin_mientras
Si horas_trabajadas < 15 entonces
Escribir “Trabajador en observación”
Sino
Escribir “el jornal mensual es:” jornal
Fin_si
Fin
76
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
12). Clasificar a 50 personas según la edad y el sexo al final deberá visualizar la cantidad
de personas:
Masculinas mayores de edad, la cantidad de personas femeninas menores de edad, cantidad
de
Personas mayores y menores. además deberá indicar el porcentaje que representa las
personas
Mayores y menores de edad.
Variables:
Nom(50), 5x(50):Texto
Ed(50),MMa, FMe,May,Men,C
Inicio
MMa=0
Fme=0
May=0
Men=0
para c=1 hasta c = 50 hacer
leer Ed(c),Sx(c)
si Ed(c)>=18 entonces
May=May+1
sino
Men=Men+1
fin_si
si sx(c)="M"entonces
Si Ed(c)>=18 entonces
MMa=MMa+1
fin_si
sino
si Ed(c)<18entonces
FMe=FMe+1
fin_si
77
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
fin_si
Fin Para
PMa=may*100/50
PMe=Men*100/50
mostrar MMa,FMe,May,Men,PMa,PMe
fin
13). Autogenerar el código del alumno tomando como datos los dos primeros caracteres del
apellido paterno el segundo y tercer carácter de apellido materno los dos últimos caracteres
de los nombres mas el numero que le corresponde en la lista. Además se deberá pedir dos
notas para calcular su promedio del curso de matemática. Se sabe que en el aula son 36
alumnos y además deberá mostrar al final la cantidad de alumnos desaprobados.
Variables
Nom(36),pat(369,Mat(36),Cod(36):Texto
N1(36),N2(36),Prom(36),A,D,C:Numerico
Inicio
A=0
D=0
paraC=1 hasta 36
leer Nom(c), Pat(c),Mat(c),N1(c),N2(c)
cod(c)=Left(pat(c),2)+Mid(Mat(c),2.2)+Rig(Nom(c),2)+STR(c)
Prom(c)=(N1(c))+N2(c))/2
escribir cod(c), prom(c)
si prom(c)>=10.5 Then
A=A+1
si no
D=D+1
fin_si
fin_para
escribir A,D
Fin
78
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Los nombres de los trabajadores con sus respectivos sueldos, ordenados por el sueldo
en forma descendente.
la cantidad de trabajadores por categorias y el total de los sueldos de dicho trabajador.
variables
Aux, Trab(30,4):Variant
I,Ts,C1,C2,C3,C4;Fil,VH:Numerico
Ordenar=Logico
Inicio
C1=0
C2=0
C3=0
C4=0
TS=0
para fil = 01 hasta 30
Ingresar trab(Fil,1), trab(Fil,2), trab(Fil,3)
Seleccione Caso segun trab(Fil,2)
Caso trab(Fil,2)= 1
VH=8.5
C1=C1+1
caso trab(Fil,2)=2
VH=9.7
C1=C2+1
caso trab(Fil,2)=3
VH =10.5
C3=C3+1
caso trab(Fil,2)=4
VH = C4=C4+1
Fin_Seleccione
trab(Fil,4)=Vh*Trab(Fil,3)
Ts=Ts+Trab(Fil,4)
Fin_para
Ordenar=True
mientras ordenar=True hacer
Ordenar=False
Para Fil=1 Hasta29
Si Trab(Fil,4)<Trab(Fil+1,4) Entonces
Aux=Trab(Fil,1)
Trab(Fil,1)=Trab(Fil+1,1)
Trab(Fil+1,1)=Aux
Aux=Trab(Fil,2)
Trab(Fil,2)=Trab(Fil+1,2)
Trab(Fil+1,2)=Aux
Ordenar=True
Fin-si
Fin_Para
79
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Fin mientras
Para Fil=1 hasta 30
Mostrar C1;C2,C3,C4,Ts
Fin_para
Fin
16) Leer dos números y ver en la pantalla si están en orden crecientes o decrecientes.
variables: A y B
inicio
leer a, b
si a < b entonces
Escribir “ orden creciente”
sino
Escribir “orden decreciente”
Fin_si
fin
80
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
fin mientras
x ???1
mientras x<=15 hacer
si nota[x]>=10.5 o nota[x]<=20 entonces
escribir nota[x]
fin_si
fin_ mientras
fin
19.-Hacer un programa que muestre Ejm.el horario en que se transmite “dibujos animados ” :
Si es de 10 a 12 horas “ tele serie ” , si es de 13 a 16 horas “ novelas repetidas ” si es de 16
a 18 horas “dibujos animados ” , si es de 18 a 22 ho ras “novela s juveniles ” , si es de 22 a 23
horas “noticiero”.
81
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
Inicio
Leer n
si n>=10 y n<=12 entonces
escribe “teleserie ”
sino
si n>13 y n<=16 entonces
escribe “nov elas repetidas”
sino
si n>=16 y n<=18 entonces
escribe “dibujos animados ”
sino
si n >=18 y n>22 entonces
escribe “novelas juveniles”
sino
si >=22 y n <=23 entonces
escribe “noticiero”
fin_si
fin_si
fin_si
fin_si
fin_si
fin
* Por un monto menor de $500 pero mayor o igual a 200 se hara un descuento del 20%
* Por un monto menor de $200 pero mayor o igual a 100 se hara un descuento del 10%
82
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
| Sino
| Descuento=0
| Fin_si
| Fin_si
| Fin_si
| Totalpagar= Consumo-Descuento
| Imprimir Totalpagar
| Si x<>100 entonces
| x=x+1
| Fin_si
FIN
21. Dado la tarifa de pago por horas de un trabajador, y sus horas trabajadas calcular
cuantos trabajadores reciben un salario mayor o igual a S/.500 y calcular ademas el promedio
de los salarios de todos los trabajores
INICIO
|
| Leer N
| Leer Tarifa
| i=0
| C=0
| Suma=0
| mientras i<=N Hacer
| | Leer horas
| | salario= tarifa * horas
| | Escribir salario
| | Si salario >=500 entonces:
| | c=c+1
| | Fin_si
| | Suma= suma + salario
| | i=i+1
| fin_mientras
| P=suma/N
| Escribir: P,C
|
FIN
22. Una tienda se dedica a la venta de computadoras, cuenta con 10 vendedores. Cada uno
de ellos tiene un sueldo mensual pero ademas de su sueldo ganan una comision por venta
* Si el monto de venta es mayor de 1000 la comsion sera del 15%
* Si el monto de venta es mayor o igual a 500 y menor de 1000 la comision es del 5%
* Si el monto de la venta es menor que 500 no tiene comision
INICIO
| x=x+1
| Leer "Sueldo", "Venta"
83
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
| Si venta>=1000 entonces
| | Sueldo = Venta * 15/100
| |
| Sino
| |
| | Si venta>=500 entonces
| | Sueldo = Venta * 5/100
| |
| | Sino
| | Comision=0
| |
| | Fin_si
| |
| Fin_si
|
| Sueldototal
| Si x<>10 entonces
| | x=x+1
| |
| Fin_si
|
FIN
23.- Katthy organiza una fiesta en la cual una computadora controla el ingreso mediante 5
claves. Si se ingresa al menos una clave incorrecta esta imprimira "TE EQUIVOCASTE DE
FIESTA" y no permitira el ingreso. Si las 5 claves son correctas imprimira "BIENVENIDO A LA
FIESTA"
INICIO
|
| Leer Claves: C1,C2,C3,C4,C5
|
| Si C1<>"TIENE" entonces:
| | escribir "Te Equivocaste de Fiesta"
| |
| Sino
| | escribir "Ingrese la Clave2"
| |
84
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
| | Si C2<>"QUE_SER" entonces:
| | | escribir "Te Equivocaste de Fiesta"
| | |
| | Sino
| | | escribir "Ingrese la Clave3"
| | |
| | | Si C3<>"INVITADO" entonces:
| | | | escribir "Te Equivocaste de Fiesta"
| | | |
| | | Sino
| | | | escribir "Ingrese la Clave4"
| | | |
| | | | Si C4<>"PARA" entonces:
| | | | | escribir "Te Equivocaste de Fiesta"
| | | | |
| | | | Sino
| | | | | escribir "Ingrese la Clave5"
| | | | |
| | | | | Si C5<>"INGRESAR" entonces:
| | | | | | escribir "Te Equivocaste de Fiesta"
| | | | | |
| | | | | Sino
| | | | | | escribir "Bienvenido a la Fiesta"
| | | | | |
| | | | | Fin_si
| | | | |
| | | | Fin_si
| | | |
| | | Fin_si
| | |
| | Fin_si
| |
| Fin_si
|
FIN
24.- Hacer un programa que al ingresar 2 numeros por la pantalla y que se calcule la suma,
resta, multiplicacion y division. El proceso debe terminar cuandon se hallan realizado 10
procesos (Hacer uso de contadores)
INICIO
X=X+1
Leer A,B
S=A+B
85
LOGICA DE PROGRAMACIÓN MANUAL DEL DOCENTE
R=A-B
M=A*B
D=A/B
IMPRIMIR ,S,R,M,D
Si x=10 entonces:
escribe "Fin del programa"
Sino
X=X+1
Fin_si
FIN
86