Está en la página 1de 49

ALGORITMOS Y PROGRAMAS

SISTEMA DE PROCESAMIENTO DE LA INFORMACIÓN

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.

Se refiere a los componentes físicos de un sistema informático. La función de estos


componentes suele dividirse en tres categorías principales: Entrada, Salida y Almacenamiento.

EL LENGUAJE DE PROGRAMACION

Existen diferentes tipos de lenguajes según la necesidad y conveniencia del programador y la


empresa, entre ellos los más utilizados y comerciales tenemos Visual Basic, Visual FoxPro,
visual.Net etc.

INSTRUCCIONES EN UNA COMPUTADORA Y SUS TIPOS

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

Entrada/Salida: Pasar información del exterior al interior del ordenador y al revés.

Aritmética-lógicas: Aritméticas: +, -, *,…; Lógicas: or, and, >, <,…

Selectivas: Permiten la selección de una alternativa en función de una condición.

Repetitivas: Repetición de un número de instrucciones, un número finito de veces.

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN

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:

0 representa Apagado (OFF) 1 representa Encendido (ON)

PROCESO DE TRADUCCIÓN Y EJECUCIÓN DE UN PROGRAMA ESCRITO EN UN LENGUAJE A


ALTO NIVEL

Usamos un editor y obtenemos el programa fuente, y el compilador es el que traduce el


programa al lenguaje máquina. El compilador internamente ha sido diseñado para traducir.

El compilador obtiene el programa o el fichero objeto. El compilador tiene que buscar los
errores.

Normalmente no sale un ejecutable, sino que necesita elementos, librerías…

Mediante un linkador juntamos el programa objeto y las librerías, y se forma un programa


ejecutable. Cuando se ejecuta el programa, el cargador lleva al programa a memoria para que
éste pueda ser ejecutable.

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

Dato: Es un objeto o elemento que tratamos a lo largo de diversas operaciones.

Tiene 3 características:

Un nombre que los diferencia del resto.

Un tipo que nos determina las operaciones que podemos hacer con ese dato.

Un valor que puede variar o no a lo largo de la operación.

Existen diferentes tipos de datos:

Características de los Tipos: Cada tipo se representa o almacena de forma diferente en la


computadora.

Bit: 1/0; Byte= 8bits.

Un tipo agrupa a los valores que hacen las mismas operaciones.

Si tiene definida una relación de orden es un tipo escalar.

Cardinalidad de un Tipo: Número de valores distintos que puede tomar un tipo.

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.

Los Datos pueden ser:

Simples: Un elemento.

Compuestos: Varios elementos.

Los Tipos pueden ser:

Estándar: Que viven en el sistema por defecto.

No estándar: Son los que crea el usuario.

Los Tipos simples más importantes son:

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

Abarca al conjunto finito y ordenado de caracteres que reconoce la computadora (letras,


dígitos, caracteres especiales, ASCII).

Tipo de cadena o String: Conjunto de caracteres, que van a estar entre comillas (“”).

El propio lenguaje puede añadir más tipos, o se pueden añadir modificadores.

Entero: Int → Long int

En algunos lenguajes se definen tipos especiales de fecha y hora, sobre todo en los más
modernos.

ELEMENTOS FUNDAMENTALES DE PROGRAMACIÓN

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.

Los elementos fundamentales de programación son los siguientes:

 Constantes  Diferenciador

 Variables  Multiplicador

 Contador  Operadores

 Acumulador

CONSTANTES

Son localidades de memoria en la cual se va a almacenar información la misma que no va a


cambiar durante la ejecución.

Ejemplos: pi=3.1416 a=9.8

VARIABLES

Son localidades de memoria en la cual se va a almacenar información de manera eventual, por


cuanto va a cambiar durante toda la ejecución del programa. Estos datos que almacenan las
variables son ingresadas a través de un medio de entrada (teclado).

Ejemplos: n=5 cad=”JIPS”

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

Se reserva memoria en el momento de definición de las variables, en este momento es donde


