Está en la página 1de 98

INTRODUCCION A LA PROGRAMACION

Ing. Orlando Rivera Jurado


______________________________________________________________________________

TEMA 1

INTRODUCCIÓN A INFORMATICA
.

LOS SISTEMAS DE PROCESAMIENTO DE LA INFORMACIÓN.

Una definición antigua de computadora es: <<una máquina o aparato electrónico capaz de
ejecutar operaciones repetitivas muy complejas a altas velocidades>>. Ahora bien, ésta
definición no describe las modernas computadoras. Éstas son más que una máquina de
ejecutar operaciones aritméticas. De hecho, los términos procesador de datos y
sistemas de procesamiento (tratamiento) de la información se utilizan con
frecuencia en lugar de computadora (ordenador, en la jerga informática usual en
España).

En el uso diario, datos e información son esencialmente sinónimos. Sin embargo, los
informáticos suelen hacer una diferencia: datos se refiere a la representación de un
hecho, concepto o entidad real (los datos pueden tomar diferentes formas: por ejemplo,
palabras escritas o habladas, números y dibujos); información implica datos
procesados y organizados. Un sistema en general se define como conjunto de
componentes conectados e interactivos, que tienen un propósito y una unidad total.
Sistema de procesamiento de información es un sistema que transforma datos brutos
en información organizada, significativa y útil.

La Figura 1.1 muestra los tres componentes de un sistema de proceso de la


información: entrada, salida y procesador. El procesador, que puede ser bastante
complicado, se representa por una simple caja y puede aceptar datos llamados entrada, y
esta entrada se transforma entonces para producir una información denominada salida
o resultados.

Entrada de Procesador Salida de


datos información

Fig. 1.1

1
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Basados en este esquema, muchos dispositivos u organismos pueden ser considerados
sistemas de procesamiento de la información. Un termostato que controla la
temperatura de un edificio, es un sistema de procesamiento de la información. La
entrada es la temperatura media y la salida es una señal que controla la caldera del aire
acondicionado. El corazón de un animal o un ser humano es un sistema complejo de
procesamiento de la información.

El conjunto de instrucciones que especifican la secuencia de operaciones a realizar, en


orden, para resolver un sistema específico o clase de problemas, se denomina
algoritmo. En otras palabras, un algoritmo es una fórmula para la resolución de un
problema.

Para realizar un proceso se le debe suministrar al procesador un algoritmo adecuado.


Por ejemplo, al cocinero debe dársele una receta, al pianista la partitura y así
sucesivamente, considerando al cocinero y al pianista como procesadores.

Cuando el procesador es una computadora, el algoritmo ha de expresarse de una


forma que recibe el nombre de programa. Un programa sen escribe en un lenguaje de
programación y a la actividad de expresar un algoritmo en forma de programa se le
denomina programación. Cada paso en algoritmo está expresado por medio de una
instrucción en el programa. Por consiguiente, un programa consta de una secuencia de
instrucciones, cada una de las cuales especifica las operaciones que debe realizar la
computadora.

Existen dos conceptos importantes a considerar en los sistemas de procesamiento de


la información: hardware y software. Hardware es el conjunto de componentes físicos
de una computadora (Figura 1.2) -equipo físico– y software es el conjunto de programas
que controlan el funcionamiento de una computadora –equipo lógico– .

El hardware de una computadora se compone de:


1. La Unidad Central de Proceso, UCP (Central Processing Unit, CPU). La UCP
es el conjunto de circuitos electrónicos capaces de ejecutar algunos cálculos
sencillos como suma o multiplicación de números. La potencia de una
computadora depende completamente de la velocidad y fiabilidad de la UCP.

2. Memoria central. La información procesada por la UCP se almacena


normalmente en la memoria central hasta que se terminan los cálculos. Los
programas de computadora se almacenan también en la memoria central.

3. Dispositivos de almacenamiento secundario (memoria auxiliar). Diferentes


dispositivos, tales como discos y cintas magnéticas, se usan para almacenar
grandes cantidades de información. Para ser procesados por la UCP, los datos

2
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
se almacenan en dispositivos de almacenamiento auxiliar y luego tienen que
llevarse a la memoria central.

4. Periférico o dispositivos de entrada/salida (E/S). Estos dispositivos permiten al


usuario comunicarse con la computadora. Un sistema de computadoras puede
tener diferentes dispositivos periféricos conectados a ella.

Fig. 1.2

En la práctica, una instalación grande de computadora puede tener diferentes UCP, cada
una con su propia memoria central compartida, una variedad de dispositivos de
almacenamiento secundario y periféricos localizados en diferentes sitios.

3
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Unidad Central de Proceso

Unidad Aritmética y
lógica
Elementos Elementos
de entrada Unidad de control de salida

Unidad de memoria
principal

Unidad de memoria auxiliar


(soportes magnéticos, ópticos….)

Fig. 1.3

LA UNIDAD CENTRAL DE PROCESO (CPU, CENTRAL PROCESS UNIT): Es el


centro neurálgico de una computadora y su labor consiste en coordinar y realizar todas
las operaciones del sistema. Contiene a la unidad de control, la unidad aritmética y
lógica y la memoria principal.

La unidad de control que es la parte del procesador encargada de gobernar al resto de


las unidades, además de interpretar y ejecutar las instrucciones controlando su
secuencia 

La unidad aritmética y lógica que es la parte del procesador encargada de realizar todas
las operaciones elementales de tipo aritmético y lógico.

 Memoria Central (interna): La CPU utiliza la memoria de la computadora para


guardar información mientras trabaja con ella; mientras esta información permanezca
en memoria, la computadora puede tener acceso a ella en forma directa. Esta memoria
construida internamente se llama memoria de acceso aleatorio (RAM).

4
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

La memoria interna consta de dos áreas de memoria:

La memoria RAM (Randon Access Memory): Recibe el nombre de memoria principal


o memoria del usuario, en ella se almacena información solo mientras la computadora
esta encendida. Cuando se apaga o arranca nuevamente la computadora, la
información se pierde, por lo que se dice que la memoria RAM es una memoria volátil.

La memoria ROM (Read Only Memory): Es una memoria estática que no puede
cambiar, la computadora puede leer los datos almacenados en la memoria ROM, pero
no se pueden introducir datos en ella, o cambiar los datos que ahí se encuentran; por lo
que se dice que esta memoria es de solo lectura. Los datos de la memoria ROM están
grabados en forma permanente y son introducidos por el fabricante de la computadora.

Memoria Auxiliar (Externa): Es donde se almacenan todos los programas o datos que
el usuario desee. Los dispositivos de almacenamiento o memorias auxiliares (externas
o secundarias) mas comúnmente utilizados son: discos magnéticos, discos ópticos y
dispositivos extraíbles (USB Flash Drives).

Dispositivos de Entrada: Como su nombre lo indica, sirven para introducir datos


(información) en la computadora para su proceso. Los datos se leen de los dispositivos
de entrada y se almacenan en la memoria central o interna. Ejemplos: teclado ,
scanners (digitalizadores de rastreo), mouse (ratón), trackball (bola de ratón
estacionario), joystick (palancas de juego), lápiz óptico, etc.

Dispositivos de Salida: Muestran la información procesada y que cumplen la finalidad


por la cual fueron diseñados. Los dispositivos más comunes de salida son: monitor,
impresora, plotter, etc.

Adicionalmente debemos en la actualidad añadir dispositivos de comunicación de


datos, puesto que forman también parte de un Sistema de Procesamiento de la
Información, tales como : modems, concentradores, etc.

5
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

TE MA 2

ALGORITMOS

2.1 CONCEPTO DE ALGORITMO


Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar
una tarea o resolver un problema. De un modo más formal, un algoritmo es una
secuencia finita de operaciones realizables, no ambiguas, cuya ejecución da una
solución de un problema en un tiempo finito.
El término algoritmo no está exclusivamente relacionado con la matemática, ciencias
de la computación o informática realidad, en la vida cotidiana empleamos algoritmos en
multitud de ocasiones para resolver diversos problemas. Algunos ejemplos son el uso
de una lavadora (se siguen las instrucciones), la preparación de una plato especial o el
mismo lenguaje humano que "transforma" nuestros pensamientos en sonidos y hace
que otro humano nos pueda entender. También existen ejemplos de índole matemática,
como el algoritmo de la división para calcular el cociente de dos números, el algoritmo
de Euclides para calcular el máximo Común divisor de dos enteros positivos, o incluso
el método de Gauss para resolver Sistemas Lineales de Ecuaciones.
La resolución de un problema exige el diseño de un algoritmo que resuelva el
problema propuesto.

