FOLLETO SOBRE ALGORITMOS Y PROGRAMASok
FOLLETO SOBRE ALGORITMOS Y PROGRAMASok
Una computadora es una máquina electrónica que recibe y procesa datos para convertirlos en
información útil.
Para procesar la información está el hardware (microprocesador, RAM, tarjeta madre etc.), y el
software (que es la parte lógica que sirve para manipular el hardware).
El ordenador es una potente máquina con la que podemos escribir, jugar, dibujar, calcular,
realizar muchas actividades, y además acceder a Internet.
EL LENGUAJE DE PROGRAMACION
Una instrucción es cada paso de un algoritmo, pero que lo ejecuta el ordenador. Un programa
es un conjunto de instrucciones que ejecutadas ordenadamente resuelven un problema.
TIPOS DE INSTRUCCIONES
Lenguaje de Alto Nivel: Son los más utilizados por los programadores, por cuanto utiliza el
lenguaje natural, es decir de fácil comprensión para el programador, es con el que se codifican
los programas.
Ejemplos: Basic, Pascal, Cobol, FoxPro, Visual Basic, Visual FoxPro, etc.
Lenguaje de Bajo Nivel o Ensamblador: Son aquellos que utilizan en la codificación símbolos
Nemotécnicos (abreviaturas) en vez de códigos internos, los que a su vez complican la
codificación al programador, facilitando la traducción de la computadora mediante el uso de
programas de traductores o ensambladores.
Ejemplo: Assembler.
1
Lenguaje de Máquina: Son específicos de cada modelo y de cada casa fabricante, están
basados en el sistema de numeración binario, es decir que para su codificación interna utiliza 0
y 1.
De donde:
El compilador obtiene el programa o el fichero objeto. El compilador tiene que buscar los
errores.
Debbuger: Depura el programa ejecutándolo paso a paso, viendo la memoria paso a paso para
encontrar el error.
2
DATO, TIPOS DE DATOS Y OPERACIONES PRIMITIVAS
Tiene 3 características:
Un tipo que nos determina las operaciones que podemos hacer con ese dato.
Pueden ser finitos (caracteres), y si son infinitos el ordenador los toma como finitos porque
está limitado por el tamaño de los bytes en el que la cifra es almacenada.
Simples: Un elemento.
Numéricos
Entero: Subconjunto finito del conjunto matemático de los números enteros. No tiene parte
decimal. El rango de los valores depende del tamaño que se les da en memoria.
Real: Subconjunto finito del conjunto matemático de los números reales. Llevan signo y parte
decimal. Se almacenan en 4 Bytes (dependiendo de los modificadores). Si se utilizan números
reales muy grandes, se puede usar notación científica que se divide en mantisa, base y
exponente; tal que el valor se obtiene multiplicando la mantisa por la base elevada al
exponente.
3
Lógicos
Aquel que sólo puede tomar uno de los dos valores, verdadero o falso (1-0)
Caracteres
Tipo de cadena o String: Conjunto de caracteres, que van a estar entre comillas (“”).
En algunos lenguajes se definen tipos especiales de fecha y hora, sobre todo en los más
modernos.
Son objetos creados con la finalidad de facilitar el trabajo en los diversos niveles de análisis
que una estructura de programación presente, siendo necesarios al elaborar un programa. Por
lo general forman parte o cumplen la representación de un proceso.
Constantes Diferenciador
Variables Multiplicador
Contador Operadores
Acumulador
CONSTANTES
VARIABLES
Si podemos observar, tanto las variables o constantes para poder trabajar necesitan de dos
elementos.
4
Un nombre (pi, a, n, cad).
Su contenido (El tipo de dato que va a contener, ejemplo 3.1416, 9.8, 5, “JIPS”).
RESERVANDO MEMORIA
Para poder identificar a una variable o constante, estas deben de tener un nombre que pueden
ser una letra, conjunto de letras, letras y números, letras y caracteres especiales, o
combinación de letras, números y caracteres especiales.
Tipos de Datos
Numéricos
Caractér
CONTADOR
Es un proceso que se representa por una variable en cuyo valor se incrementa en una
constante. El valor inicial de un contador es cero.
Ejemplo: c=0
c=c+1
5
ACUMULADOR
Es un proceso que se representa por una variable en cuyo valor se incrementa en una variable
diferente. El valor inicial de un acumulador es cero.
DIFERENCIADOR
Es el proceso que se representa por una variable en cuyo valor en vez de incrementarse se
decrementa en una constante o en una variable diferente. El valor inicial de un diferenciador
es el total o el valor máximo requerido.
Ejemplo: d = 30
D=d-1
MULTIPLICADOR
Es el proceso que se representa por una variable cuyo valor se multiplica con una constante o
un a variable diferente. El valor inicial de un multiplicador es la unidad.
Variable = Variable * Vd
m=m*1 m=m*n
OPERADORES
Son elementos que sirven para relacionar un o más operandos realizando cálculos,
comparaciones u operaciones lógicas; los operadores pueden ser de tres tipos:
Operadores Aritméticos
Operadores Lógicos
Operadores Relacionales
Operadores Aritméticos
Son aquellos que sirven para realizar cálculos u operaciones representadas mediante fórmulas.
+ SUMA
6
- RESTA
* MULTIPLICACIÓN
/ DIVISIÓN
\ DIVISIÓN TRUNCADA
Mod RESIDUO
^ POTENCIA
Operadores Lógicos
Son aquellos operadores que sirven para realizar enlaces de una o varias condiciones, lo cual a
su vez permite que las relaciones se den por las combinaciones posibles de cada respuesta.
Las proposiciones (condiciones) para ser nombradas serán escritas en letras minúsculas como:
p, q, r, s, t.
Las respuestas que se pueden obtener de una condición son la de verdadero o falso, pero no
ambas. En muchos textos o en aplicaciones se las puede representar de la siguiente manera:
Cuando se opera con varias condiciones, aumentan las combinaciones de las respuestas y por
lo tanto para saber la cantidad de respuestas por condición que se aplican en las relaciones se
realiza el siguiente cálculo.
# de relaciones = 2n
n Número de proposiciones
p q p^q pvq ~p
V V V V F
V F F V F
F V F V V
F F F F V
7
Operador Lógico AND
Relaciona dos o más operandos (proposiciones) y nos indica que su respuesta será verdad si
ambas proposiciones son verdaderas, caso contrario será falso.
OPERADOR SIMBOLO
AND (Y) ^
Ejemplo:
TABLA DE VERDAD
p q p^q
V V V
V F F
F V F
F F F
Operador Lógico OR
Relaciona dos o más operandos (proposiciones) y nos indica que su respuesta será verdad si
por lo menos una de las proposiciones es verdadera, caso contrario será falso.
OPERADOR SIMBOLO
OR (O) v
Ejemplo:
TABLA DE VERDAD
p q pvq
V V V
V F V
F V V
F F F
á diferencia de los demás operadores que relacionan dos o más operandos (proposiciones), el
operador not solamente trabaja con uno y nos indica que su respuesta será el valor contrario
que tiene la condición, es decir, será una verdad si la condición es falsa, caso contrario será
falso si la condición es verdad.
OPERADOR SIMBOLO
NOT (NO) ~
Ejemplo:
8
TABLA DE VERDAD
p q ~p
V V F
V F F
F V V
F F V
Operaciones Relacionales
Son aquellos operadores que se utilizan para relacionar dos o más elementos, a su vez sirven
para elaborar condicionantes.
= IGUAL A
<> DIFENRENTE DE
Relacionales
Se puede alterar las jerarquías mediante los paréntesis. El uso de paréntesis tiene el fin de
agrupar términos e indicar en forma explícita el orden en que se desea que las operaciones
sean procesadas. Los paréntesis deben de resolverse primero, y se ejecutan desde el más
interno hasta el externo si lo hubiere. Se debe utilizar paréntesis cuando se utiliza operadores
de relación y sirven para separar de los operadores lógicos.
Operador
() 1ro.
^ 2do.
Not 3ro.
*, /, Div, Mod, And 4to.
+, -, Or 5to.
=, <, >, <>, <=, >= 6to.
9
FUNCIONES
Son funciones matemáticas diferentes de las operaciones básicas pero que se incorporan a
lenguaje y que se consideran estándar. Dependen del lenguaje. Normalmente se encuentran
en la librería de matemáticas del lenguaje de programación.
Función Explicación
ABS (var) Devuelve el valor absoluto de la variable.
EXP (var) Calcula la función exponencial de la variable en base e (evar), donde e es
igual a 2.1728.
INT (var) Determina el mayor entero menor que la variable.
LOG (var) Calcula el algoritmo natural en base e de la variable.
RND (param) Genera un número al azar entre cero y uno, controlado por el valor del
parámetro. Si el parámetro es positivo, devuelve cada vez un número
diferente. Si es cero devuelve el último número al azar, si es siempre el
mismo valor negativo devuelve el mismo número al azar.
SGN (var) Devuelve un 1 si la variable es > a 0.
Devuelve un 0 si la variable es = a 0.
Devuelve un -1 si la variable es < a 0.
SQR (var) En algunos lenguajes extrae la raíz cuadrada, aunque en Pascal permite
obtener el cuadrado de la variable.
SQRT (var) En pascal extra la raíz cuadrada.
SIN (var) Extrae el seno de la variable.
COS (var) Extrae el coseno de la variable.
TAN (var) Extrae la tangente de la variable.
ATN (var) Calcula el arcotangente de la variable.
OPERACIÓN DE ASIGNACIÓN
Consiste en atribuir un valor a una variable. El valor será una expresión (constante, variable,…).
Otros lenguajes =, :=
A←5
En C:
A == B Comparación
A=B Asignación
En Pascal:
A=B Comparación
A:= B Asignación
10
La variable a la que se le asigna el valor pierde su valor anterior.
La variable que aparece en la derecha ya que como se evalúa primero la de la derecha cuando
se tenga que evaluar el valor de esa variable se tomará su valor antiguo.
Ejercicios
A ← 20 – 5 + 12
A ← 27
B ← 7 + (9 * 2) * ((10 - 7)/3)
B ← 7 + (18 * 1)
B ← 7 + 18
B ← 25
C ← 3 + 10
C ← 13
D ←3 mod 2 div 3
D ←1 div 3
D←0
E ← -16<10
E ← Verdadero
11
LÓGICA DE PROGRAMACIÓN
CLASES DE LÓGICA
- Cualitativa
Razonamiento
Lógica Narrativa o Algoritmo Generales
- Cuantitativa
- Diagrama de Bloque
- Diagrama de Flujo de Programa
Lógica Gráfica o Diagrama Lineal
Condicional
- Diagrama de Paso de Datos
- Diagrama de Sistema
Especifica de manera narrada o escrita un conjunto concreto de instrucciones que definen una
secuencia lógica de operaciones orientadas a cumplir con un objetivo determinado.
Fases
Análisis preliminar o evaluación del problema: Estudiar el problema en general y ver que parte
nos interesa.
Definición o análisis del problema: Ver que es lo que entra y que es lo que sale, las posibles
condiciones o restricciones,…
Ejecución del programa y las pruebas: Ver si el programa hace lo que queríamos.
¿Qué es un Algoritmo?
12
Características
TIPOS DE ALGORITMOS
Algoritmos Cualitativos
Algoritmos Cuantitativos
Algoritmos Cualitativos
Son aquellos que hacen referencia a las habilidades y cualidades del programador.
Algoritmos de Razonamiento
Algoritmos Generales
Algoritmos de Razonamiento
Son aquellas secuencias que para su desarrollo utilizan solamente los elementos que nos
indican en el problema.
Es muy necesaria la aplicación del razonamiento del programador para desarrollar este tipo de
problemas.
Ejemplo:
Tres sacerdotes y tres caníbales llegan a la orilla del río desean cruzar todos al otro lado del río,
para lo cual tiene una canoa, la misma que resiste dos pesos.
Condición: No puede existir mayor número de caníbales porque se comen a los sacerdotes.
2. Regresa un sacerdote.
13
8. Regresa un caníbal.
13. Fin.
Algoritmos Generales
Son aquellas secuencias que se desarrollan utilizando la aplicación de acciones que se realizan
en la vida cotidiana.
En este tipo de algoritmos es muy importante las vivencias del programador y sus habilidades
para resolver los problemas, así como también el uso de preguntas, con sus respectivas
respuestas.
Ejemplo:
Realizar el algoritmo para cruzar la calle de una acera a la otra. Considerando los pasos
peatonales, semáforos y vigilantes.
5. Subimos ir a 13.
14
Algoritmos Cuantitativos
Son aquellos algoritmos que se elementos principal es el uso de cantidades (valores) los cuales
son representados por variables o constantes.
A este tipo de algoritmos pertenecen los algoritmos científicos que son los que utilizan
fórmulas para obtener sus objetivos.
Algoritmos Científicos
Son secuencias lógicas que permiten efectuar procesos utilizando para ello cálculos o la
aplicación de fórmulas. Entre las ciencias que se agrupan en este tipo de algoritmos tenemos:
Física, Matemáticas, Contabilidad, Estadística, etc.
Ejemplo:
2. Ingresar a, b
C = (a^2+b^2)61/2
7. Fin.
Es la secuencia que especifica en forma simbólica como seguirán las instrucciones, expresando
de modo gráfico y ordenado el proceso para cumplir un fin determinado.
Todo diagrama debe tener inicio y fin, salvo ciertas órdenes concretas que determinen la
forma específica de la elaboración gráfica del proceso.
15
Se debe tener presente que el diagrama es un proceso gráfico de apoyo al programador, por
cuanto nos muestra todas las ocurrencias de un proceso y por lo tanto es la mejor visualización
del problema propuesto.
Diagrama de Sistema
Permite identificar el bloque general del proceso y los varios programas que lo constituyen.
Permite representar las instrucciones que definen operaciones y decisiones lógicas para la
computadora, orientadas al tratamiento de los datos.
Las cajas están conectadas entre sí por líneas y eso nos indica el orden en el que tenemos que
ejecutar las acciones.
En todo algoritmo siempre habrá una caja de inicio y otra de fin, para el principio y el final del
algoritmo.
16
Diagrama de Flujo lineal
En este tipo de diagramas las condicionantes bifurcan el proceso a seguir por la computadora,
tomándose de esta manera secuencias diferentes.
Si
No
17
Diagrama de Paso de Datos
Diagrama de Sistema
Permiten establecer una visión mucho más amplia y objetiva entre los sistemas actuales,
así como verificar si se ha tenido en cuenta todas las posibilidades o si hay algunas
acciones duplicadas.
Puesto que en muchas ocasiones los programas son modificados por otras personas, los
flujogramas facilitan la comprensión de la secuencia lógica de las operaciones del
programa, ya que proporcionan una valiosa ayuda para los procesos o programas.
Los flujogramas del programa facilitan una efectiva y rápida codificación, a través de
cualquier lenguaje de programación a utilizar y permiten, con el simple seguimiento de su
flujo, asegurarse de no haber omitido ningún paso del proceso.
Los flujogramas realizados pueden utilizarse como módulos de trabajo para el diseño de
nuevos sistemas o la ampliación de los actuales.
La descripción paso a paso de todas las instrucciones del programa resulta de máxima
utilidad para el programador, ya que es el fiel reflejo del programa. Es de gran ayuda para
estructurar su propia documentación de referencia.
18
SIMBOLOGÍA
Líneas de Flujo: Una línea con una flecha que sirve para conectar los símbolos
del diagrama y la flecha indica la secuencia en la que se van a ejecutar las
acciones.
Principio y Fin: Dentro del símbolo ira la palabra Inicio o Fin del algoritmo.
Si es en la misma hoja:
Si es en distinta hoja:
Los conectores se ponen uno donde termina la columna y otra donde empieza.
Otros Símbolos
Para elaborar correctamente los diagramas debemos seguir un conjunto de reglas, de las
cuales depende que la comunicación entre programadores de diversos lenguajes sea óptima.
Entre otras reglas citaremos:
19
2. Los símbolos van unidos mediante líneas rectas sean estas verticales y horizontales, con
una flecha en uno de los extremos indica la dirección del flujo.
3. Las líneas de flujo siempre deben terminar en un símbolo o en otra línea de flujo.
4. Utilizar conectores tanto dentro de cómo fuera de página, las veces que sea necesario.
5. Las líneas de flujo no deben cruzarse, para ello se utilizan las líneas arqueadas.
6. Para imprimir variables o datos en una misma línea se utiliza la coma o el punto y coma
como separador.
Para resolver un problema, el alumno debe tomar en cuenta los siguientes aspectos:
El enunciado.
El análisis matemático.
Definición de variables.
Prueba de escritorio.
RESOLUCIÓN DE PROBLEMAS
El objetivo de ésta fase es comprender el problema para lo cual como resultado tenemos que
obtener la especificación de las entradas y salidas del problema. Tiene que quedar claro que
entra y que sale.
Una vez comprendido el problema se trata de determinar que pasos o acciones tenemos que
realizar para resolverlo.
Como criterios a seguir a la hora de dar la solución algorítmica hay que tener en cuenta:
20
Si el problema es bastante complicado lo mejor es dividirlo en partes más pequeñas e intentar
dividirlo en partes más pequeñas e intentar resolverlas por separado. Esta metodología de
“divide y vencerás” también se conoce con el nombre de diseño descendente.
Una segunda filosofía a la hora de diseñar algoritmos es el refinamiento por pasos, y es partir
de una idea general e ir concretando cada vez más esa descripción hasta que tengamos algo
tan concreto para resolver. Pasamos de lo más complejo a lo más simple.
Una vez que tenemos la solución hay que implementarla con alguna representación. Las
representaciones más usadas son los flujogramas, los diagramas NS y el Pseudocódigo.
También la solución se puede escribir en algunos casos en lenguaje natural pero no se hace
porque es muy ambiguo, e incluso otras formas de expresión como fórmulas matemáticas.
Escritura de Algoritmo
Dentro de las sentencias del algoritmo pueden existir palabras reservadas (palabras
propias del lenguaje de programación que tiene para el compilador un determinado
significado).
RESOLUCIÓN EN LA COMPUTADORA
21
PSEUDCÓDIGO
Es un lenguaje de especificación de algoritmos, pero muy parecido a cualquier lenguaje de
programación, por lo que luego su traducción al lenguaje es muy sencillo, pero con la ventaja
de que no se rige por las normas de un lenguaje en particular. Nos centramos más en la lógica
del problema.
El pseudocódigo también va a utilizar una serie de palabras clave o palabras especiales que va
indicando lo que significa el algoritmo.
Begin/end: Pascal
{ }: En C
Entonces <acc1>
Sino <acc2>
EJERCICIOS
Elabore un diagrama de flujo que permite calcular la suma de dos cantidades ingresadas
por teclado.
INICIO
a=0 s=0
b=0
“Ingrese Primer
Número:”
“Ingrese Segundo
Número:”
s=a+b
Nota de 6 curso.
INICIO
a,b,c,d=0
p=0.0 s=0
“Ingrese Nota
1:”
“Ingrese Nota
2:”
“Ingrese Nota
3:”
“Ingrese Nota
4:”
s=a+b+c+d
p=s/4
“El Promedio
con el que se
gradúa es: ”,p
FIN 23
Elaborar un diagrama de flujo para calcular la velocidad de un automóvil que lleva
movimiento rectilíneo uniforme
Donde : v=e/t;
v=Velocidad
e=Espacio, t=Tiempo).
INICIO
e=0 v=0.0
t=0
“Ingrese la
distancia:”
“Ingrese el
tiempo:”
v=e/t
“La Velocidad
es: ”,v
FIN
24
A partir de la ecuación y=2x2+4x+12 obtener el valor de y teniendo como dato de
entrada el valor de x. Elaborar el diagrama respectivo.
INICIO
x=0
y=0
“Ingrese el valor
de X:”
y=2*(x^2)+4*x+12
“Respuesta: ”,y
FIN
25
El almacén de vestir DIPAU S.A. desea que se le realice un
programa para calcular el total a pagar en la venta de un
artículo considerando que se ingresa el nombre del artículo, la
cantidad y el precio unitario, además considere que el
almacén cobre el IVA. Elaborar el diagrama de flujo para
cumplir el objetivo.
INICIO
nom=”” cant=0
pu,iva,t,st=0.0
“Ingrese
Nombre del
Artículo:”
nom
“Ingrese
cantidad a
comprar:”
cant
“Ingrese precio
unitario:”
pu
st=cant*pu
iva=st*0.12
t=st+iva
“Total a Pagar
del articulo:
”,t
FIN
26
BUCLES (CICLOS REPETITIVOS)
Inicio
Decisión
Incremento
Independientes
Anidados
Independientes
Los bucles independientes como si nombre lo dice no dependen de ningún otro proceso es
decir que terminan cuando la condición se cumple.
Anidados
Los bucles anidados son aquellos que están dispuestos de tal modo que unos se encuentran
dentro de otros.
TIPOS DE ESTRUCTURAS
Es utilizada para tomar decisiones con dos alternativas de verdadero o falso, de acuerdo a las
instrucciones (condición) planteadas. Se representa de la siguiente manera.
F V
condició
Instrucción 1 n
Instrucción 1
Instrucción 2 Instrucción 2
27
Estructura de Repetición MIENTRAS QUE… (WHILE)
Instrucción 1
F
condici Instrucción 2
ón V
Instrucción 1
Instrucción 2
Cuando este tipo de estructura ingresa al ciclo se realiza un conjunto de instrucciones en forma
repetitiva, hasta que cumpla la condición establecida. Su estructura es la siguiente:
Instrucción 1
Instrucción 2
V
condició
n F
Instrucción 1
Instrucción 2
Se llama también contador automático. Esto se debe a que cumple con la función de
incrementar el valor señalado cada vez que se repite el ciclo.
Consta de tres parámetros. El primer parámetro hace referencia a la variable con el valor inicial
que toma; el segundo va la condición que se establezca y en el tercero va el incremento de la
variable.
Instrucción 1
Instrucción 2
nex
t 28
EJERCICIOS
Leer un número por medio del teclado y averiguar si el número es par o impar. Escribir con
mensajes y finalizar.
INICIO
n=0
“Ingrese un
numero: ”
F V
(n
%2)==0
“El número es “El número es
IMPAR” PAR ”
FIN
Leer un número por medio del teclado y averiguar si el número es positivo o negativo.
Escribir con mensajes y finalizar.
INICIO
n=0
“Ingrese un
numero: ”
F V
n>=0
FIN
29
Realizar un algoritmo para calcular los primeros 20 números impares.
INICIO
n=1
c=1
F
c<=20
V FIN
n
n=n+2
c++
INICIO
d,p=0
n=1
d=2
p=1
d<=(n/2) F
&& p==0
F V
V n
%d==0 n
F V
n
%d==0 p=1
n++
d++ V
n<=100
F
FIN
30
Realizar un diagrama de flujo para calcular la tabla de
multiplicar del 5.
INICIO
m=0
c=1
F
c<=12
V FIN
m=c*5
n,”*”,c,”=”,m
m=c*5
Realizar un flujograma que permita calcular el factorial de un número ingresado por teclado.
INICIO
fact=1
c=1 n=0
“Ingrese un
número: ”
F
c<=n
V “El factorial
fact=fact*n es: ”,fact
c++
FIN
31
Realizar un flujograma que permita generar los primeros 10 números múltiplos de 3.
INICIO
n=3
c=1
F
c<=10
V FIN
n
n=n+3
c++
INICIO
May,n,nt=0
c=1
“Ingrese
un
número: ”
nt
F
c<=nt
V
may
n
F V FIN
n>may
may=n
32
ARREGLOS
Definición
Son localidades de memoria que se utilizan para almacenar información, los arreglos tiene dos
elementos importantes que son: nombre e índice.
Nombre[índice]
Para referenciar a cada una de las localidades se requiere del nombre del arreglo y de un
índice que se ubica dentro de un paréntesis. Dependiendo de la cantidad de índices que se
necesite para indicar un elemento, se podrá conocer el tipo que se está trabajando.
Los arreglos podrán ser de varias dimensiones y los más utilizados son: vectores y matrices.
Se denomina al arreglo que requiere de un solo índice para especificar una localidad de
memoria. Es una secuencia de elementos en la que todos son del mismo tipo y en los que el
orden es significativo.
Formato: V[I]
I: es el número de elemento.
0
1
2
3
4
Se denomina al arreglo de dos dimensiones que por lo tanto requiere de dos índices para
especificar una localidad de memoria.
33
El formato para determinar una matriz es filas y columnas.
Formato: M[fila][columna]
0 1 2
0 0,0 0,1 0,2
1 1,0
2
3
Para determinar el número de elementos de una matriz se debe multiplicar el número de fila
por el número de columna.
Nota: Todo arreglo debe tener un nombre específico y sus índices pueden ser una variable o
una constante.
Para trabajar con arreglos se debe tener en cuenta los siguientes puntos:
Tipo
Vector
Matriz
Ubicación
V[índice]
M[fila][columna]
Procesos
Ingreso
Sorteo
Búsqueda
Eliminación
34
DEBER #1
Validar todas las entradas por teclado, no se debe utilizar vectores para desarrollar las
tareas.
1.- Desarrolle un diagrama en el que se lea desde el teclado el nombre, edad, sexo y
estado civil de una persona, e imprima el nombre solo si corresponde a un hombre
casado mayor de 30 años o a una mujer soltera menor a 50 años.
2.- El costo de enviar por correo es de $300 para cartas que pesan menos de 30 grs. Y
$5 por cada gramo adicional para cartas que pesan más de 30 grs. Leer un numero real
el cual representará el peso de la carta y luego muestre el costo de enviar la carta.
3.- Ingresar un número validándolo como entero positivo. Mostrar todos los números
primos menores o iguales al número ingresado. Indicar cuantos valores están siendo
mostrados y la suma de los números mostrados.
4.- Simule emitir el total de una factura considerando lo siguiente: leer la cantidad, el
nombre del artículo y el precio unitario, Si el total bruto es mayor a $150,000 hacer un
descuento del 2%, si es mayor a $300,00 hacer un 3% de descuento, no se puede hacer
2 descuentos. Finalmente agregar el 12% de IVA.
5.- Elabore un diagrama de flujo que convierta las pulgadas a metros, se conoce que
una pulgada es igual a 2.54 cm el programa termina cuando se ingresa el 0 como valor
de pulgada.
6.- Se ingresa por teclado 5 valores numéricos en una sola variable, un valor cada vez,
presentar el menor valor de entre todos los valores ingresados (no utilizar vectores).
35
DEBER #2
1.- Un distribuidor de material eléctrico vende alambres de rollos de 500, 300,75 mts, elaborar
un diagrama que permita ingresar por teclado la longitud total de alambre en metros que
recibe el cliente, calcule y presente por pantalla el número de rollos de alambres de 500,
300,75mts, entregando la menor cantidad de rollos, además el número de metros de alambre
faltantes para el siguiente rollo.
2.- Elabore un diagrama de flujo que permita obtener el salario de un trabajador, sabiendo que
se ingresa por teclado el número de horas trabajadas, el valor por hora.
Resolver el problema para diez trabajadores, al final presentar el total del salario neto pagado,
el total de impuesto recaudado y el total del salario neto pagado.
3.- Una empresa desea conocer el monto de comisión correspondiente a una venta realizada
por un vendedor bajo las siguientes condiciones:
4.- Una agencia automotriz ofrece planes de crédito para la adquisición de diferentes modelos
de automóviles. Si el automóvil vale más de $50,000.00 la agencia solicita el 30% de entrada y
el resto debe cubrirse en 24 mensualidades sin interés. Si el automóvil tiene un valor máximo
de $50,000.00 se requiere de entrada el 20% y el resto se debe pagar en 18 mensualidades sin
interés.
La agencia desea saber, en base al precio de un automóvil que un determinado cliente elija,
cuanto debe pagar de entrada, cual es el número de mensualidades que este debe cubrir.
5.- Una empresa paga a sus empleados una gratificación compuesta por dos elementos:
a.-Bonificación: la cual se calcula multiplicando 1.5 por cada hora trabajada en el año, si el
empleado ha trabajado más de 1600 horas, se le paga un adicional del 1.2 por cada hora de
exceso.
b.-Subsidio: se da a los trabajadores que habiendo trabajado más de 1600 horas en el año, a
trabajado para la empresa en un mínimo de 2 años, este subsidio equivale al 5% del sueldo
36
mensual por cada año de servicios a la empresa el pago toral será igual a sueldo más
bonificación más subsidio.
6.- Se ingresa por teclado tres números enteros, presentar por pantalla en forma ascendente y
descendente.
37
DEBER #3
1.- Una compañía utiliza aviones para fumigar las cosechas contra algunas plagas los valores
que la compañía cobra a los granjeros dependiendo de la plaga que se debe fumigar y del
número de hectáreas de cultivo de acuerdo al siguiente menú:
3.- Elabore un programa para calcular el salario semanal neto de diez trabajadores de una
empresa el mismo que se le paga de la forma siguiente:
Las horas superiores a cuarenta se consideran extras y se pagan a un precio de 1.5, horas
nominales.
4.- Los impuestos deducidos para cada empleado varían en función de su salario de la
siguiente forma:
Presentar por pantalla el valor neto semanal de cada trabajador (considere un total de 10
trabajadores) y antes de terminar presentar por pantalla el acumulado de los sueldo.
DEBER # 4
1.- Dado un valor entero presentarlo en pantalla con formato monetario con separación de
miles y precedida del $.
2.- Una compañía al recibir el pago de las facturas pendientes a cada uno de sus clientes
efectúa los siguientes pasos:
a. Inicia leyendo por teclado el nombre del cliente, número de cédula de ciudadanía, el total
de la factura y el número de día (0.31) en que esta cancelado.
b.- Si el cliente paga dentro de los diez primeros días de cada mes, se le descuenta sobre la
factura un 10 % y hasta un máximo (de descuento) de $ 200,00 por pronto pago. Debe
aparecer en pantalla un aviso que diga: “cancelado anticipadamente”.
Si se paga dentro de los diez días (del 11 – 20) siguiente paga el total de la factura debe
aparecer en pantalla un aviso que diga: “cancelado al día”.
Si paga dentro de los últimos días (21 – 31) se le cobra un recargo sobre la factura del 3.5 % y
unos gastos administrativos por cobranzas a morosos de % 50. En este caso debe aparecer un
aviso de advertencia en pantalla que diga: “cancelado tardíamente”.
Se debe efectuar los cálculos necesarios para mostrar en pantalla los resultados pedidos a
continuación: El nombre del cliente con su cédula de identidad, el valor original de la factura,
el descuento o recargo, y el neto a cancelar en efectivo.
3.- Determinar la suma y promedio de una lista indefinida de números positivos, terminando
con un número negativo.
DEBER # 5
1.- En un almacén se rebaja 15 % del precio de la venta al cliente, si el valor a pagarse es
mayor a $ 10.000. Dado un valor. Muestre lo que debe pagar el cliente.
2.- Dado un valor N entero positivo, calcule e imprima los elementos correspondientes a la
conjetura de Ullman (en honor al matemático S, Ullman) que consiste en lo siguiente:
26 13 40 20 10 5 16 8 4 2 1
3.- Dado un valor N entero con N > = 1, calcule e imprima la siguiente sumatoria
i= l
4.- Calcule m x n (m > = 0, n > = 0, ambos enteros) sin utilizar la operación de multiplicación.
a. 94310 base 2
Ejemplos 153 = 13 + 53 + 33
23 A416 a base 10
94310 a base 2
54628 a base 2
101010108 a base 16
10101011110101012 a base 16
1034 a base 7
AB013 a base 8
269 a base 8
DEBER # 6
a. Se tiene una empresa cementera registros con los siguientes campos: año de
producción, desde 1970 a 1996, toneladas producidas, toneladas vendidas
localmente, toneladas exportadas, precio de venta por toneladas.
Calcular lo siguiente:
1 = 1 = 1^ 2
1 + 3 = 4 = 2^ 2
1+3+5 = 9 = 3^ 2
1 + 3 +7 = 16 = 4^ 2
e. Una universidad está interesada en elaborar una relación de los estudiantes que
estando casados trabajen. Se tienen registros con los datos de la facultad, nombre del
estudiante, edad, estado civil ( casado, soltero ), situación laboral ( trabaja, no
trabaja). El listado debe darse a nivel de Facultad, Universidad y ciudad, para lo cual los
datos entran ordenados por esta clave.
f. Mostrar todos los números perfectos menores que 1000 e indique cuantos números
son.
g. Mostrar los cinco primeros números impares divisibles para tres de la serie del
fibonacci.
DEBER # 7
1. En un almacén se rebaja 20 % del precio de venta al cliente y compra más de 20
artículos y 10 % si compra hasta 20 artículos pero más de 10. dado el precio unitario
de un artículo y la cantidad adquirida, muestra lo que debe pagar el cliente.
2. Una frutería ofrece las manzanas con descuentos, de acuerdo a la siguiente tabla:
0–5 0%
5.01 – 10 10 %
10.01 – 20 15 %
20.01 en adelante 20 %
Determinar cuanto pagará una persona que compre manzana en una frutería.
El dato del examen escrito es un valor entre 0 y 100 y los otros datos (lecciones,
tareas, y prácticas) son valores entre 0 y 10 c/u. la calificación total que se le
asigna al alumno debe ser una valor entre 0 y 20 .
5. Escriba un diagrama de flujo que lea un número n y sume sus cifras, si el resultado es
mayor que 9 nuevamente sume sus cifras hasta obtener un número de un solo digito.
Si este es el número 9 muestra el mensaje el número n es divisible para 9.
Ej.: n = 15478
1 + 5 +4 + 7 + 8 = 25
8. Realice un diagrama de flujo que presente por pantalla los números comprendidos
desde el 4 a 10.
9. Realice un diagrama que presente por pantalla los números impares desde 1 a 9.
10. Presentar por pantalla los 6 primeros números pares a excepción aquellos que sean
múltiplo de 4.
11. Presentar por pantalla los 10 primeros números pares mayor a 4 a excepción de
aquellos que terminen en 0.
14. Se ingresa por teclado un valor N verificar si dicho valor es número par o impar.
15. Se ingresa por teclado un valor N verificar si dicho valor es número par o impar sin
utilizar la función mod.
16. Se ingresa por teclado un valor N presentar por pantalla todos los siguientes 5
números pares mayores al número ingresado.
17. Se ingresa por teclado un valor N que tenga por lo menos 2 dígitos. Presentar por
pantalla todos los múltiplos de 3 enteros positivos menores al número ingresado.
18. Se ingresa por teclado a, b, presentar por pantalla los valores comprendidos entre a y
b.
19. Se ingresa por teclado un valor N presentar por pantalla el factorial de dicho valor.
20. Se ingresa por teclado el nombre de un alumno y sus tres notas aporte, deberes y
examen. Si su promedio es >=14presentar el mensaje: “Aprobado”. Si su promedio es
< 14 y >=10 presentar: “Suspenso”. Si el promedio es <10 presentar: “Reprobado”.
21. Se ingresa por teclado los siguientes campos: Nombre de un trabajador, números de
horas trabajadas, el valor de horas trabajadas, números de hijos. La empresa ofrece
una ayuda de $15 dólares por cada hijo a todos los trabajadores que laboren más de
50 horas. $10 por cada hijo a cada trabajador que labore menos de 51 y más de 40. Y
$5 por cada hijo para los que laboran menos de 41 horas calcular el sueldo a recibir.
22. Se ingresa por teclado un valor N presentar la tabla de restar del 1 al 12.
23. Se ingresa por teclado dos valores a, b, presentar por pantalla todos los múltiplos de 3
comprendidos entre a y b.
24. Sin ingresar ningún valor por teclado generar y presentar por pantalla todas las tablas
de sumar del 1 al 12.
25. Se ingresa por teclado un valor N presentar por pantalla dicho valor presentado al
revés.
26. Generar y presentar por pantalla en una sola presentación todas las tablas del 1 al 12
sumar, restar, multiplicar y dividir.
27. Se ingresa por teclado los siguientes campos: Nombre de un trabajador, números de
horas trabajadas, valor hora, números de hijos.
Las primeras 40 horas serán pagadas al mismo valor ingresado por teclado. Las
siguientes serán pagadas con un incremento al valor hora del 12%. A partir de la
hora 51 en adelante cada hora tendrá un incremento del 23%. Por cada hijo si a
laborado las 40 horas como máximo y 30 como mínimo la empresa le ofrece $15
como ayuda por cada uno de ellos.
Si ha laborado más de 59 horas la empresa le ofrece los mismos $20 por cada hijo
más 15% del sueldo base (40horas * vh sueldo base).
28. Se ingresa por teclado un valor N de tres cifras. Presentar por pantalla el valor
inmediato considerando que se debe redondear dicho valor.
29. Se ingresa un valor N por teclado (entero positivo). Verificar si dicho valor es número
primo o no.
30. Se ingresa por teclado un valor N, presentar por pantalla todos los números fibonacci
menores al número ingresado.
31. Se ingresa por teclado el precio unitario, nombre del producto, cantidad, ingresar
también la denominación del billete que se va a dar, presentando la menor cantidad
de billete posible.
32. Realizar un diagrama de flujo que ingrese los valores e y b considerando que b es la
base y e el exponente calcular e imprimir b^e. Pero sin utilizar el signo de potencia ni
multiplicación, sino con sumas sucesivas.
33. Se ingresa por teclado tres variables hora, minuto, segundo presentar por pantalla
como si hubiera transcurrido un minuto.
34. Se ingresa por teclado año de nacimiento, mes de nacimiento y día de nacimiento
también año actual, mes actual y día actual, calcular e imprimir la edad exacta en año,
mes y día considerando todos los meses como comercial (30 días).
35. Se ingresa por teclado año de nacimiento, mes de nacimiento y día de nacimiento
también año actual, mes actual y día actual, calcular e imprimir la edad exacta en año,
mes y día considerando que tengan los meses los días exacto de acuerdo al
calendario, y si es año bisiesto o no.
36. Se ingresa por teclado año y mes verificar si el año es bisiesto o no y que los meses
tengan lo días respectivos de acuerdo al calendario, calcular y presentar como si
hubiera transcurrido un día después.
37. La pareja de 8 y 17 son números perfectos porque su suma y su resta son cuadrados
perfectos.
39. Se ingresa por teclado dos valores. Calcular e imprimir el mínimo común múltiplo.
40. Se ingresa por teclado un valor en base 10. Presentar el resultado en base 2.
42. Se ingresa por teclado un Valor N entero positivo. Calcular e imprimir los Números no
primos menores a número ingresado.
43. Realizar un diagrama de flujo que obtenga el cociente de un proceso sin usar el signo
de /. Validar considerando que dicho cociente valor debe ser entero positivo.
44. Se ingresa por teclado un valor N presentar por pantalla todos números no fibonacci
menores al número ingresado.
49.- Realizar un programa que ingrese una cadena de caracteres. Calcular cuantas
vocales tiene dicha cadena también se lo debe realizar con desea continuar.
52.- Ingresar por teclado un número, presentar los números primos menores al
número ingresado.
54.- Se ingresa por teclado una cadena alfabética reemplazar todas las vocales
por asterisco.
55.- Se ingresa por teclado un vector alfabético una cadena del mismo tipo, el
digitador por error ingresó n espacio al inicio y n espacios entre cada palabra.
Mediante programación eliminar todos los espacios hasta que quede correcta
dicha cadena y también convertir a mayúscula los primeros caracteres de la
cadena.