se debe de especificar al compilador que clase de variable es: un entero (int), un caracter
(char), etc. Esta información le dice al compilador cuanto de espacio debe separar o reservar, y
que tipo de valor se va ha guardar en la variable.
Cada casilla de memoria tiene un byte de capacidad. Si el tipo de variable que se crea es de dos
bytes te tamaño, este necesita de dos bytes de memoria, o de dos casillas. El tipo de variable
(por ejemplo, entero) le dice al compilador cuanta memoria (o cuantas casillas) tiene que
reservar para la variable.
Porque las computadores usan los bits y los bytes para representar los valores, y porque la
memoria es medida en bytes, es importante entender y sentirse cómodo con este concepto.

¿Cómo se nombra a una variable o constante?

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.

El tamaño máximo de un nombre de variable o constante depende del lenguaje.

Tipos de Datos

La computadora puede manejar tres tipos de datos:

Enteros (34, 7890, 25900, etc)

Numéricos

Reales (9.8, -1.7E20, 46.00, etc)

Caractér

Lógicos (valores lógicos TRUE o FALSE)

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.

Sintaxis: Variable = Variable + Incremento

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.

Sintaxis: Variable = Variable + VD

Ejemplo: acum = acum + n;

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.

Sintaxis: Variable = Variable - Decremento

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.

Sintaxis: Variable = Variable * Cte

Variable = Variable * Vd

Ejemplos: m=i m=i

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.

Los operadores aritméticos son:

+ 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:

RESPUESTA NÚMEROS INGLÉS

False (F) 0 False (F)

Verdad (V) 1 True (T)

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

Los operadores lógicos más utilizados son:

Conjunción: AND Y ^ && (en lenguaje C)

Disyunción: OR O v || (en lenguaje C)

Negación: NOT NO ~ ! (en lenguaje C)

Ejemplo: TABLA DE VERDAD

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

Operador Lógico NOT

á 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.

Los operadores relacionales son:

= IGUAL A

> MAYOR QUE

< MENOR QUE

>= MAYOR O IGUAL QUE

<= MENOR O IGUAL QUE

<> DIFENRENTE DE

Relacionales

Todos los operadores tienen igual jerarquía.

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.

Considerando lo anteriormente expuesto, las jerarquías en forma general serían:

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 =, :=

Variable a la que se le asigna el valor ← el valor que le vamos a asignar.

A←5

En C:

A == B Comparación

A=B Asignación

En Pascal:

A=B Comparación

A:= B Asignación

Hay que tener en cuenta:

En la parte izquierda sólo puede haber una variable.

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 ← (15/(7 - 2)) + (20 – (5*2))

C ← (15/5) + (20 – 10)

C ← 3 + 10

C ← 13

D ←3 mod 2 div 3

D ←1 div 3

D←0