Diseño Programa
Problema del algoritmo de
computadora

Figura 2.1. Resolución de un problema

Los pasos para la resolución de un problema son:

1. Diseño del algoritmo que describe la secuencia ordenada de pasos (sin


ambigüedades) que conducen a la solución de un problema dado. (Análisis del
programa y desarrollo del algoritmo.)

2. Expresar el algoritmo como un programa en un lenguaje de programación


6
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
adecuado. (Fase de codificación)

3. Ejecución y validación del programa por la computadora.

Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo,


de modo que sin este no es posible generar un programa basado en computadora.

Los algoritmos son independientes tanto del lenguaje de programación en que se


expresan como de la computadora que los ejecuta. En cada problema el algoritmo se
puede expresar en un lenguaje diferente de programación y ejecutarse en una
computadora distinta; sin embargo, el algoritmo será siempre el mismo. Así, por ejemplo,
en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar
en español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos para la
elaboración del plato se realizarán sin importar el idioma del cocinero.

En la ciencia de la computación y en la programación, los algoritmos son mas


importantes que los lenguajes de programación o las computadoras. Un lenguaje de
programación es tan solo un medio para expresar un algoritmo y una computadora es
sólo un procesador para ejecutarlo. Tanto el lenguaje de programación como la
computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute y
se efectúe el proceso correspondiente.

Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy


importante será el diseño de algoritmos. A la enseñanza y práctica de esta tarea se
dedica gran parte de este texto.

El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos de


técnicas de la programación. En esencia, la solución de un problema se puede expresar
mediante un algoritmo.

2.2 CARACTERÍSTICAS DE LOS ALGORITMOS


Las características fundamentales que debe cumplir todo algoritmo son:

§ Un algoritmo debe ser preciso e indicar el orden de realización.


§ Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
§ Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún
momento; o sea debe tener un número finito de pasos.

La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida.


En el algoritmo de receta de cocina citado anteriormente se tendrá:

7
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Entrada: Ingredientes y utensilios empleados

Proceso: Elaboración de la receta en la cocina.

Salida: Terminación del plato (por ejemplo, pollo al horno).

Ejemplo 2.1

Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de datos la


ficha del cliente, si el cliente es solvente entonces la empresa acepta el pedido; en caso
contrario, rechazará el pedido. Redactar el algoritmo correspondiente.
Los pasos del algoritmo son:

1. Inicio.
2. Leer el pedido.
3. Examinar la ficha del cliente
4. Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar pedido
5. Fin

2.3 RESOLUCIÓN DE PROBLEMAS.

La principal razón para que las personas aprendan a programar en general y los
lenguajes de programación en particular, es utilizar la computadora como una
herramienta para la resolución de problemas. Ayudado por una computadora, la
resolución de un problema se puede dividir en tres fases importantes:

 Análisis del problema.


 Diseño o desarrollo del algoritmo.
 Resolución del algoritmo en la computadora.

El Análisis del problema requiere que el problema sea definido y comprendido


claramente para que pueda ser analizado con todo detalle. Una vez analizado el
problema, se debe desarrollar el algoritmo (procedimiento paso a paso para solucionar el
problema dado). Por último, para resolver el algoritmo mediante una computadora, se
necesita codificar el algoritmo en un lenguaje de programación C, C/++, JAVA, etc. , es
decir, convertir el algoritmo en programa, ejecutarlo y comprobar que el programa
soluciona verdaderamente el problema. Las fases del proceso de resolución de un
problema mediante computadora se indican en la figura 3.1.

8
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Resolución de un
problema

Análisis del Diseño del Resolución del


problema algoritmo problema por
computadora

Fig. 2.2

AN Á LISIS D EL PR OB LEMA
El propósito del análisis de un problema, es ayudar al programador para llegar a una
cierta comprensión de la naturaleza del problema. El problema debe estar bien definido
para así llegar a una solución satisfactoria.
Para poder definir con precisión el problema, se requiere que las especificaciones de
entrada y salida sean descritas con detalle. Una buena definición del problema, junto
con una descripción detallada de las especificaciones de entrada y salida, son los
requisitos más importantes para llegar a una solución eficaz.
El análisis del problema exige una lectura previa del problema a fin de obtener una idea
general de lo que se solicita. La segunda lectura deberá servir para resolver a las
preguntas:

¿Qué información debe proporcionar la resolución del problema?

¿Qué datos se necesitan para resolver el problema?

La respuesta a la primera pregunta indicará los resultados deseados a las s a l i d a s


del problema.

La respuesta a la segunda pregunta indicará que datos se proporcionan a las


entradas del problema.

9
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Análisis del
problema

Definición del Especificación de Especificación de


problema las entradas las salidas

Fig. 2.3

Ejemplo 2.2

Leer el radio de un círculo e imprimir su superficie y la longitud de la circunferencia.

Las entradas de datos en este problema se concentran en el radio del círculo. Dado
que el radio puede tomar cualquier valor dentro del rango de los números reales, el tipo
de datos radio debe ser real.

Las salidas serán dos variables: superficie y circunferencia, que también serán de tipo
real.

Entradas: radio del circulo (variable RADIO).


Salidas: superficie del circulo (variable Área).
Circunferencia del circulo (variable Circunferencia).
Variables: Radio, Área y circunferencia (tipo real).

DISEÑO DEL ALGORITMO


Una computadora no tiene capacidad para solucionar problemas más que cuando se le
proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las
instrucciones a ejecutar por la maquina, constituyen, como ya conocemos, el algoritmo.

La información proporcionada al algoritmo, constituye su entrada y la información


producida por el algoritmo constituye su salida.

10
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
El aspecto más importante del algoritmo es la elaboración del proceso o los procesos
que a partir de los datos de entrada, se debe en base a ellos producir la salida deseada.
Cuando los problemas son complejos se pueden resolver mas eficazmente con la
computadora, cuando se rompen en sub problemas que sean más fáciles de solucionar
que el original. Normalmente los pasos diseñados en el primer esbozo del algoritmo son
incompletos e indicaran solo unos pocos pasos. Tras esta primera descripción, estos se
amplían en una descripción mas detallada con más pasos específicos.

Por lo tanto el algoritmo elaborado será:

INICIO
 Leer radio
 Calcular superficie : Superficie=3.1416 * radio^2
 Calcular circunferencia : Circunferencia = 2 * 3.1416 * radio
 Escribir resultados: Imprimir Circunferencia, Superficie
FIN

Como ya se ha comentado anteriormente, el sistema para describir (“escribir”) un


algoritmo consiste en realizar una descripción paso a paso con un lenguaje natural del
citado algoritmo. Recordemos que un algoritmo es un método o un conjunto de reglas
para solucionar un problema. En cálculos elementales estas reglas tienen las siguientes
propiedades:

 Deben de estar seguidas de algunas secuencias definidas de pasos hasta que


se obtenga un resultado coherente,
 Sólo puede ejecutarse una operación a la vez.
 El flujo de control usual de un algoritmo es secuencial

Consideremos el algoritmo que responde a la pregunta:

¿Qué hacer para ver la película Tiburón?


La respuesta es muy sencilla y puede ser descrita en forma de algoritmo, general de
modo similar a:

 Ir al cine
 Comprar una entrada
 Ver la película
 Regresar a casa

El algoritmo consta de cuatro acciones básicas, cada una de las cuales debe ser
ejecutada antes de realizar la siguiente. En términos de computadora, cada acción se
codificará en una o varias sentencias que ejecutan una tarea particular.
11
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
El algoritmo descrito es muy sencillo; sin embargo, como ya se ha indicado en párrafos
anteriores, el algoritmo general se descompondrá en pasos más simples en un
procedimiento denominado refinamiento sucesivo, ya que cada acción puede
descomponerse a su vez en otras acciones simples.
Así, un primer refinamiento del algoritmo ir al cine se puede describir de la forma
siguiente:

1 . Inicio
2. Ver la cartelera de cines en el periódico
3 . Si no proyectan “Tiburón” entonces
3.1 Elegir otra actividad
3.2 Bifurcar al paso 7
si_no
3.3 ir al cine.
Fin_si 4 . Si
hay cola
4.1 ponerse en ella
4.2 mientras haya personas delante hacer
4.2.1 avanzar en la cola
fin_mientras
fin_si
5 . Si hay localidades entonces
5.1 comprar una entrada
5.2 pasar a la sala.
5.3 localizar la(s) butaca(s)
5.4 mientras proyectan la película hacer
5.4.1 ver la película
fin_mientras
5.5 abandonar el cine
si_no
5.6 refunfuñar
fin_si
6. volver a casa
7. fin

