0% encontró este documento útil (0 votos)
180 vistas14 páginas

Introduccion A La Logica de Programacion

El documento introduce los conceptos básicos de la lógica de programación. Explica que un algoritmo es una serie de pasos para resolver un problema, y que existen algoritmos cualitativos y cuantitativos. También describe los tipos de lenguajes algorítmicos como gráficos y no gráficos, y define conceptos clave como variables, constantes, expresiones y operadores.

Cargado por

Jose Luis
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
180 vistas14 páginas

Introduccion A La Logica de Programacion

El documento introduce los conceptos básicos de la lógica de programación. Explica que un algoritmo es una serie de pasos para resolver un problema, y que existen algoritmos cualitativos y cuantitativos. También describe los tipos de lenguajes algorítmicos como gráficos y no gráficos, y define conceptos clave como variables, constantes, expresiones y operadores.

Cargado por

Jose Luis
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

INTRODUCCION A LA LOGICA DE PROGRAMACION

¿QUÉ ES UN ALGORITMO?

La palabra algoritmo 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…?

Existen dos tipos y son llamados así por su naturaleza:

 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

Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir
de manera explícita un proceso.

Tipos de Lenguajes Algorítmicos

 Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo


(diagrama de flujo).

No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo
(pseudocodigo).
INICIO
Edad: Entero
ESCRIBA “cual es tu edad?”
Lea Edad
SI Edad >=18 entonces
ESCRIBA “Eres mayor de Edad”
FINSI
ESCRIBA “fin del algoritmo”
FIN

Metodología para la solución de un problema mediante un computador. Creación


de un algoritmo.

El computador es una máquina que por sí sola no puede hacer nada, necesita ser
programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que
hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en
el Problema. El proceso de programación es el siguiente: Dado un determinado problema
el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde
entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de
programación y por último ejecutar el programa en el computador el cual refleja una
solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de
computadores.

La parte que corresponde a este manual es la de: “Dado un determinado problema


debemos idear una solución y expresarla usando un ALGORITMO!”.

Metodología para la solución de problemas por medio de la computadora

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

 ANÁLISIS DEL PROBLEMA

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:


o Los datos de entrada.
o Cual es la información que se desea producir (salida)
o Los métodos y fórmulas que se necesitan para procesar los datos.

Una recomendación muy práctica es el de colocarse en el lugar de la computadora y


analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los
resultados esperados.

 DISEÑO DEL ALGORITMO

Las características de un buen algoritmo son:


o Debe tener un punto particular de inicio.
o Debe ser definido, no debe permitir dobles interpretaciones.
o Debe ser general, es decir, soportar la mayoría de las variantes que se puedan
presentar en la definición del problema.
o Debe ser finito en tamaño y tiempo de ejecución.
o Diseño del Algoritmo.
o Prueba de escritorio o Depuración.

Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para


saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada
y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de
estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad
de corregirlo o hacerle ajustes.

Para el proceso de Algoritmos es necesario aprender a desarrollar un conjunto de


elementos.

Todos estos elementos con los cuales se construyen dichos algoritmos se basan en una
disciplina llamada: Programación Estructurada.
Empecemos por conocer las reglas para cambiar fórmulas matemáticas a expresiones
válidas para la computadora, además de diferenciar constantes e identificadores y tipos
de datos simples.

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

Identificadores

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 permite acceder a su contenido.

Ejemplo:

» Nombre
» Num_hrs

» 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 varios caracteres. Pero es
recomendable una longitud promedio de 8 caracteres.
 El nombre del identificador debe dar una idea del valor que contiene.

Qué son las constantes, las variables y las expresiones en la programación así
como su clasificación.

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:

area = pi * radio ^ 2
Las variables son : el radio, el area y la constate es pi
Clasificación de las Variables

Por su contenido

 Variables 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’ direccion = ’Av. Libertad #190’

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

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
 Relacionales
 Lógicas

Qué son los operadores y los operando, sus tipos y las prioridades de ejecución
de los mismos.

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.

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.

Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
mod Modulo (residuo de la división entera)

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:

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.

Operadores Relacionales

Se utilizan para establecer una relación entre dos valores. Luego 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).
Estos tienen el mismo nivel de prioridad en su evaluación.

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

Tipos de 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

Ejemplos no lógicos:

a<b<c
10 < 20 < 30
T > 5 < 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.

Tipos de operadores Lógicos


And Y
Or O
Not Negación

Ejemplo:
Para los siguientes ejemplos T significa verdadero y F falso.

Operador Not Operador Not

Operador And Operador And

Operador Or Operador Or

Prioridad de los Operadores Lógicos

1. Not
2. And
3. Or