E ← (3*2^5 mod 1+8*(3-5)<(2+8-1 mod 1)

E ← (3*32 mod 1 + (-16))<10

E ← -16<10

E ← Verdadero

11
LÓGICA DE PROGRAMACIÓN

Es la narración o graficación de una secuencia conveniente de instrucciones a seguir por la


computadora para procesar dato.

Como no existen dos lógicas iguales, en muchas ocasiones al momento de desarrollar un


problema, se pueden dar muchas respuestas correctas.

CLASES DE LÓGICA

La lógica de programación se clasifica de la siguiente manera:

- 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

LÓGICA NARRATIVA O ALGORITMO

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.

El algoritmo trata de resolver problemas mediantes programas.

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,…

Diseño del Algoritmo: Diseñar la solución.

El programa: Codificación del algoritmo en un lenguaje de programación.

Ejecución del programa y las pruebas: Ver si el programa hace lo que queríamos.

¿Qué es un Algoritmo?

Es una fórmula para resolver un problema. Es un conjunto de acciones o secuencias de


operaciones que ejecutadas en un determinado orden resuelven el problema. Existen N
algoritmos, hay que coger el más efectivo.

12
Características

 Tiene que ser preciso.

 Tiene que estar bien definido.

 Tiene que ser finito.

TIPOS DE ALGORITMOS

Los Algoritmos se clasifican de dos maneras:

Algoritmos Cualitativos

Algoritmos Cuantitativos

Algoritmos Cualitativos

Son aquellos que hacen referencia a las habilidades y cualidades del programador.

Los algoritmos Cualitativos a su vez se clasifican en:

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.

1. Pasa un caníbal con un sacerdote.

2. Regresa un sacerdote.

3. Pasan dos caníbales.

4. Regresa un caníbal y se queda.

5. Pasan dos sacerdotes.

6. Regresa un caníbal y un sacerdote.

7. Pasan dos sacerdotes.

13
8. Regresa un caníbal.

9. Pasan dos caníbales.

10. Regresa un caníbal.

11. Pasan dos caníbales.

12. Todos están al otro lado del río.

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.

1. Salimos del lugar donde nos encontramos.

2. ¿Estamos en la esquina? SI: 4; NO: 3.

3. Caminamos hacia la esquina.

4. ¿Existe un paso peatonal? SI: 5; NO: 6.

5. Subimos ir a 13.

6. ¿Están dirigiendo el tránsito? SI: 7; NO: 9.

7. ¿Es semáforo? SI: 12; NO: 8.

8. ¿Es vigilante? SI: 12; NO: 6.

9. ¿Es calle de doble sentido? SI: 11; NO: 10.

10. Ver en sentido contrario a la dirección de la vía.

11. ¿Vienen vehículos? SI: 12; NO: 13;

12. Esperar hasta tener pasos.

13. Cruzar la calle.

14. Me encuentro en la otra acera.

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:

Realizar un algoritmo que permita calcular el área y el perímetro de un triángulo


rectángulo, en el cual se ingresan los valores de base y altura. Presentar los resultados.
1. Inicio

2. Ingresar a, b

3. Cálculo del área. A = (b*a)/2

4. Para calcular el perímetro se debe calcular c.

C = (a^2+b^2)61/2

5. Cálculo del perímetro. P = a + b + c.

6. Presentar los resultados. A y P.

7. Fin.

Lógica Grafica o Diagrama

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.

Así podemos indicar que los diagramas tienen:

Inicio, proceso autogenerado, y fin.

Inicio, proceso y fin determinado.

Inicio, proceso indeterminado.

Inicio, proceso y fin condicionado.

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.

CLASIFICACIÓN DE LOS DIAGRAMAS

Dependiendo de la orientación que se le brinde a los diagramas estos se clasifican en:

 Diagrama de Bloque u Organigrama

 Diagrama de Flujo o Flujograma

 Diagrama de Paso de Datos

 Diagrama de Sistema

Diagrama de Bloque u Organigrama

Permite identificar el bloque general del proceso y los varios programas que lo constituyen.

Diagrama de Flujo o Flujograma

Permite representar las instrucciones que definen operaciones y decisiones lógicas para la
computadora, orientadas al tratamiento de los datos.

El Flujogramas es una notación gráfica para implementar algoritmos. Se basa en la utilización


de símbolos gráficos que denominamos cajas, en las que escribimos las acciones que tiene que
realizar el algoritmo.

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.

Los Diagramas de Flujo se clasifican en:

 Diagrama de flujo Lineal

 Diagrama de flujo Condicional

16
Diagrama de Flujo lineal

Es aquel diagrama en que se representan simbólicamente las instrucciones en forma


secuencial, es decir, una tras otra. En este tipo de diagramas no existen condicionantes.

Diagrama de Flujo Condicional

Como lo indica su nombre es aquel diagrama en que se representan simbólicamente las


instrucciones en forma secuencial, es decir, una tras otra, dependiendo de las respuestas que
se den en cada una de las condiciones.

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

Permite representar la descripción de los medios de transmisión de datos al realizarse el


procesamiento automático de la información.

Diagrama de Sistema

Permite descubrir la configuración de los medios físicos de Entrada/Salida en forma detallada


indicando el camino a seguir por los datos de un Sistema electrónico de tratamiento de la
información.

VENTAJAS DE LOS DIAGRAMAS

 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.

 Para analistas y programadores, resulta más fácil representar gráficamente la solución de


un problema, que describirlo literalmente.

 Constituyen una eficiente ayuda para el programador, a la hora de hacer modificaciones


en el programa. Resulta más claro ver las partes del programa que han de ser modificadas
en el flujograma, que mirar el programa fuente impreso en un listado.

 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.

Proceso: Indica la acción que tiene que realizar la computadora. Dentro


escribimos la acción.

Entrada/Salida: Dentro colocaremos las acciones de lectura y escritura.

Condición: Dentro se va a colocar una condición. Sirve para representar


estructuras selectivas y repetitivas y lo que se hace al encontrar ese signo es
evaluar la condición que hay dentro tal que según la condición sea verdadera o
falsa iremos por caminos distintos.

Principio y Fin: Dentro del símbolo ira la palabra Inicio o Fin del algoritmo.

Subprograma: Dentro se coloca el nombre del subprograma al que se llama.

Conectores: Nos sirven cuando un flujograma no me cabe en una columna de


la hoja y hay que seguir en otra columna.

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

Pantalla: Cuando unas salida es por pantalla.

Teclado: Para representar una entrada por teclado.

Impresora: Permite la salida por impresora.

REGLAS GENERALES PARA ELABORAR DIAGRAMAS

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:

1. Los flujogramas se dibujan de arriba hacia abajo y de izquierda a derecha.

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.

 Diseño y salida de datos.

 Diagramación (algoritmo y flujograma).

 Prueba de escritorio.

RESOLUCIÓN DE PROBLEMAS

La resolución de un problema desde el punto de vista algorítmico tiene 3 fases:

 Análisis del problema: Comprensión.

 Diseño del algoritmo: Resolución algorítmica.

 Resolución en computadora: Implantación del algoritmo en un lenguaje de


programación.

Análisis del Problema

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.

Diseño del Algoritmo

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.

Las ventajas de aplicar esto son:

 Al dividir el problema en módulos o partes se comprende más fácilmente.

 Al hacer modificaciones es más fácil sobre un módulo en particular que en todo el


algoritmo.

 En cuanto a los resultados, se probarán mucho mejor comprobando si cada módulo da el


resultado correcto que si intentamos probar de un golpe todo el programa porque si se
produce un error sabemos en que módulo ha sido.

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.

Representación de los Algoritmos

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

Al escribir el algoritmo hay que tener en cuenta:

 Las acciones o pasos a realizar tienen que tener un determinado orden.

 En cada momento solo se puede ejecutar una acción.

 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).

 Si estamos utilizando pseudocódigo tenemos también que usar la identación (aumenta la


legibilidad del problema para que se pueda leer mejor).