En el algoritmo anterior existen diferentes aspectos a considerar. En primer lugar, ciertas


palabras reservadas se han escrito deliberadamente en negrita (mientras, si no, etc.).
Estas palabras describen las estructuras de control fundamentales y procesos de toma
de decisión en el algoritmo.

La capacidad de decisión permite seleccionar alternativas de acciones a seguir o bien la


repetición una y otra vez de operaciones básicas, como por ejemplo:

12
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Si proyectan la película seleccionada ir al cine
si_no ver la televisión , ir al fútbol o leer el periódico

Que tiene un carácter estrictamente decisional

mientras haya personas en la cola , ir avanzando


repetidamente hasta llegar a la taquilla.
Que tiene un carácter repetitivo.

RESOLUCIÓN DEL PROBLEMA MEDIANTE COMPUTADORA


Una vez que el algoritmo está diseñado y representado gráficamente mediante una
herramienta de programación (diagrama de flujo o pseudocódigo) se debe pasar a la
fase de resolución práctica del problema con la computadora .
Esta fase se descompone a u vez en las siguientes subfase:

1. Codificación del algoritmo en un programa en base a un lenguaje de programación


(C, C++, Pascal, Java. etc).
2. Ejecución del programa
3. Comprobación del programa.

En el diseño del algoritmo éste describe en una herramienta de programación tal como
un diagrama de flujo o pseudocódigo .Sin embargo, el programa que implementa el
algoritmo debe ser escrito en un lenguaje de programación y siguiendo las reglas
gramaticales o sintaxis del mismo .La fase de conversión del algoritmo en un lenguaje de
programación se denomina codificación, ya que el algoritmo escrito en un lenguaje
específico de programación se denomina código.
Tras la codificación del programa, deberá ejecutarse en una computadora y a
continuación de comprobar los resultados pasar a la fase final de documentación.

13
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

TEMA 3

TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS

Las dos herramientas utilizadas comúnmente para diseñar algoritmos son:

 Diagrama de Flujo
 Pseudocodigo

3.1 Diagrama de Flujo

Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede


decir que es la representación detallada en forma gráfica de como deben realizarse los
pasos en la computadora para producir resultados.

Esta representación gráfica se da cuando varios símbolos (que indican diferentes


procesos en la computadora), se relacionan entre si mediante líneas que indican el
orden en que se deben ejecutar los procesos.

Los símbolos utilizados han sido normalizados por el instituto norteamericano de


normalización (ANSI).

SÍMBOLO DESCRIPCIÓN

Indica el inicio y el final del diagrama

Indica la entrada por teclado

Símbolo de proceso, indica la asignación


de un valor en la memoria y/o la ejecución de
una operación aritmética.

14
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Símbolo de decisión indica la realización de una


comparación de valores.

Se utiliza para representar subprogramas.

Conector dentro de página.

Conector fuera de página.

Indica salida por impresora.

Indica salida en la pantalla o


monitor.

Líneas de flujo o dirección.

Representa a un ciclo repetitivo

Recomendaciones para el diseño de Diagramas de Flujo

 Se deben usar solamente líneas de flujo horizontales y/o verticales.


 Se debe evitar el cruce de líneas utilizando los conectores.
 Se deben usar conectores solo cuando sea necesario.
 No deben quedar líneas de flujo son conectar.
 Se deben trazar los símbolos de manera que se puedan leer de arriba hacia
abajo y de izquierda a derecha.

15
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
 Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando
el uso de muchas palabras.

3.2 Pseudocodigo

Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se


emplea, dentro de la programación estructurada, para realizar el diseño de un
programa. En esencial, el pseudocódigo se puede definir como un lenguaje de
especificaciones de algoritmos.

Es la representación narrativa de los pasos que debe seguir un algoritmo para dar
solución a un problema determinado. El pseudocódigo utiliza palabras que indican el
proceso a realizar.

Ejemplo:

Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto
dinero ganara después de un mes si el banco paga a razón de 2% mensual.

Inicio
Leer cap_inv
gan = cap_inv * 0.02
Imprimir gan
Fin

Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo

 Ocupa menos espacio en una hoja de papel


 Permite representar en forma fácil operaciones repetitivas complejas
 Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de
programación.
 Si se siguen las reglas se puede observar claramente los niveles que tiene cada
operación.

16
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

TEMA 4

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE


ALGORITMOS

4.1 Tipos De Datos

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple
carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato determina la
naturaleza del conjunto de valores que puede tomar una variable.

Numéricos
Simples Lógicos
Alfanuméricos (cadenas)
Tipos de
datos Arreglos (Vectores, Matrices)
Estructurados Registros
(Def. por el Archivos
usuario) Apuntadores

Tipos de Datos Simples

 Datos Numéricos: Permiten representar valores escalares de forma numérica,


esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar
operaciones aritméticas comunes.

 Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso)
ya que representan el resultado de una comparación entre otros datos (numéricos o
alfanuméricos).

 Datos Alfanuméricos (Cadenas): Es una secuencia de caracteres


alfanuméricos que permiten representar valores identificables de forma descriptiva, esto
incluye nombres de personas, direcciones, etc. Es posible representar números como
alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible

17
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
hacer operaciones con ellos. Este tipo de datos se representan encerrados entre
comillas.
Ejemplo:
“Universidad Católica Boliviana”
“2007”

4.2 Expresiones

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


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

a+(b+3)/c

Cada expresión toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de datos
que manipulan, se clasifican las expresiones en:

- Aritméticas
- Relaciónales
- Lógicas

4.3 Operadores y Operandos

 Operadores: Son elementos que relacionan de forma diferente, los valores de


una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular
valores.

Aritméticos
Tipos de Operadores Relaciónales
Lógicos

 Operadores Aritméticos: Los operadores aritméticos permiten la realización de


operaciones matemáticas con los valores (variables y constantes).
Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si
ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es
real.

Operando (Operador) Operando

18
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Valor
(constante o variable)

+ Suma
- Resta
* Multiplicación
/ División
Mod Modulo (residuo de la división entera)

Ejemplos:

Expresión Resultado
-----------------------------------------
7/2 3.5
12 mod 7 5
4 +2*5 14

Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con
paréntesis anidados se evalúan de dentro a fuera, el paréntesis mas interno se evalúa
primero.
Dentro de una misma expresión los operadores se evalúan en el siguiente orden.

1 ^ Exponenciación
2 *, /, mod Multiplicación, división, modulo.
3 +, - Suma y resta.

Los operadores en una misma expresión con igual nivel de prioridad se evalúan de
izquierda a derecha.

Ejemplos:

4 + 2 * 5 = 14 4 + 10
23 * 2 / 5 = 9.2 46 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98

Operadores Relaciónales:

19
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Se utilizan para establecer una relación entre dos valores.
Compara estos valores entre si y esta comparación produce un resultado de certeza o
falsedad (verdadero o falso).
Los operadores relaciónales comparan valores del mismo tipo (numéricos o cadenas)
Tienen el mismo nivel de prioridad en su evaluación.

Los operadores relaciónales tiene menor prioridad que los aritméticos.

> Mayor que


< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Diferente
= Igual

Ejemplos:

Si los valores de las siguientes variables fueran:

a = 10 b = 20 c = 30

entonces las siguientes expresiones tendrían los siguientes valores de verdad:

a+b>c Falso
a-b<c Verdadero
a-b=c Falso
a*b<>c Verdadero

Ejemplos no lógicos:

a<b<c
10 < 20 < 30
T < 30 (no es lógico porque tiene diferentes operandos)

Operadores Lógicos:

Estos operadores se utilizan para establecer relaciones entre valores lógicos, estos
valores pueden ser resultado de una expresión relacional.

20
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

And Y
Or O
Not Negación

Operador And

Operando1 Operador Operando2 Resultado


T AND T T
T AND F F
F AND T F
F AND F F

Operador Or

Operando1 Operador Operando2 Resultado


T OR T T
T OR F T
F OR T T
F OR F F

Operador Not

Operando Resultado
T F
F T

Ejemplos:
(a < b) and (b < c)
(10<20) and (20<30)
T and T

Prioridad de los Operadores Lógicos

Not

21
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
And
Or

Prioridad de los Operadores en General

1.- ()
2.- ^
3.- *, /, Mod, Not
4.- +, -, And
5.- >, <, > =, < =, < >, =, Or

