INTRODUCCION A LA PROGRAMACION
- ALGORITMOS
- LENGUAJES ALGORÍTMICOS
- METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS MEDIANTE LA COMPUTADORA
- TIPOS DE DATOS
- OPERADORES
- IDENTIFICADORES
- TÉCNICAS PARA LA FORMACIÓN DE ALGORITMOS
- ESTRUCTURAS ALGORÍTMICAS
- SOLUCIÓN DE PROBLEMAS
Algoritmos
Se deriva de la traducción al latín de la palabra árabe
alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado
sobre manipulación de números Y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que
describe el proceso que se debe seguir, para dar solución a un problema específico.
Tipos de algoritmos:
- Cualitativos: son aquellos en los que se describen los pasos utilizando palabras.
- Cuantitativos: son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Lenguajes algorítmicos
Es una serie de símbolos y reglas que se utilizan
para describir de manera explícita un proceso.
Tipos de lenguajes algorítmicos:
1. Gráficos: es la representación
gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
2. No gráficos:
representa en forma descriptiva las operaciones que debe realizar un algoritmo(seudocódigo).
METODOLOGÍA PARA
LA SOLUCIÓN DE PROBLEMAS POR MEDIO DE LA COMPUTADORA.
1. DEFINICIÓN DEL PROBLEMA
Esta fase está dada por el enunciado del problema,
el cual requiere una definición clara y precisa. Es importante que se conozca
lo que se desea que realice la computadora; mientras esto no se conozca del
todo no tiene mucho caso continuar con la siguiente etapa.
2. ANALISIS DEL PROBLEMA
Una vez que se ha
comprendido lo que se desea de la computadora, es necesario definir:
·
Los datos de entrada
·
Cuál es la información que se desea producir(salida)
·
Los métodos y fórmulas que se necesitan para
procesar los datos.
Una recomendación muy práctica es el que nos
pongamos en el lugar de la computadora y analicemos que es lo que necesitamos
que nos ordenen y en que secuencia para producir los resultados esperados.
3. DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
·
Debe tener un punto particular de inicio
·
Debe ser definido, no debe permitir dobles
interpretaciones.
·
Debe ser general, es decir, soportar la mayoría de
las variantes que se puedan presentar en la definición del problema
·
Debe ser finito en tamaño y tiempo de ejecución.
4. CODIFICACIÓN.
Es la operación
de escribir la solución del problema (de acuerdo a la lógica del diagrama de
flujo o seudocódigo), en una serie de instrucciones detalladas, es un código
reconocible por la computadora, la serie de instrucciones detalladas se le
conoce como código fuente, el cual se
escribe en un lenguaje de programación o lenguaje de alto nivel.
5. PRUEBA Y
Los errores
humanos dentro de la programación de computadoras son muchos y aumentan
considerablemente con la complejidad del problema. El proceso de identificar y
eliminar errores, para dar paso a una solución sin errores se le llama depuración.
La depuración o
prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por
ello se debe considerar con el mismo interés y entusiasmo.
Resulta
conveniente observar los siguientes principios al realizar la depuración, ya
que de este trabajo depende el éxito de nuestra solución.
6.
Documentación
Es la guía o
comunicación escrita en sus variadas formas, ya sea en enunciados,
procedimientos, dibujos o diagramas.
A menudo un
programa escrito por una persona, es usado por otra. Por ello la documentación
sirve para ayudar a comprender o usar un programa o para facilitar futuras
modificaciones (mantenimiento).
La documentación se divide en tres partes:
·
Documentación interna: son los comentarios o mensajes
que se añaden al código fuente para hacer más claro el entendimiento de un
proceso.
·
Documentación externa: se define en un documento
escrito los siguientes puntos:
o Descripción del
problema
o Nombre del autor
o Algoritmo
(diagrama de flujo o seudocódigo)
o Diccionario de
datos
o Códigos
fuente(programa)
·
Manual de usuario: describe paso a paso la manera cómo
funciona el programa, con el fin de que el usuario obtenga el resultado
deseado.
7. Mantenimiento: se lleva a cabo después de
terminado el programa, cuando se detecta que es necesario hacer algún cambio,
ajuste o complementación al programa para que siga trabajando de manera
correcta. Para poder realizar este trabajo se requiere que el programa este
correctamente documentado.
Los
datos
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.
Tipos de datos:
1. Simples
a. Numéricos
b. Lógicos
c. Alfanuméricos
(string)
2. Estructurados
(definidos por el usuario)
a. Arreglos (vectores,
matrices)
b. Registros
c. Archivos
d. 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 dos datos (numéricos o alfanuméricos).
Datos alfanuméricos(string): 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 hacer operaciones con ellos. Este tipo de
datos se representan encerrados entre comillas.
Ejemplo
“universidad pedagógica nacional”,”2018”
.
----------04-09-2020----------
Expresiones:
Las expresiones son combinaciones de constantes,
variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Ejemplos
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
·
Relacionales
·
Lógicas
Operadores y
operandos
Operadores: son elementos
que relacionan de forma diferente, los valores de una o más variables y/o
constantes. Es decir, los operadores nos permiten manipular valores.
Tipos de operadores.
·
Aritméticos
·
Relacionales
·
Lógicos
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
Valor
Operadores aritméticos
·
+ suma
·
- resta
·
* Multiplicación
·
/ división
·
Mod modulo (residuo de la división entera)
Ejemplo
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 más interno se evalúa
primero.
ü Dentro de una
misma expresión los operadores se evalúan en el siguiente orden
o ^ exponenciación
o *, /, mod multiplication, division, modulo
o +, - suma, resta
ü Los operadores en
una misma expresión con igual nivel de prioridad se evalúan de izquierda a
derecha.
Operadores relacionales:
ü 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
relacionales comparan valores del mismo tipo (numéricos o cadenas)
ü Tienen el mismo
nivel de prioridad en su evaluación.
ü Los operadores
relacionales tienen menor prioridad que los aritméticos.
Operadores
relacionales
ü > mayor que
ü < menor que
ü >= mayor o
igual que
ü <= menor o
igual que
ü <>
diferente
ü = igual
Ejemplos
Si a=10 b=
20 c= 30
A+b >c falso
a-b<c verdadero
a-b=c falso
a*b<>c verdadero
----------11-19-2020----------
Operadores Lógicos
estos operadores se utilizan para establecer
relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión
relacional.
ü And
ü Or
ü Not
Ejemplos
(a<b) and (b<c)
(10<20) and (20<30)
T AND T
T
PRIORIDAD DE LOS OPERADORES
LOGICOS
1.
NOT
2.
AND
3.
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
((A>B)OR(A<C))AND ((A=C)OR(A>=B))
F T F F
T F
F
((A>=B) OR (A<D)) AND
((A>=D) AND (C>D))
F F T T
F T
F
NOT (A=C) AND (C>B)
NOT F T
T T
T
IDENTIFICADORES
Los identificadores representan los datos de un
programa (constantes, variables, tipos de datos). Un identificador es una
secuencia de caracteres que permite identificar una posición en la memoria de
la computadora, que nos permite acceder a su contenido.
Ejemplo:
Nombre
Num_horas
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
Constantes: 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 cambiar 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 constante
es pi
Clasificación de las variables
1. Por su contenido
a. Numérica
b. Lógicas
c. Alfanuméricas
(string)
2. Por su uso
a. De trabajo
b. Contadores
c. Acumuladores
Por su contenido:
Variables numéricas: son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números de 0 al 9, signos (+ y -) y el punto decimal.
Ejemplo:
Impuesto = 0.12 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 operación entre datos.
Variables: alfanuméricas: está formada
por caracteres alfanuméricos (letras, números y caracteres especiales).
Ejemplo:
Letra = “a” apellidos
= “López” dirección = “av.
Libertad # 190”
---------------18-09-2020---------------
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.
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.
Técnicas para la formación de algoritmos
1.
Diagramas de flujo
2.
Seudocódigo
3.
Diagrama estructurado (nassi - schneiderman)
Las dos herramientas utilizadas comúnmente para
diseñar algoritmos son:
·
Diagramas de flujo
·
Seudocódigo
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 cómo 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 sí
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).
Recomendaciones
para el diseño de diagramas de flujo
ü Se deben de 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 sin conectar
ü Se deben trazar
los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda
a derecha
ü Todo texto
escrito dentro de un símbolo deberá ser escrito claramente evitando el uso de
muchas palabras.
Seudocódigo
Mezcla de lenguaje de programación y español (o inglés
o cualquier otro idioma). Que se emplea, dentro de la programación
estructurada, para realizar el diseño de un programa. Es esencial, el seudocó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 seudocódigo
utiliza palabras que indican el proceso a realizar.
Ventajas de
utilizar un seudocó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 seudocó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.
Diagramas
estructurados(nassi-schneiderman)
El diagrama estructurado N –S también conocido como diagrama de chapín es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se representa de la siguiente forma
ESTRUCTURAS ALGORITMICAS
Las estructuras de operación de programas son un grupo
de formas de trabajo, que permiten, mediante la manipulación de variables,
realizar ciertos procesos específicos que nos lleven a la solución de
problemas. Estas estructuras se clasifican de acuerdo a su complejidad en:
1.
Secuenciales
a.
Asignación
b.
Entrada
c.
Salida
2.
Condicionales
a.
Simples
b.
Múltiples
3.
Cíclicas
a.
Hacer para
b.
Hacer mientas
c.
Repetir hasta
Estructuras
secuenciales
Es aquella en la que la acción(instrucción) sigue a
otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la
entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una
estructura secuencias se representa de la siguiente forma:
Asignación
Consiste en el paso de valores o resultados a una zona
de la memoria. Dicha zona será reconocida con el nombre de la variable que
recibe el valor. La asignación se puede clasificar de la siguiente forma.
ü
Simples:
consiste en pasar un valor constante a una variable (a = 15)
ü
Contador:
consiste en usarla como un verificador del número de veces que realiza un
proceso (a=a+1)
ü
Acumulador:
consiste en usarla como un sumador de un proceso (a=a+b)
ü
De
trabajo: donde puede recibir el resultado de una operación matemática
que involucre muchas variables (a=c+b*2/4)
ü
Lectura:
consiste en recibir desde un dispositivo de entrada (ej. El teclado) un valor.
Esta operación se representa en un seudocódigo como sigue:
Leer a, b
Donde “a” y” b” son las variables que recibirán los valores
ü
Escritura:
consiste en mandar por un dispositivo de salida (ej. El monitor o impresora) un
resultado o mensaje. Este proceso se representa en un seudocódigo como sigue:
Escribe “el resultado es:”, R
Donde “el resultado es:” es un mensaje que se desea aparezca
y R es una variable que contiene un valor.
SUPONGA QUE SE TIENE UN CONJUNTO DE CALIFICACIONES DE UN
GRUPO DE 6 ALUMNOS. REALIZAR UN ALGORITMO PARA CALCULAR LA CALIFICACION MEDIA Y
LA CALIFICACION MAS BAJA DE TODO EL GRUPO.
INICIO
Sum
= 0
Baja
= 9999
Hacer
para a = 1 a 6
Leer
calif
Sum
= sum + calif
Si
calif < baja entonces
Baja
= calif
Finsi
Fin
– para
Media
= sum /2
Imprimir
media, baja
fin
ü
ESTRUCTURAS
CONDICIONALES
Comparan una variable contra otro(s) calor(es), para
que, en base al resultado de esta comparación, se siga un curso de acción
dentro del programa. Cabe mencionar que la comparación se puede hacer contra
otra variable o contra una constante, según se necesite.
·
SIMPLES: las estructuras
condicionales simples se les conoce como “tomas de decisión”. Estas tomas de decisión
tienen la siguiente forma:
SI < CONDICION
> ENTONCES
Acción(es)
Fin – si






Comentarios
Publicar un comentario