RESOLUCIÓN EN LA COMPUTADORA

Es hacer entender nuestro algoritmo a la computadora para que lo pueda hacer.

 Codificamos el algoritmo en un lenguaje de programación.

 Ejecutar el programa antes compilado.

 Comprobar los resultados y si no funciona, corregirlo.

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.

Inicio y Fin: Por donde empieza y acaba el algoritmo.

Begin/end: Pascal

{ }: En C

Si <cond> If(cond) {}else{}

Entonces <acc1>

Sino <acc2>

Mientras que <cond> while(cond){}

Desde / hasta for(var_inicio;cond;aumento){}

Según sea swicth () {}

Los comentarios van encerrado /*comentario */

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

“La Suma es: 22


”,s
FIN
Se desea calcular la nota con la que se gradúa un alumno, para lo cual se ingresan las
notas necesarias. Elabore un diagrama de flujo que permite tal objetivo.
Las notas necesarias son:
 Notas Globales de 1 – 5 curso.

 Nota de 6 curso.

 Nota de examen oral.

 Nota de escrito o práctico.

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)

Un bucle o lazo es un segmento de un diagrama, que representa una rutina; cuyas


instrucciones se repiten un número determinado de veces mientras se cumple una
determinada condición.

Un bucle consta de tres parte:

Inicio

Cuerpo del Bucle

Decisión

Salida del Bucle

Incremento

Los bucles pueden ser de dos clases:

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

Estructura de Decisión y control (IF)

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

Dentro de esta clase de estructura, se evalúa la condición planteada. Si la condición es


verdadera, se realiza el conjunto de instrucciones que sigue a continuación. En caso de que la
condición sea falsa, se realiza el conjunto de instrucciones que está al otro lado.

27
Estructura de Repetición MIENTRAS QUE… (WHILE)

Permite controlar el bloque de instrucciones mientras se cumpla la condición planteada o el


valor sea verdadero. Su estructura es la siguiente:

Instrucción 1
F
condici Instrucción 2
ón V
Instrucción 1
Instrucción 2

Al escoger la condición que va a controlar al ciclo, es necesario asegurarse que en algún


momento durante el proceso, ésta pueda cambiar su valor de verdad para que en un
momento dado pueda finalizar, caso contario este ciclo se volvería infinito.

Estructura de Repetición REPETIR… (DO… WHILE)

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

Estructura de Repetición PARA (FOR… NEXT)

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.