Ejemplos:
a = 10 b = 12 c = 13 d =10

1) ((a > b) or (a < c)) and ((a = c) or (a > = b))


F T F F
T F
F

2) ((a > = b) or (a < d)) and (( a > = d) and (c > d))


F F T T
F T
F

3) not (a = c) and (c > b)


F T
T
T

4.4 Identificadores o Variables

Los identificadores representan los datos de un programa (constantes, variables, tipos


de datos). Un identificador es una secuencia de caracteres que sirve para identificar
una posición en la memoria de la computadora, que nos permite accesar a su
contenido.

Ejemplo: Nombre
Num_hrs
22
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Calif2

Reglas para formar un Identificador

 Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben


contener espacios en blanco.
 Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del
primer carácter.
 La longitud de identificadores puede ser de hasta 8 caracteres.

Constantes y Variables

 Constante: Una constante es un dato numérico o alfanumérico que no cambia


durante la ejecución del programa.
Ejemplo:
pi = 3.1416

 Variable: Es un espacio en la memoria de la computadora que permite almacenar


temporalmente un dato durante la ejecución de un proceso, su contenido puede
cambia durante la ejecución del programa. Para poder reconocer una variable en la
memoria de la computadora, es necesario darle un nombre con el cual podamos
identificarla dentro de un algoritmo.

Ejemplo:
área = pi * radio ^ 2

Las variables son : el radio, el área y la constate es pi

CLASIFICACIÓN DE LAS VARIABLES

Numéricas
Por su Contenido Lógicas
Alfanuméricas (String)
Variables

De Trabajo
Por su Uso Contadores
Acumuladores

23
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Por su Contenido

 Variable Numéricas: Son aquellas en las cuales se almacenan valores


numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -)
y el punto decimal. Ejemplo:

iva=0.15 pi=3.1416 costo=2500

 Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o
falso) estos representan el resultado de una comparación entre otros datos.

 Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras,


números y caracteres especiales). Ejemplo:

letra=’a’ apellido=’lopez’ dirección=”Av. Los leones # 900”

Por su Uso

 Variables de Trabajo: Variables que reciben el resultado de una operación


matemática completa y que se usan normalmente dentro de un programa. Ejemplo:

suma=a+b/c

 Contadores: Se utilizan para llevar el control del número de ocasiones en que se


realiza una operación o se cumple una condición. Con los incrementos generalmente de
uno en uno.
Ejemplo:
C=C+1
MN = MN + 1

 Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
Ejemplo:

S=S+X
SUM = SUM + ( X / 2)

 Multiplicadores: Forma que toma una variable y que sirve para llevar el
producto acumulativo de una serie de valores que se van leyendo o calculando
progresivamente.
Ejemplo:

C=C+1

24
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
M = M * C/ 2

25
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

PROBLEMAS RESUELTOS

ALGORITMOS BASICOS:

1.- Diseñar un algoritmo que permita convertir coordenadas polares en rectangulares,


los valores de entrada son el radio (r) y el ángulo (a).

X = R * cos(A)
Y = R * sen(A)

Datos de entrada:
R: Variable que representa al radio
A: Angulo que previamente debe convertirse en radianes

Datos de salida:
X : Coordenada rectangular x
Y : Coordenada rectangular y
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Inicio

R,A

A = A * 3.1416 / 180

X = R * cos (A)

Y = R * sin (A)

X,Y

Fin

2.- Obtener el volumen de una esfera de radio variable

Dato de Entrada:
RADIO: variable donde el dato de entrada se almacena
Dato de Salida:
VOL: variable que almacena el resultado
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Inicio

RADIO

VOL = 3.1416* RADIO ^ 3

VOL

fin

3.- Convertir grados Fahrenheit en grados centígrados

Inicio

Gf

Gf = (Gf – 32) * 0,556

Gf

Fin

4.- Convertir segundos en horas, minutos y segundos

Variable de entrada:
Seg : Representa los segundos que el usuario ingresa

Variables de salida:
Hra, Min y Seg:
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Análisis:
La función trunc permite truncar la parte decimal de un número, y la función mod
permite obtener el residuo de un cociente entre dos números.

Inicio

Seg

Hra = trunc (Seg / 3600)

Min = trunc(Seg mod 3600 /60)

Seg = (Seg mod 3600 ) mod 60

Hra, Min, Seg

Fin

5.- Determinar el mayor y el menor valor, a partir de dos números que se leen desde el
teclado.

Variables de entrada:
A, B : Los números que el usuario deberá ingresar
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Variables de salida:
Mayor , Menor : Que corresponden los valores solicitados

La función abs permite obtener el valor absoluto de un valor numérico

Inicio

A,B

Mayor = (A + B) + abs(A-B) ) /2

Menor = (A + B) - abs(A-B) ) /2

Mayor, Menor

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

ALGORITMOS DECISIONALES:

6.- Escriba un algoritmo para leer un número entero y determinar si es un número par o
impar

Inicio

Num

No Si
Num mod 2 = 0

“Es impar” “Es Par”

Fin

7.- Escriba un programa para leer dos números enteros distintos entre si y determine
cual es el mayor y el menor valor.

Inicio

N,M

No N>M Si

M, “ es el mayor” N, “ es el mayor”
N, “ es el menor” M, “ es el menor”

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

8.- Escriba un algoritmo para leer un número entero y determine si es un número


positivo, negativo o cero.

Inicio

si no
N =0

si no
N>0

“Es Cero”

“Es positivo” “Es negativo”

Fin

9.- Dados dos números N y M, determinar si N es múltiplo de M o viceversa


Inicio

N,M

no N mod M = 0 si

no M mod N= 0 si
N, “ es múltiplo de “, M

“no son múltiplos” M, “ es múltiplo de “, N

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
10.- Elabore un diagrama de flujo para resolver ax2 + bx + c = 0 en el caso de raíces
reales. Los datos son: a, b, c. Puede usar las operaciones que necesite. Asegúrese
que el resultado sea válido.

Análisis del problema:

Si a <> 0 se presentan tres casos:


Primero con dos soluciones dadas con la fórmula que da la solución de la
ecuación de segundo grado cuando el discriminante es positivo.
Segundo con una solución dada por la fórmula cuando el discriminante es cero.
Tercero con dos soluciones complejas, dadas por la fórmula cuando el
discriminante es negativo.

Inicio

A,B,C

D=B*B–4*A*C

no si
D>0

no si
D<0 X1 =(-B+sqrt(D)) / 2*A

X1 = -B / 2*A “Soluciones imaginarias”


X2 =(-B-sqrt(D)) / 2*A

X2 = -B / 2*A

X1, X2

X1, X2

Inicio
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

11.- Escribir un algoritmo para leer un número y determinar si el mismo es un entero


positivo par, positivo impar, negativo par o negativo impar o es cero.

Inicio

no si
N>0

no si
N < 0 no N mod 2=0 si

“Positivo impar” “Positivo par”


“Cero”

no N mod 2=0 si

“Negativo impar” “Negativo par”

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

12.- Leer tres números enteros y determinar si forman un triangulo isósceles, equilátero
o escaleno. Un triangulo equilátero es aquel que tiene los 3 lados iguales, el triangulo
escaleno tiene los 3 lados diferentes, y un triangulo isósceles (dos lados iguales y uno
desigual, analice en este tipo los 3 casos posibles).

Inicio

A,B,C

no si
A=B

no si no si
A=C B=C

no si
B =C “Triangulo isósceles” “Triangulo isósceles” “Triangulo equilátero”

“Triangulo escaleno” “Triangulo isósceles”

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
13.- Dado un número, determinar si es entero o fraccionario.

Inicio

no N mod 1 = 0 si

N, “ es un numero fraccionario” N, “ es un numero entero”

Fin

14.- Escribir un algoritmo en el que dado un número entero determinar si se encuentra


en el intervalo cerrado 51 - 100.

Inicio

no N>=51 and N<=100 si

“Se encuentra en el intervalo cerrado”

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

15.- Escriba un algoritmo para leer 3 números enteros distintos entre si e imprimirlos en
orden ascendente.

Inicio

A,B,C

no si
A<B

no si si
A< C B<C

no si no si
A<B B, A , C A<C A,B,C

A, C , B
C,B,A C,A,B B,C,A

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
16.- Escribir un programa que lea el salario de un empleado e incremente este salario
según la escala:

Salario < 500 15 % de incremento


Salario >= 500 pero menor a 1000 10% de incremento
Salario >= 1000 5% de incremento

