Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCION A LA PROGRAMACIÓN
ALGORITMIA
INDICE
Introducción iii
Carta Descriptiva iv
1. Fundamentos de algoritmo. 7
1.1. Partes de un algoritmo 9
1.2. Características de un algoritmo 9
1.3. Elementos para la construcción de un algoritmo 11
Instrucción o sentencia, comandos o palabras reservadas, Datos,
Tipos de datos, Variables y Constantes, Expresiones y operadores,
Expresiones lógicas, Operadores de relación o lógicas, Expresiones
aritméticas, Evaluación de expresiones.¿Qué es un contador?,
¿Qué es un acumulador?
4. Ejemplos y Ejercicios. 50
Referencias Bibliográficas 67
INTRODUCCIÓN
INTRODUCCION A LA PROGRAMACIÓN
Intención Es una unidad curricular que tiene como objetivo proporcionar el conjunto de
saberes orientados a adquirir las competencias que permitirán al estudiante
Curricular iniciarse en el uso de las técnicas computacionales, así como la
estructuración lógica de los pasos requeridos para la resolución de
problemas y el diseño de algoritmos que ayuden a implantar a través de un
lenguaje de programación tales soluciones.
Créditos
Ocho (8)
Académicos
Libro de Referencia de Misión Sucre: “Introducción a la Programación”,
presentado en tres módulos:
Material I. Algoritmia I
Instruccional II. Algoritmia II
III. Programación
Estrategias
Estudios independientes, Trabajos en grupo, Consultas y Encuentros.
Instruccionales
Recursos
Laboratorios de computación para actividades prácticas. Equipos multimedios.
Requeridos
1. FUNDAMENTOS DE ALGORITMO
Ejercicio: Según los conceptos arriba mencionados, defina con sus propias palabras el
concepto de algoritmo
Del estudio anterior de los autores descritos podemos decir, que un algoritmo es un
conjunto de pasos precisos, definidos y finitos que conducen a la solución de un problema. Por
ejemplo, el desarrollo de las actividades diarias en nuestra vida cotidiana, corresponde a un
algoritmo, así como también la realización del cálculo de la ecuación de segundo grado, la
emisión de una nómina de pago de empleados, entre otros.
Toda actividad que realiza el ser humano, responde a un algoritmo, existen dos tipos, los que se
realizan para ser ejecutados por una computadora, llamados algoritmos computacionales, y
los que son ejecutados por el ser humano, algoritmos no computacionales, como el ejemplo
de la compra de boletos del cine.
Donde:
ENTRADA Corresponde al insumo, a los datos necesarios que requiere el
proceso para ofrecer los resultados esperados.
Salida: Torta
Según el ejercicio anterior, se puede determinar que el algoritmo para hacer torta,
cumple con las características fundamentales de los algoritmos. Es decir, ¿Es preciso?,
¿Es definido?, ¿Es finito?, razona tus respuestas.
Instrucción o sentencia
Dependiendo del origen del material instruccional se habla de instrucción o
sentencia; ésta, define una acción o un mandato que se debe realizar, esa acción o
mandato se representa a través de un comando o lo que es lo mismo palabras
reservadas de un lenguaje de programación en particular. Una instrucción esta
compuesta por uno o más comandos (acción), datos, símbolos, variables o constantes y
expresiones, que en conjunto representan una instrucción o sentencia.
Leer Sueldo,
Asignar Sueldo = Sueldo + HoraExtra
Fin Si
Donde:
Datos
Los datos son símbolos que se convierten en condiciones, hechos, situaciones o
valores. Un dato puede significar un número, una letra, un signo ortográfico o cualquier
símbolo que represente una cantidad, una medida, una palabra o una descripción. La
Misión Sucre y la Municipalización del Programa Nacional en Sistemas e Informática
República Bolivariana de Venezuela
Ministerio de Educación Superior
Fundación Misión Sucre
TIPOS DE DATOS
Como se describió anteriormente, un dato es un campo que puede convertirse en
información. Existen datos simples (sin estructura) y compuestos (estructurados).
Tipos de datos
Numéricos Reales Los números reales, son los números que tienen 0.56
parte decimal. 1.00
25.13
148.45
-456.23
Lógicos o boléanos Son aquellos datos cuyos únicos valores sólo Nacionalidad =
pueden ser: Verdadero (V) o Falso (F), puede “Venezolano” (S/N)?
encontrarse, Verdadero (True) o Falso (False). Se
utiliza para representar las opciones (si/no) a
determinadas condiciones.
Ejercicio. Identifique en la tabla a continuación los tipos de datos simples (numéricos, lógicos y
carácter)
Constante Es un dato que permanece con un valor, sin cambios, es decir constante, a lo
largo del desarrollo del algoritmo o a lo largo de la ejecución del programa.
Variable Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en
el transcurso de la ejecución del programa.
EXPRESIONES Y OPERADORES
Esto también indica que pierde el valor que hasta ahora tenía.
Expresiones Aritméticas
Operadores aritméticos
- Restar A-B -3
** Exponenciación A ** B 100.000.000.000.000
Leer Datos hasta fin_ archivo Cédula, Lectura de los datos de entrada
Nombre, Edad
Evalúa el tipo de empleado, Si ya cumplió 18 años, pertenece a los
Si Edad >= 18 empleados fijos, y se calcula el monto del incentivo en base al 50%. De ser
INCENTIVO = SUELDO * 0,50 ese el caso, se ejecutan las dos instrucciones que se encuentran dentro del
primer bloque.
De lo contrario
INCENTIVO = SUELDO * 0,40 De lo contrario, no se cumple la condición anterior, se trata de un aprendiz.
Se calcula lo previsto para estos (40%).
Fin si
Se cierra la estructura
MONTOTOTAL = SUELDO + INCENTIVO
IMPRIMIR RESULTADOS
Se calcula el monto total y se imprimen los resultados es decir cédula,
Fin nombre, sueldo anterior, incentivo, sueldo nuevo.
Expresiones Relacionales
Operadores de relación
Expresiones Lógicas
Ampliación.
Expresiones lógicas, son expresiones que sólo pueden tomar uno de dos valores posibles: Verdadero
o Falso. Estas expresiones se forman combinando constantes lógicas, variables lógicas y otras
expresiones utilizando los operadores “Y” (AND), “O” (OR) y “NO” (NOT). El resultado de una expresión
lógica es también un valor de tipo lógico: verdadero o falso.
EVALUACIÓN DE EXPRESIONES
Cuando en una expresión concurre más de una operación, los paréntesis indicarán
prioridad, es decir, la operación encerrada entre paréntesis se realizará en primer lugar.
Asimismo, algunos operadores tendrán prioridad sobre otros.
Ampliación.
(a + b) / c,
Un acumulador es una variable que como su nombre lo indica, suma sobre sí misma
un conjunto de valores, al finalizar con el ciclo contendrá, en una sola variable, la
sumatoria de todos los valores, que cumplen una determinada condición,. La diferencia
entre un contador y un acumulador es que mientras el primero va aumentando en una
cantidad fija preestablecida, el acumulador va aumentando en una cantidad o valor
variable.
Leer Numero
Incrementar dentro del ciclo
Mientras Número <= 100
Por lo general se requiere la impresión de su valor. Aplicar fórmula primo
Si es primo Entonces
Un acumulador se construye colocando el nombre del acumulador
Cuentaprimo = Cuentaprimo + 1
= nombre del acumulador + el valor variable. Ej: Sumaprimo Sumaprimo = Sumaprimo + Número
2.1 Pseudocódigo, significa escribir las instrucciones del algoritmo en lenguaje natural,
tal y como lo expresamos de manera cotidiana, este procedimiento facilita su escritura
en los lenguajes de programación. Según Joyanes (2003): “El pseudocódigo es un
lenguaje de especificación (descripción) de algoritmos”, pág 68.
Ampliación.
Ejemplo: Inicio
-Identificación o cabecera
-Declaración de variables
-Cuerpo o sección de acciones
Ampliación.
Ejemplo: Inicio
Resultado
Fin
1. Un inicio
2. Una lectura o entrada de datos
3. Procesamiento de datos
4. Una salida de información
5. Un final
Salida a
pantalla Dirección del
flujo de datos
Inicio/Fin
Conec
tor Decisión
Ampliación. Representación en
Diagrama Nassi Schneiderman
a. Asignación
b. Condicionado (a través de las expresiones lógicas)
c. Alternativas (estructura condicional)
d. Iterativas
e. De entrada y salida
ESTRUCTURA SECUENCIAL
Esta estructura obedece a operaciones dadas en el siguiente
orden:
Contiene operaciones de:
a) Inicio
ASIGNACIÓN b) Definición e Inicialización de variables
c) Lectura de Datos
CÁLCULO
d) Operaciones de asignación
SUMARIZACIÓN e) Cálculo
f) Sumarización o totalización
g) Fin
Entrada
Entrada
SUMA = 0, A = 0, B = O
Instrucciones de declaración
inicialización de variables (Asignación)
y de lectura de los datos de entrada Leer A y B
Salida
Salida
Imprimir valor de SUMA
Instrucciones de totalización e Impresión
Decisiones en secuencia
Se utiliza cuando se deben realizar preguntas sin que se tome en cuenta lo contrario
a la condición, es decir las demás condiciones no son importantes para el objetivo de la
decisión.
Ejemplo: Realizar un algoritmo que permita seleccionar sólo aquellas participantes del concurso Mis
Venezuela que cumplan ciertas condiciones en una primera ronda de selección.
La estructura secuencial es útil para aquellos procesos en los que se requiere que
se cumplan con estricto orden un número determinado de instrucciones, siempre y
cuando se cumpla la anterior, por lo general, la primera decisión corresponde al aspecto
más determinante o general. En el caso de las postuladas la más general o
determinante debería ser, la nacionalidad, si la participante es venezolana, entra a la
primera selección, de lo contrario, no entra al concurso.
Fin_si end_if
DOBLES Bono: 0
Endif
Falso
Condición?
Verdadero
Acción
Esta estructura obedece a evaluar una Ejemplo: De acuerdo al ejercicio de la asignación del bono a
condición y en función del resultado, se empleados y aprendices, tenemos:
realiza un conjunto de instrucciones u
otras. (Pseudocódigo Español)
Else Si no
NO SI
Edad>=18
Condiciones compuestas
<Instrucciones> Fin Si
End If
El uso y significado de los operadores lógicos “Y” (And), “0” (Or), “No” (Not) los
describiremos a través de tablas de la verdad:
Tabla de verdad de “Y” (And) Tabla de verdad de “O” (OR) Tabla de verdad de NOT
Al evaluar la tabla de la verdad, para el conector And, en la elaboración de una instrucción en la cual
deben cumplirse dos condiciones mínimas, como por ejemplo, en el caso del Miss Venezuela, se exige
que la participante sea venezolana y mayor de edad como requisitos de inscripción, suponiendo sea el
caso de manera estricta, la instrucción sería:
El conector And se utiliza cuando se requiere que se cumplan las dos expresiones simples que se
establecen.
Por lo tanto en las opciones, donde:
Ejercicios. Construye un ejemplo para los conectores “O” (OR) y “NO” (NOT), según las situaciones
dadas:
a) De un archivo de datos se requiere seleccionar sólo empresas que se encuentren ubicadas en los
estados Trujillo y Mérida.
1. ¿Cuál es el resultado que se desea obtener? 1. El mayor de tres números distintos dados
2. ¿Cuáles deberían ser los datos de entrada? 2. Los tres números: A, B y C
3. ¿Cuál es el proceso al que debe someter los 3. Comparación
datos? 4. El mayor de los tres números
4. ¿Qué resultado se espera obtener?
Algoritmo Inicio
Inicio Leer A, B, C
Fin
Ampliación.
La unidad aritmética y lógica, uno de los componentes de una computadora, se encarga del manejo
de las operaciones aritméticas y a la porción lógica de la computadora le corresponde procesar la
capacidad de tomar decisiones. La estructura de construcción algorítmica if-then-else (si-entonces-de
lo contrario) permitirá la selección de acciones alternativas permitiendo realizar procesos lógicos.
Las repeticiones deben ser finitas, no obstante puede ser que en momentos
determinados no nos demos cuenta y construimos un ciclo o bucle infinito, esto lo
explicaremos más adelante, en principio estudiaremos los ciclos finitos:
NoEmpleados= 0 No
NoEmpleados
Si NoEmpleados <76 Entonces <=75
Calcular bono Si
Imprimir bono
Incrementar en uno al contador (NoEmpleados) Calcular Bono
Fin Si
Imprimir Resultados
Bono
Fin
NoEmpleados = NoEmpleados + 1
Retonar
Resultados
Fin
Bucles Repetitivos
b) Los ciclos anidados son aquellos en los que al entrar a una estructura de
repetición, dentro de ella se encuentra otra, se inicia el proceso de la estructura más
interna hasta que se termine y luego se continúa con la externa hasta que la condición
se cumpla.
c) Existen los bucles cruzados, lo cual no se recomienda, debido a que se tiene que
interrumpir, es decir no finalizamos un ciclo e iniciamos el otro. Esto puede ocasionar la
pérdida de control debido a que el programa podría no reconocer cual proceso se esta
cumpliendo.
A) Ciclo Independiente
B) Ciclo Anidados
Segundo Bucle
Fin
C) Ciclo Cruzados
Se utiliza cuando existen más de dos opciones posibles; se conoce también como
opciones múltiples.
Realizar actividades 3
[Martes]: actividades 2
Día-semana = “Jueves”
:
Realizar actividades 4
[Domingo]: Salir del proceso de
Día-semana = “Viernes”
actividades
Realizar actividades 5
Else
Día-semana = “Sábado”
Día-semana = “Domingo”
End_case
Salir del proceso de actividades
Fin Casos
b. Encabezar la lista de datos con su Mientras se cumpla la condición que desencadena el proceso,
tamaño. las instrucciones que se encuentran dentro del ciclo While se
realizarán.
c. Finalizar la lista con su valor de Se realizará la ejecución de una o más instrucciones “Hasta”
entrada. que el resultado de la expresión lógica evaluada sea
“verdadero”.
d. Agotar los datos de entrada. Se comprueba que no existen más datos de entrada.
La estructura repetitiva While, según Joyanes (2003): “es aquélla en que el cuerpo
del bucle se repite mientras se cumple una determinada condición”, al cambiar la
condición se interrumpe o se culmina con la ejecución del ciclo de instrucciones que se
encuentran dentro de la estructura o el ciclo While.
Esta estructura es muy útil cuando dada una condición, se requiere asegurar se
realice un conjunto de instrucciones.
Ampliación.
ESTRUCTURA WHILE
Acciones Acciones
Wend Fin Mientras
Inicio
Fin_Mientras
Escribir
'El número de enteros
positivos es :” Contador
Fin
Ejercicios. Construya utilizando la estructura Mientras (While) el segmento del algoritmo que permita
resolver situaciones dadas:
a) Se requiere realizar sumatoria de números pares positivos hasta llegar a 1000.
b) De un archivo de datos realizar distintos procesos hasta que no existan más datos.
<Instrucciones> <Instrucciones>
Repetir
To expresión lógica Hasta expresión lógica
Instrucciones
Ampliación.
instrucciones <Instrucciones>
End
FinPara
For i = 1 to 20
<Instrucciones>
Cuenta=1
End
Para Cuenta =1 hasta 20 hacer
<Instrucciones>
Fin Para
Ejercicios.
a. Realice la traza del algoritmo siguiente. Determine su resultado según los datos proporcionados y
escriba su enunciado.
1. Inicio
Lectura No. Para N = M toma el valor?
1 4
2. Declaración de variables: M = 0
2 5
3. Leer N 3 20
4 11
4. Asignar a M el valor de N 5 3
5. Mientras N <> 0 hacer
- ¿Cuál es el resultado de M?
6. Si M<=N Entonces - Realice una siguiente corrida con los siguientes
datos: 8, 1, 0, 3, 4
7. M=N - Diseñe el diagrama de flujo.
8. Fin_Si
9. Leer siguiente N
12. Fin
b) ¿Qué valores obtienen las variables A, B y C después de finalizar la ejecución de las siguientes
instrucciones?
1. A= 5 2. A = 30 3. A=3 4. A = 30
B= 18 B = 15 B = A + 15 B=A
A=B A=A+1 B=A-3
C= A + B B=A B=A-5
B= A + B
A= B - C