Su estructura es la siguiente: Var_inicial=valor_inicial; condición; incremento var

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

“El número es “El número es


NEGATIVO” POSITIVO”

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++

Realizar un algoritmo para imprimir los números primos del 1 al 100.

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++

Ingresar N números y encontrar el mayor de ese conjunto de número dados. Realizar un


flujograma para cumplir con el objetivo dado.

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.

CLASIFICACIÓN DE LOS ARREGLOS

Los arreglos podrán ser de varias dimensiones y los más utilizados son: vectores y matrices.

Arreglo Unidimensional o Vector

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]

Donde: V: es el nombre del Vector.

I: es el número de elemento.

Ejemplo: vector[5]: Significa que en vector se van a ingresar 5 elementos.

0
1
2
3
4

Arreglo Bidimensional (Matriz o Tablas)

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]

Donde: M: es el nombre de la Matriz.

Fila: es el número de fila de la matriz.

Columna: es el número de columnas de la matriz.

Ejemplo: Mat[3][4]: Se van a ingresar 12 elementos.

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).

7.- Se ingresa por teclado 5 valores numéricos a, b, c, d, e, f ordenar y presentar por


pantalla dichos valores de manera ascendente, validar para que no se ingresen valores
repetidos.

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:

a.- Si la venta es menor a $5,000.00 se le otorga el 7.25% de comisión.

b.- Si la venta es de $5,000.00 o más, el vendedor recibe el 6.30% de comisión.

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ú:

Mala hierba $10,00 La hectárea

Langosta $20.00 La hectárea

Gusanos $30,00 La hectárea

Todas las anteriores $50,00 La hectárea

2.- Si el área de fumigar es mayor a 10 hectáreas, el granjero goza de un 5% de descuento,


además si su cuenta sobrepasa de $150 se hace acreedor de un 10% de descuento sobre la
cantidad que excede de los $150, se debe ingresar por teclado el tipo de plaga, el # de
hectáreas, antes de terminar se debe presentar el total que se ha recaudado por concepto de
fumigación.

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 inferiores o iguales a cuarenta se consideran nominales y se paga a un valor


ingresado por teclado, el número de horas trabajadas también se ingresan por teclado.

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:

a.- El salario < = 200 es libre de impuesto.

b.- El salario > a 200 y < = 350 tiene un impuesto al 20 %.

c.- El salario > a 350 tiene un impuesto de 30 %.

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 $.

Ejemplo: entrada 32420 debe producir en pantalla: $ 32,420.00. Sugerencias. Descomponga


el número como unidades, decenas, centenas etc. Suponga hasta un máximo valor para los
enteros de 32678.

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:

Empiece con cualquier entero positivo.

Si es par,, divídalo entre 2; si es impar multiplíquelo por 3 y agréguele 1.

Obtenga enteros sucesivamente repitiendo el proceso.

Al final se obtendrá el número 1, independientemente de entero inicial por ejemplo, cuando


el entero inicial es 26, la secuencia será:

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.

5.- Calcule mn ( n > 0 y entero ), sin utilizar la operación de potencia.

6.- Dado un número n entero positivo, imprima todos sus divisores.

7.- Convertir los siguientes números en el sistema dado a la nueva base:

a. 94310 base 2

8.- Desarrolle un programa el cual determine si un triangulo es equilátero, isósceles o escaleno


por medio de la lectura desde teclado de sus ángulos anteriores valide previamente que la
suma sea 180º .
9.- Encontrar cuales son los enteros entre 1 y 1000 tales que son iguales a la suma de sus
cubos.

Ejemplos 153 = 13 + 53 + 33

10.- Convertir los siguientes números en el sistema dado, a la nueva base:

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:

Inventario acumulado (stock) al 01 de enero de 1997

Ingresos, en pesos $, para cada uno de los años.

Total de toneladas exportadas.

b. Calcular el enésimo término de la serie del fibonacci, dada por:


0 1 1 2 3 5 8 13 21 34 55 89..

c. Si se suma los números impares se obtiene los cuadrados así:

1 = 1 = 1^ 2

1 + 3 = 4 = 2^ 2

1+3+5 = 9 = 3^ 2

1 + 3 +7 = 16 = 4^ 2

Empleando esta curiosidad matemática, calcular y escribir el cuadrado de los n


primeros números naturales.