El programa debe mostrar el salario anterior y el salario nuevo.

Inicio

Sal

si
Sal < 500
Inc = 15

no
si
Sal < 1000
Inc = 10

no

Inc = 5

Salinc = Sal * Inc /100 + Sal

“Salario original:”, Sal


“Salario nuevo:”, Salinc

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
17.- A un trabajador se le paga según las horas que trabaja en el día una tarifa de pago
por hora. Si la cantidad de horas trabajadas es mayor a 8, la tarifa se incrementa en un
100%, calcular el pago total del trabajador.

Variables de Entrada:

HT: Representa las horas trabajadas


PH: Representa el pago por hora

Variables de Salida:
PT: Representa el pago total

Se consideran horas extras aquellas que exceden a las ocho normales de trabajo.

Inicio

HT, PH

no si
HT > 8

PE = (HT – 8) * 2* PH
PT= PH * HT

PT = PE+ PH* 8

PT

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
18. Escribir un D.F que permita el pago de comisiones por ventas efectuadas por un
vendedor, según la siguiente escala:

Venta < 100 Bs. 1% de comisión


100<= Venta < 500 5% de comisión
500<= Venta < 1000 7 % de comisión
Venta >= 1000 10 % de comisión

Determinar el valor que se paga en comisiones a un determinado vendedor.

Inicio

si
V < 100 CO = 1

si
si
V < 500 CO = 5

si

si
V < 1000 CO = 7

si

CO = 10

VCOM = V * CO/100

VCOM

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

19.- Escribir un programa que calcule el tiempo de vuelo de una aeronave,


considerando como datos de entrada la hora de salida, el minuto de salida, la hora de
llegada y el minuto de llegada.

Variables de entrada:
HS: Hora de Salida, MS: Minuto de salida, HL: Hora de llegada, ML: Minuto de llegada
Variables de Salida:
TVH: Tiempo de vuelo en horas, TVM : Tiempo de vuelo en minutos

Inicio

HS, MS, HL, ML

si
HS < HL and MS <=ML

TVH = HL – HS
no TVM = ML - MS

si
HS < HL and MS > ML

TVH = (HL – HS) -1


no TVM= 60 – (MS-ML)

si
HS > HL and MS <= ML

no TVH = 24-(HS-HL)
TVM = ML - MS

TVH = 24-(HS-HL) -1
TVM = 60 – (MS-ML)

TVH , TVM

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Algoritmos repetitivos - decisionales:

20.- Generar la serie:

1, 2, 3, 4, 5, …… 100

Análisis:
La variable K es el denominado contador que permite generar la serie a partir de un
valor inicial (0), que es el primer paso en el algoritmo, luego se establece la condición
para que el proceso de conteo se detenga, en este caso :
K <= 100, es decir que el proceso debe continuar mientras se cumpla esta condición, el
contador K debe ir incrementándose en 1 (K = K + 1) , expresión que permite que una
variable vaya cambiando continuamente (aumentado en 1) hasta que K llegue a 100,
por cada termino que asume el contador este se imprime por pantalla, cuando esto se
cumpla el ciclo repetitivo se “rompe” y el proceso concluye.

Inicio

K=0

K <= 100

K=K+1

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
21.- Generar la serie:

50, 48, 46, 44, ……….. 2

En este caso la serie va decrementado en 2, por lo tanto el primer paso es establecer el


valor inicial de 50 a la variable C, luego se establece el limite del proceso mediante la
condición (mientras K sea mayor o igual 2 ) , cuando la variable C llega a 2 este valor
aun se imprime por la condición igual , pero luego al restar en dos, la variable C se
convierte en 0, por lo que la condición ya no se cumple y el ciclo termina.

Inicio

C = 50

C>=2

C=C-2

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

22.- Escribir un programa que permita generar la serie:

1 , 2 , 4 , 8 ,16 ,32 .... para N términos

Esta serie se puede expresar como la base de números binarios, es decir:

20, 21, 22, 23, 24, 25, …………..2N-1

Por lo que se puede utilizar una variable que actué como contador para representar los
exponentes, a partir del primer exponente (0) y el valor final (N-1), puesto que el
enunciado indica para N términos, por lo que la condición solo estable por menor (<).

Inicio

C=0

C<N

R=2^C

C=C+1

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

23.-  Obtener la serie:   1 ,  2  ,  4 ,  7 ,  11 , 16 ..... para n términos

Inicio

C=0

K=1

C< N

C=C+1

K=K+C

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

24.- Mediante una algoritmo determine si un numero es perfecto o no. En caso de serlo
o no imprima el mensaje respectivo.
(Un numero perfecto es el que sumados sus divisores reproduce el mismo numero)
Ej:
6 divisores: 1, 2 ,3 suma: 1+2+3 = 6

Inicio

SUM = 0

D =1 , N/2 ,1

si
N mod D = 0
SUM = SUM + D

no

no si
SUM = N

N, “ no es un numero N, “ Es un numero
perfecto” perfecto”

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

25. Leer dos números enteros y obtener el cociente y su residuo mediante restas
sucesivas

Inicio

A,B

no si

A>B

A>B
no si
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

A=B

A= A-B

COC = 0 COC = 1

RES = A RES = 0 C= C+1

“El cociente es = “,COC COC = C


“ El residuo es = “,RES RES = A

Fin

26.- Escribir un programa que obtenga la suma de la serie:

2 – 4 + 6 – 8 + .... para n términos


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Inicio

C=0
SIG = 1

C<N

C=C+1

S = S + (2*C ) * SIG

SIG = - SIG

FIN

27. Dado un número, mostrar cada uno de sus dígitos en forma separada

Inicio

V
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

V>0

D = V mod 10

V = V / 10

Fin

28.- Determinar el MCD (Máximo Común Divisor) entre dos números enteros

Inicio

A,B

A!=B
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

no si

A>B

B=B-A A=A-B

“El MCD DE “, A , “ Y ”, B, “
ES: “, B

Fin
29.- Leer n números enteros y determinar cual es el mayor valor.

Inicio

AUX = 0
C=0

C< K

NUM

C=C+1
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

si
AUX < NUM
AUX = NUM

no

“El mayor valor es: “,


AUX

FIN

30.- Leer un grupo de números desde el teclado y determinar la cantidad de números


que terminen en 2, el proceso debe detenerse cuando el usuario pulse un cero.
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Inicio

C= 0

N>0

D = N mod 10

si
D= 2
C=C+1

no

Fin

31.- En el intervalo de 1 a n, obtener la sumatoria de todos los números que sean


múltiplos de 3 y 5 a la vez.

Inicio
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

SUM = 0

K=1,N,1

K mod 3 = 0
and
si
K mod 5 =0 SUM = SUM + K

no

SUM

Fin

32.- Escriba un algoritmo que lea un número entero y obtenga la suma de sus dígitos
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Inicio

SUM = 0

N>0

DIG = N mod 10

SUM = SUM + DIG

N = TRUNC (N / 10)

“La suma de sus dígitos es:”, SUM

Fin

33.- Escriba un algoritmo para leer un número entero y determinar la cantidad de dígitos
que este tiene.
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Inicio

NUM

K=0

NUM > 0

K=K+1

NUM = trunc (NUM/10)

“La cantidad de dígitos


es “, K

Fin

34.- Dado un número, verificar si es primo.


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Análisis:
Debemos considerar en principio un criterio básico para determinar las propiedades de
un número primo, tomaremos en cuenta que un número primo es aquel que tiene solo
dos divisores: el número mismo y el uno. Por tanto el algoritmo esta orientado a contar
la cantidad de divisores que tiene el número en cuestión, si tiene solo dos divisores el
número es primo, de no ser cierta esta condición el número no es primo.

Inicio

CD = 0
C=1

C<=N

no si
N mod C = 0
CD = CD + 1

C=C+1

no si
N, “ no es primo CD = 2 N, “ es primo”

Fin

35.- Escribir un D.F para calcular el promedio de pulsaciones de un grupo de n


personas a deben por cada 10 segundos de ejercicio, la formula es:
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

# pulsaciones = (220 - edad)/10

Inicio

CP = 0
SUM = 0

CP < N

EDAD

NP = (220 – EDAD) / 10

SUM = SUM + NP

CP = CP + 1
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

PROM = SUM / N

“El promedio es : “,
PROM

Fin

36.- Escribir un programa que convierta un número en base n a base 10, emplear el
teorema fundamental de la numeración:

Ej: Convertir 1010 2 base 10