Prioridad de los Operadores en General

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

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

Existen dos principales tecnicas de diseño de algoritmos de programación, el Top


Down y el Bottom Up.

Top Down

También conocida como de arriba-abajo y consiste en establecer una serie de niveles de


mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en
efectuar una relación entre las etapas de la estructuración de forma que una etapa
jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de
información. Este diseño consiste en una serie de descomposiciones sucesivas del
problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que
van a formar parte del programa.

La utilización de la técnica de diseño Top-Down tiene los siguientes objetivos básicos:

 Simplificación del problema y de los subprogramas de cada descomposición.


 Las diferentes partes del problema pueden ser programadas de modo
independiente e incluso por diferentes personas.
 El programa final queda estructurado en forma de bloque o módulos lo que hace
mas sencilla su lectura y mantenimiento.
Bottom Up

El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan


computarizarse con forme vayan apareciendo, su análisis como sistema y su
codificación, o bien, la adquisición de paquetes de software para satisfacer el problema
inmediato.

Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es


difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea
fluido. Los problemas de integración entre los subsistemas son sumamente costosos y
muchos de ellos no se solucionan hasta que la programación alcanza la fecha límite para
la integración total del sistema. En esta fecha, ya se cuenta con muy poco tiempo,
presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas
interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo
que se requiere, cuando se contempla al sistema como una entidad global, adolece de
ciertas limitaciones por haber tomado un enfoque ascendente.

Uno de ellos es la duplicación de esfuerzos para acceder el software y mas aún al


introducir los datos.

Otro es, que se introducen al sistema muchos datos carentes de valor.


Un tercero y tal vez el mas serio inconveniente del enfoque ascendente, es que los
objetivos globales de la organización no fueron considerados y en consecuencia no se
satisfacen.

Entonces…

La diferencia entre estas dos técnicas de programación se fundamenta en el resultado


que presentan frente a un problema dado.

Imagine una empresa, la cual se compone de varios departamentos (contabilidad,


mercadeo, …), en cada uno de ellos se fueron presentando problemas a los cuales se le
dieron una solución basados en un enfoque ascendente (Bottom Up): creando programas
que satisfacían sólo el problema que se presentaba.
Cuando la empresa decidió integrar un sistema global para suplir todas las necesidades
de todos los departamentos se dio cuenta que cada una de las soluciones presentadas
no era compatible la una con la otra, no representaba una globalidad, característica
principal de los sistemas.

Como no hubo un previo análisis, diseño de una solución a nivel global en todos sus
departamentos, centralización de información, que son características propias de un
diseño Descendente (Top Down) y características fundamentales de los sistemas; la
empresa no pudo satisfacer su necesidad a nivel global.
La creación de algoritmos es basado sobre la técnica descendente, la cual brinda el
diseño ideal para la solución de un problema.

Una de las dos herramientas más comunes en el diseño de algoritmos es el


diagrama de flujo.

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 de nuestro diagrama de flujo.

Indica la entrada y salida de datos.

Símbolo de proceso y nos indica la asignación de un valor en la memoria y/o la ejecución de una operación
aritmética.

Indica la salida de información por impresora.

Conector dentro de página. Representa la continuidad del diagrama dentro de la misma página.

Conector fuera de página. Representa la continuidad del diagrama en otra página.

Indica la salida de información en la pantalla o monitor.

Símbolo de decisión. Indica la realización de una comparación de valores.


Símbolo del Mientras. Dada una expresión al principio de la iteración esta es evaluada; si la condición es
verdadera realizará el ciclo, si es falsa la repetición cesará.

Símbolo del Para. Esta estructura de control repetitiva se usa generalmente cuando se conoce de
antemano el número de iteraciones.

Símbolo Repita Hasta. Funciona igual que la estructura Mientras, con la diferencia que al menos una vez
hará el grupo de instrucciones y luego evaluará una condición. Si la condición evaluada es falsa continua
dentro del ciclo y si es verdadera termina la iteración.

Líneas de flujo o dirección. Indican la secuencia en que se realizan las operaciones.

Recomendaciones para el diseño de Diagramas de Flujo

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


 Se debe evitar el cruce de líneas utilizando los conectores.
 Se deben usar conectores sólo 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.

Qué es el pseudocódigo y sus ventajas frente a los diagramas de flujos y las


definiciones de los diagramas estructurados y las estructuras algorítmicas.

Pseudocódigo

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.

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

Fuente: http://ieepinformatico.blogspot.mx/2012/09/introduccion-la-logica-de-programacion_3.html
Publicado por A. Arango en 8:26
FECHA DE ELABORACION: LUNES, 3 DE SEPTIEMBRE DE 2012

También podría gustarte