d. Suponer que la administración de impuestos calcula la retención en la fuente ( R ) por


trabajador; para salarios brutos ( SB ) mayores a tres salarios mínimos en la siguiente
forma: R = SB / 5 - 40000 * NH, (NH: número de hijos). Cada empleado tienen una
tarjeta así: Código de empleados, números de hijos, salario básico, total de retención
pagado hasta el momento. Calcular e imprimir la retención de este mes y la retención
acumulada por cada trabajador.

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:

NUM. DE KILOS % DESCUENTO


COMPRADOS

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.

3. Un alumno de colegio desea saber cual será la calificación de su examen en cierta


materia... Dicha calificación se compone de lo siguiente:

60 % corresponde al examen escrito.

20 % corresponde a las lecciones.

10 % corresponde a las tareas

10 % corresponde a las prácticas en el laboratorio.

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 .

4. Se ingresa por teclado un valor n cualquiera verificar si es palíndromo o no.

Un número es palíndromo cuando se lee lo mismo de adelanta hacia atrás, como


de atrás hacia delante, ej.

101, 1661, 1001, 35653, etc.

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

2 + 5 = 7 (en este ejemplo el número n no es divisible para 9 ).


6. Dada una cantidad en dólares, mostrar su equivalencia mediante una combinación de
monedad de 50, 25, 10, 5, 1 centavos, utilizando primero la de mayor denominación.

7. Elabore un diagrama para leer lo datos y contestar las siguientes preguntas:

¿Cuál es el aumento correspondiente a cada empleado según el siguiente criterio?.

17 % si el sueldo es inferior a $ 5,000

10 % si el sueldo esta entre $ 5,000 y $ 15,000

5 % si el sueldo es superior a % 15,000

¿Cuál es el nuevo sueldo para cada empleado?

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.

12. Generar y presentar por pantalla la tabla de sumar del 3.

13. Generar y presentar la tabla de dividir del 2 no deben salir decimales.

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 de 40 a 50 horas la empresa la empresa le ofrece $20 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).

Calcular cuanto debe recibir esta persona como sueldo.

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.

Se ingresa por teclado dos valores respectivamente validado. Determinar si son


cuadrados perfectos.

38. Se ingresa por teclado dos valores a, b, encontrar el factor común.

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.

41. Se ingresa por teclado un número en base 10 presentar en hexadecimal.

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.

45. Se ingresa por teclado un Número entero positivo. Determinar si el número es


perfecto o no. Un número es perfecto cuando la suma de sus dígitos es igual al
número.
Lenguaje c

46. Realizar el margen a la pantalla de c++.

47. Realizar recuadros en c++.

48. Realizar un ejercicio que me presente en la pantalla de c

Utilizando un solo printf “*”

49. Realizar un ejercicio que me presente en la pantalla de c

Utilizando un solo printf “*”

50. Realizar un ejercicio que me presente en la pantalla de c

Utilizando un solo printf “*”


51. realizar un ejercicio que me presente en la pantalla de c

Utilizando un solo printf “*”

52. Realizar un ejercicio que me presente en la pantalla de c

Utilizando un solo printf “*”

53. Realizar un ejercicio que me presente en la pantalla de c

Utilizando un solo printf “*”

54. Realizar un ejercicio que me presente en la pantalla de c

Utilizando un solo printf “*”

Realizar en la pantalla de c una factura

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.

50.- Realizar un programa que ingrese una cadena de caracteres y convertir en


mayúsculas todos los elementos pares que tiene dicha cadena el ejercicio
también se lo debe realizar con desea continuar.
51.- Se ingresa una cadena de caracteres presentar dicha cadena al revés.

52.- Ingresar por teclado un número, presentar los números primos menores al
número ingresado.

53.- se ingresa por teclado un cadena alfabética convertir a mayúsculas los


primeros caracteres de dicha cadena.

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.

56.- Se tiene un vector alfabético de 30 elementos. Ingresar por teclado con


getche , en programa no debe permitir se ingrese espacios en blanco al inicio de la
cadena ni más de un espacio entre cada palabra, tampoco debe permitir se ingrese
caracteres especiales ni números según sea el ingreso , el programa debe
convirtiendo los primeros caracteres a mayúscula. Valida la tecla retroceso y la
tecla enter que al momento de presionarla en el programa debe finalizar.

También podría gustarte