1 * 23 + 0 * 22 + 1 * 21 + 0 * 20 = 10

Inicio

NUM, BASE

SUM = 0
C=0

NUM > 0

DIG = NUM mod 10

SUM = SUM + DIG * BASE ^ C


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

C=C + 1

NUM = NUM / 10

SUM

Fin

37.- Escriba un algoritmo para leer un número entero y determinar si es capicúa

Inicio

C=A

SUM = 0

C>0

DIG = C mod 10

SUM = SUM*10 + DIG


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

C = trunc (C / 10)

no si

“El numero no es A = SUM “El numero es


capicúa” capicúa”

Fin

38.- Determine la suma y la cantidad de múltiplos de m en el intervalo de 1 a n


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

Inicio

N,M

CM = 0

SM = 0

I=1,N,1

si
I mod M = 0

no CM = CM + 1

SM = SM + 1
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

“La cantidad de múltiplos es: “, CM, “ y la


suma de estos es: “, SM

Fin

39.- Leer dos números enteros y mostrar sus divisores comunes

Inicio

N ,M

no si
N>M
L=M L=N

D=1,L,1

N mod D = 0
and
si
M mod D =0 “Divisor común:
“, D
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

no

Fin

40.- Obtener la sumatoria de la serie: 1 + 1 + 2 + 3 + 5 + 8 +13 ….. para n


términos. (Serie de Fibonacci).

Inicio

A=1
B=1
S=A+B

J = 1 , N-2 , 1

C=A+B

S=S+C

A=B
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

B= C

“La sumatoria es = “, S

Fin

41.- Generar n números al azar entre 10 y 99 y determinar la cantidad de números que


terminan en cero.

La función RANDOM genera números al azar.

La formula para el uso del RANDOM es:

RANDOM (Limite superior – Limite inferior +1) + limite inferior

Inicio

CC = 0

K=1,N,1

R = RANDOM(90) + 10
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

D = R mod 10

si
D=0

CC = CC + 1

no

CC

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
42.- Escribir un algoritmo para simular el lanzamiento de una moneda un cierto número
de veces y determinar cuantas veces salió 'cara' y cuantas 'sello

INICIO

CC = 0
CS = 0

J=1,V,1

R = RANDOM * (2)

si
R=0
CC = CC + 1

no

CS = CS + 1

“CARA SALIO: “, CC , “ VECES”


“SELLO SALIO: “, CS, “ VECES”

FIN
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
43.- Dado un número, obtener su factorial
Por definición:

N ! = N * N -1 * N -2 * N -3 * ….* 1
o N! = 1 * 2 * 3 *……* N

Los multiplicadores a diferencia de los sumadores se inician en 1 (elemento neutro de la


multiplicación), luego la expresión F = F *C permite acumular los valores que se
generan en el ciclo (PARA) desde el valor inicial (1) hasta el valor final (R).

INICIO

F=1

C=1,R,1

F=F*C

“El factorial de “, R, “ es :
“, F

FIN
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
44.- Leer los salarios de un grupo de empleados y determine el promedio de salarios y
el porcentaje de empleados que están por debajo de 1000 Bs, detenga el proceso
cuando ingrese un salario igual a cero.

INICIO

SSAL = 0
CSAL = 0
CAUX = 0

SAL

SAL > 0

CSAL = CSAL + 1

SSAL =SSAL + SAL

SAL < 1000 si


CAUX = CAUX + 1

no

SAL

PROM = SAL / CSAL


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

PORC = CAUX*100 / CSAL

“PROMEDIO DE SALARIOS : “, PROM


“PORCENTAJE DE SALARIOS < A 1000 : “,
PORC

FIN

45.- Mediante un algoritmo determine si dos números son “amigos” (dos números son
amigos si la suma de sus divisores del primero es igual segundo y viceversa). Imprimir
un mensaje en cada caso.
Ej: 220 y 284

INICIO

N,M

SUM1= 0

C = 1 , N/2 ,1

si

N mod C = 0
SUM1 = SUM1 + C

no

SUM2= 0
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

K = 1 , M/2, 1

si

M mod K =0
SUM2 = SUM2 + K

no

N = SUM2

no and si “Son números


“No son números amigos”
amigos”
M = SUM1

FIN
46.- Escribir un programa para calcular el cos(x), mediante la siguiente serie:
(detener el proceso cuando el valor absoluto de un término sea menor a 0.001)
x2 x4 x6
cos( x )=1− + − +.. .. .
2! 4 ! 6 !
INICIO

S=1
SIG = 1
DEN = 2
T=0
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

X = X * 3.1416 /180

abs(T- S ) > 0.001

F=1

T= S

M = 1 , DEN,1

F=F*M

S = S + (X ^ D / F ) * SIG

D=D+2

SIG = - SIG
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

“El valor de la serie es:


“, S

FIN

47.- Escribir un algoritmo para determinar si un numero entero de 3 dígitos es un cubo


perfecto, (este es un numero en que la suma de sus dígitos elevados al cubo es igual al
numero), imprima un mensaje según el caso.

Ej:

153 = 13+53+33

INICIO

C=1,9,1
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

D=0,9,1

U = 0, 9 , 1

X = C * 100 + D * 10 + U

Y = C*C*C + D*D*D + U*U*U

si

X=Y

no

“CUBO PERFECTO: “, X

FIN
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

48. Determinar cuantas veces aparece un digito dado (leído desde el teclado) dentro de
un número entero.

EJ: Numero = 42232 Digito = 2 Frecuencia = 3

Inicio

N, DIG

CD = 0

N>0

D = N mod 10

no si
DIG = D
CD = CD + 1

“La frecuencia es de : ”, CD

Fin
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

49. Dado un número N, mostrar por pantalla los dígitos primos sin importar el orden.

INICIO

N > 0

K = N mod 10

F=0

D = 1 , K /2 , 1

si
K mod D = 0
F=F+1

no

si
F=1
K

no

N = N / 10

FIN
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

50.- Obtener el valor de la serie : 1! – 2! + 3! – 4! + 5! - ….. para n términos


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

INICIO

SUM = 0
SIG = 1

C=1,N,1

M =1

F = 1, C. 1

M=M*F

SUM = SUM + M * SIG

SIG = - SIG

SUM

FIN

51.- Generar las secuencias:

1 2 3 4 5
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
1 2 3 4
1 2 3
1 2
1

INICIO

C = 5 , 1, -1

D = 1 , C, 1

FIN

52.- Generar :

1
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
2 2
3 3 3
4 4 4 4
5 5 5 5 5
............
.............
n ...........

INICIO

X=1,N,1

Y = 1, X , 1

FIN

PROBLEMAS PROPUESTOS
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

1.- Elabore un diagrama de flujo que teniendo como datos de entrada el radio y la
altura de un cilindro calcule el área total y el volumen del cilindro.

2.- Escriba un algoritmo que permita efectuar la conversión de coordenadas


rectangulares en coordenadas polares.

3.- Convertir grados Centígrados en grados Fahrenheit

4.- Un sistema de ecuaciones lineales:

ax + by = c
dx + ey = f

Se puede resolver con las siguientes fórmulas:

ce−bf af −cd
x= y=
ae−bd ae−bd

Elabore un algoritmo que lea dos conjuntos de coeficientes (a, b, c, d, e, f) y visualice


los valores de x e y.

5.- Intercambiar el contenido de 2 variables.

6.- Una persona recibe un préstamo de $10,000.00 de un banco y desea saber cuánto
pagará de interés al terminar el mes si el banco le cobra una tasa del 2% mensual.

a) Resuelva este caso particular.


b) Generalice este problema para un monto cualquiera de capital y para una
tasa cualquiera.

7.- Dado un tiempo en segundos, calcular los segundos restantes que le correspondan
para convertirse exactamente en minutos.

8.- Convertir horas en formato 24 horas a formato 12 horas, para lo cual debe leer las
horas y minutos, además de una variable que indique si es PM o es AM. (Sug. 1: AM,
2 : PM)

Ej:

Sea la hora : 14:45

La entrada será: 14 por la hora , 45 por los minutos y 2 por ser PM


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
La salida será:

2 : 45 pm

9.- Escribir un programa que acepte dos números enteros diferentes entre si y los
devuelva ordenados del mayor al menor

10.- Escriba un programa para determinar el cuadrante en el que se encuentra un par


ordenado de valores.

11.- Leer 3 números enteros y determinar si forman un triangulo

12.- Escriba un algoritmo para determinar el numero mayor, de tres números enteros
distintos entre si, desde el teclado.

13.- Leer 4 números enteros y determinar si forman un cuadrado, un rectángulo, un


trapecio o un polígono irregular.

14.- Leer cuatro coordenadas (X,Y) , y determine si forman un cuadrado o un


rectángulo.

Ej:
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

X1,Y1 X2,Y2

X3,Y3 X4,Y4

15.- Dados 4 números enteros que se lean desde el teclado determinar el mayor y el
menor valor, los números deben ser distintos entre si.

16.- Una agencia automotriz ofrece planes de crédito para la adquisición de los
diferentes modelos de automóviles. Si el automóvil vale más de $25,000 la agencia
solicita un 35% de adelanto y el resto debe cubrirse en 24 mensualidades sin intereses.
Si el automóvil tiene un valor máximo de $25,000 se requiere un adelanto del 25% y el
resto se debe pagar en 18 mensualidades sin intereses.

La agencia desea saber, en base al precio de un automóvil que un determinado cliente


elija, cuál es el monto del adelanto y cuál es el número y el monto de las mensualidades
que éste debe cubrir.

17.- Escribir un algoritmo que permita emitir la factura correspondiente a una compra de
un artículo determinado, del que se adquieren una o varias unidades. El IVA es del
15% y si el precio bruto (precio venta mas IVA) es mayor de 50 Bs. se debe realizar un
descuento del 5%.

18.- Escribir un algoritmo para leer tres números enteros distintos entre si e imprimir el
numero intermedio (el que no es mayor ni menor)
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

19.- Realizar un algoritmo que me permita ingresar la hora, minutos y segundos y que
indique a cuantos segundos equivalen.

20.- Determinar si un año es bisiesto (verificar las condiciones)

21.- Un caminante observa la posición en la que se encuentra (X y Y mediante un GPS)


a cada trecho. Cuánto caminó en total y cuál fue el trecho más largo ?

22.- Elabore un diagrama de flujo que calcule el área de un triángulo mediante la


formula:

Área= √ p( p−a )∗( p−b )( p−c)

donde p es el semiperímetro, p = (a + b + c) / 2, siendo a, b, c los tres lados del


triángulo. Para que el triángulo exista debe cumplirse que los lados sean todos
positivos, y además que la suma de dos lados cualesquiera sea mayor que el otro lado.

23.- El precio de un boleto de viaje redondo en tren se calcula tomando en cuenta el


número de kilómetros que se van a recorrer, siendo el precio $60.00 por Km. Este
precio puede tener un descuento del 30% si el viaje de regreso se hace después de 7
días del viaje de ida, o si el recorrido supera los 800 Km.

Elabore un diagrama de flujo para calcular cuánto se debe pagar por un boleto de tren
dando como datos el total de Km recorridos y el número de días entre el viaje de ida y
el viaje de vuelta.
Pruebe su diagrama con los siguientes grupos de datos:

a) 850 Km y 10 días.
b) 356 Km y 8 días.

24.-  Leer el valor de las ventas efectuadas por un vendedor y determinar el porcentaje
de ventas menores a 500 Bs.
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
25.- Escribir un algoritmo en donde dado un número, si es positivo verificar si se
encuentra en el intervalo abierto (60 – 90) , de lo contrario emitir un mensaje de error.

26.- A un trabajador se le paga según las horas que trabaja en la semana una tarifa de
pago por hora. Si la cantidad de horas trabajadas es mayor a 40, la tarifa se incrementa
en un 50%. Calcular el salario total del trabajador, además considere que si existe un
anticipo se debe restar este valor al salario total, mostrando al final el pago neto.

27.- Calcular el descuento efectuado al valor de una venta en base a las siguientes
condiciones:

Si la Venta < 100 Bs.. descontar el 1 % del valor de la venta

Si la venta >=100 Bs pero es menor a 500 Bs. descontar el 5% de la venta

Si la venta >= 500 Bs. Pero es menor a 1000 Bs. descontar el 10 %

Si la venta es >= 1000 Bs descontar el 20%

Mostrar como salida el descuento y el valor del producto descontado

28.- Leer el salario básico y la antigüedad de un empleado (en años) y determinar


mediante un algoritmo el bono de antigüedad y el total ganado.

El bono de antigüedad se calcula en base a las siguientes condiciones:

Si la antigüedad < 5 años : 10 % del Salario básico

Si la antigüedad >=5 pero es menor a 10 : 15 % del Salario básico

Si la antigüedad >=10 pero es menor a 15 : 25 % del Salario básico

Si la antigüedad >= 15 : 50 % del Salario básico

El total ganado es la suma del salario básico mas el bono de antigüedad


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
29.- Obtener el producto entre dos números enteros mediante sumas sucesivas.

30.- Escribir un D.F para determinar la suma de los n primeros números impares
elevados al cuadrado.

31.- Determinar ab mediante productos sucesivos.

32.- Obtener la serie: 1 , -1 , 2 , -2 , 3 , -3 , ………, n , -n

33.- Escribir un D.F o programa para obtener la suma de los 100 primeros números
pares.

34.- Escribir un algoritmo para obtener la suma de los cuadrados de los 10 primeros
números pares.

35.- Obtener la suma de los n primeros términos de la serie :

1 – 2 + 3 – 4 + 5 – 6 + ........ para n términos

36.- En el rango de 1 a n determinar el porcentaje de números primos

37.- Escribir un algoritmo que permita obtener el valor aproximado de PI, mediante la
serie:

4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 +.....para n términos.


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
38.- Escribir un algoritmo que permita adivinar un numero que sea genere internamente
al azar, el cual esta en el rango de 0 a 50. El usuario debe adivinar este número en
base a aproximaciones, para lo cual se dispone de 5 intentos. Veamos un ejemplo:

Supongamos que el número “pensado” por la computadora sea el 42.

Salida del programa:

Estoy pensando un número entre 0 y 50

Intento 1

? 25

El numero esta entre 25 y 50

Intento 2

? 34

El numero esta entre 34 y 50

Intento 3

? 45

El numero esta entre 34 y 45

Intento 4

? 40

El numero esta entre 40 y 45

Intento 5

? 42

Felicitaciones … Adivinaste el numero


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

39.- Elabore un diagrama de flujo que dado un entero n > 1, 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 del entero inicial. Por ejemplo,


cuando el entero inicial es 26, la secuencia será:
26 13 40 20 10 5 16 8 4 2 1

Elabore un diagrama de flujo para leer una serie de enteros positivos, contar los valores
introducidos y calcular su promedio. El final de los datos se indicará con un número
negativo.

40.- Escriba un algoritmo para leer un número entero y mostrar todos sus divisores
incluido en propio número.

41.- Escriba un algoritmo para leer un número y obtener el producto de los dígitos
distintos de cero.

42.- En una guardería hay 25 niños de 1, 2 y 3 años. Los niños de 1 año consumen 6
pañales al día, los niños de 2 años consumen 3 pañales diarios y los niños de 3 años
consumen 2 pañales diarios. Se desea conocer el consumo total de pañales diarios.

Datos:edad1
edad2
.....
edad25
donde edadi representa la edad del i–ésimo niño en años cumplidos (1, 2 ó 3).

43.- Escriba un algoritmo para leer un número entero y obtener la suma de sus dígitos
pares.

44.- Dado un número, verificar si el producto de sus dígitos mayores a cero, genera un
número par.
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
45.- Dado un número, verificar si es automórfico.(es aquel que reaparece al final de su
cuadrado)

Ej: 252 = 625 52 = 25

46.- Obtener el Mínimo Común Múltiplo de dos números.

47.- Leer un número y obtener la suma de sus dígitos que sean pares

48.- Escribir un D.F para leer dos números enteros (a,b) y determinar cual de los dos
tiene mas dígitos.

49.- Escribir un programa que muestre en pantalla, con los encabezados


correspondientes, el capital y los intereses ganados por un capital C0 depositado a un
interés compuesto I durante N años. C 0, I y N se deben leer por teclado. La formula del
interés compuesto es:

Cn = C0(1+I)n

50.- Escribir un algoritmo que obtenga el valor de la serie:

4 – 4/3 + 4/5 – 4/7 + ......... para n términos

El valor de la sumatoria es el valor de PI, por lo tanto introduzca un valor que se


aproxime a este valor.
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

51.- Leer tres números enteros y determinar cual es que tiene la suma mayor de sus
divisores.

52.- Mediante un algoritmo simule el comportamiento de un semáforo, considerando los


tres estados. Establezca ciclos iguales de retardo para el rojo (1) y el verde (3) y un
ciclo de retardo menor para el amarillo (2)

53.- Dado un número, obtener su equivalente en base 2.

54.- Leer 10 números enteros y determinar cuantos de estos son capicúa.

55.- Dado un número, verificar si la sumatoria de sus dígitos genera un número primo.

56.- Dado un número, obtener su factorial haciendo uso de operaciones de suma y/o
resta únicamente.

57.- Escribir un algoritmo para invertir n números se lean desde el teclado

Ej . 123 ---- > 321

58.- Escribir un algoritmo para determinar el valor del seno de un ángulo x ( en


radianes ), según la serie:

sin x = x – x3/3! + x5/5! – x7/7! ... para n términos


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

59.- Obtenga la suma de números primos comprendidos entre n y m

60.- Escribir un programa que halle el valor aproximado de ex

ex = x0/0! + x1/1! + x2/2! + x3/3! + x4/4! + ..... para n términos

61.- Generar las tablas de multiplicar del 1 al 9

62.- Elabore un diagrama de flujo que dado un valor n entero con n  1, calcule e
imprima la siguiente sumatoria:

n
∑ ii
i=1

63.- Los cubos de Nicómaco, considera la siguiente propiedad descubierta por


Nicómaco de Gerasa: sumando el primer impar, se obtiene el primer cubo. sumando los
dos siguientes se obtiene el segundo cubo, sumando los tres siguientes, se obtiene el
tercer cubo, etc.

Es decir: 1 = 13,
3 + 5 = 23 = 8,
7 + 9 + 11 = 33 = 27,
13 + 15 + 17 + 19 = 43 = 64.

Elabore un diagrama que dado un número n entero positivo, imprima los n primeros
cubos utilizando esta propiedad.

64.- De n números que se lean desde el teclado determinar el mayor y el menor valor.
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

65.- Leer las estaturas (en cm ) de un grupo de personas, a partir de estos valores
obtener el promedio de estaturas, el porcentaje de estaturas por debajo
de 150 cm y el porcentaje de las que estén por encima o igual a este valor. Detener el
proceso cuando el usuario ingrese un cero.

66.- Leer las calificaciones de un grupo de estudiantes que han rendido un examen, a
partir de ello determinar:

- La media de las calificaciones


- El porcentaje de alumnos aprobados (nota >= 51)
- El porcentaje de reprobados
- Las dos mejores notas

67.- Construya un algoritmo que acepte los montos de depósitos y retiros efectuados
por un cliente de un banco, mostrar el saldo final que tiene dicho cliente.

68.- Escribir un algoritmo que permita leer dos números enteros y muestre por pantalla
a los números enteros comprendidos en este intervalo, incluidos los valores de entrada,
considerar que si el primer numero es menor que el segundo, la secuencia será
creciente, en caso contrario será decreciente, si el usuario ingresa dos números
idénticos, el algoritmo debe solicitar la entrada de nuevos valores.

69.- Obtener mediante un algoritmo el valor de la serie:

2, 5, 7 ,10, 12, 15 ,17,......., 1800

70.- Construya un algoritmo que las temperaturas registradas en un centro de


metereología, y determine cuantas veces se registro temperaturas menores a cero,
cuantas iguales a cero y finalmente cuantas temperaturas mayores a cero grados,
detener el proceso cuando ingrese una temperatura de 99 o –99.

71.- Obtener el valor final de la serie:

n1 + (n-1)2 + (n-3)3+ ......... 1n

72.- Leer un número entero y determinar si su primer digito es par o impar

73.- Escribir un algoritmo que permita obtener el valor de la serie:


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

s = 1! / 0! – 2! / 2! + 3! / 4! – 5! /6! + ........ 11!/10!

74.- Mediante un algoritmo generar la serie:

1 , 2 , 6 , 24 , 120 ,....... para n términos

75.- Escribir un algoritmo que determine si 3 números leídos desde el teclado son
“pitagóricos”

76.- Hallar la raíz cuadrada de un número n, empleando la relación:

b = 0,5 * (a + n/a)

c = 0,5 * (b + n/b)

d = 0,5 * (c + n/c)

..........

...........

en donde el valor inicial de a es 1, efectué las iteraciones k veces

77.- Leer el valor de un bien y su vida útil (en años) y muestre por pantalla su
depreciación en cada año, hasta alcanzar la vida útil. Emplear las siguientes relaciones
para determinar el factor de depreciación:

FD = Valor original / Vida Útil


INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
Depreciaciónn = Depreciación-1 – FD

FD es el factor de depreciación

78.- Escriba un algoritmo que encuentre la cantidad de números perfectos que existen
en el rango de 1 a n.

79.- Calcular potencias con exponentes positivos o negativos, se deben utilizar ciclos
repetitivos para tal efecto.

80.- Obtener el valor de la serie:

1/2 + 3/4 + 5/6 + .............n-1/n

81.- Una fuente de datos registra varias edades, la edad 0 indica el final de la entrada
de datos, escriba un algoritmo para determinar el promedio de las edades ingresadas y
también el porcentaje de personas mayores a los 65 años.

82.- Calcular el valor de la serie:

1/1 + 1/2 + 2/3 + 3/4 + 5/5 + 8/6 + 13/7 + 21 /8 + 34/9 + 55/10

83.- Leer un numero entero y producir un segundo numero con sus dígitos ordenados
del menor al mayor.

84.- Leer dos números enteros si no son iguales intercambie el contenido de las
variables, de ser iguales sume los mismos y muestre este resultado.

85.- Leer un número entero y determinar si la suma de sus dígitos distintos de cero
forman un número primo, de ser así imprima el mensaje respectivo.

86.- Escribir un algoritmo que permita generar 50 números al azar en el rango (1-99) y
determine cuantos de estos elementos son números primos. 

87.- Mostrar los primeros N números triangulares.

88.- Calcular el coeficiente binomial a partir de la lectura de dos números enteros, a


partir de la relación:
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________

( n ¿) ¿¿ ¿
¿

89.- Dados dos números determinar si son primos relativos entre si. (por definición, no
tienen ningún factor primo en común, o, dicho de otra manera, si no tienen otro divisor
común más que 1 )

90.- Simular mediante un algoritmo el comportamiento de un reloj digital, mostrando :


hh:mm:ss

91.- Generar las secuencias:

5 5 5 5 5

4 4 4 4

3 3 3

2 2

92.- Generar las secuencias:

1 2 3 4 5
5 4 3 2 1
1 2 3 4
4 3 2 1
1 2 3
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
3 2 1
1 2
2 1
1
1

93.- Generar la tabla:

1 2 3 4 5

2 4 6 8 10

3 6 9 12 15

4 8 12 16 20

5 10 15 20 25

94.- Generar :

11111

11115

11145

11345

12345
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
95.- Leer un valor que represente una cierta cantidad de dinero, escribir un algoritmo
que permita convertir el dicho valor en billetes y monedas, de tal forma que sea la
menor cantidad de billetes y monedas a convertir.

Ej: Sea el monto = 655 Bs.

La salida será:

3 billetes de 200 Bs

1 billete de 50 Bs.

1 moneda de 5 Bs.

96.- Leer el nombre completo de una persona y determine si tiene uno o mas de un
nombre.

97.- Dada la fecha de nacimiento de una persona escribir un algoritmo que indique su
signo zodiacal.

98.- Escribir un algoritmo que permita convertir un numero arábigo en un numero


romano (el rango es de 1 - 3000 )

99.- Escribir un algoritmo que indique la frecuencia de repetición de las vocales de un


frase que se lea desde el teclado.

100.- Leer una cadena de caracteres y verifique si es un palíndromo (palabra que se


lee igual de izquierda a derecha o viceversa).

Ej: ORURO, OSO, ANITA LAVA LATINA, etc

101.- Leer una palabra y determinar si la misma contiene las cinco vocales.
INTRODUCCION A LA PROGRAMACION
Ing. Orlando Rivera Jurado
______________________________________________________________________________
102.- Escribir un algoritmo que acepte un número no mayor a dos dígitos y muestre el
mismo de manera literal:

Ej: 23 : Veintitrés

103.- Leer los nombres de pila, de por lo menos 5 personas y determinar cuantos de
estos nombres tienen como primera letra la ‘A’

104.- Leer los nombres las capitales de varios países, deteniendo la entrada con una
cadena nula (“00000”), y luego efectué la búsqueda de alguno de estos e indique el
orden en el que registro.

También podría gustarte