Sie sind auf Seite 1von 29

LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

UNIDAD 1. CONCEPTOS GENERALES

OBJETIVO: Identificar las diferentes estructuras, básicas de diagramación, y el


manejo de los operadores lógicos y matemáticos, su aplicación y las reglas de
prioridad.

Objetivos específicos:

 Entender las diferentes estructuras para la elaboración de algoritmos


 Saber manejar los diferentes operadores y sus prioridades
 Realizar los pasos lógicos para la solución de un problema

1.1 CONTENIDO TEMÁTICO

Definiciones básicas
Algoritmos
Diagramas y sus tipos
Operadores lógicos y matemáticos
Reglas de prioridad
Expresiones
Prioridad de los operadores en las expresiones lógica y matemáticas
Representación gráfica de los algoritmos
Pasos para resolver un problema.

Competencias académicas a desarrollar

 Entender las diferentes estructuras para la elaboración de algoritmos


 Saber manejar los diferentes operadores y sus prioridades
 Realizar los pasos lógicos para la solución de un problema

Indicadores de logro:

Conceptual: Diferencia los tipos de algoritmos, Conocerá los conceptos


básicos para el desarrollo de un algoritmo.

Proccedimental: Aplica el manejo de los operadores y su prioridad en las


expresiones matemáticas

Actitudinal: Reconoce los diferentes operadores y muestra interés en su


aplicación.

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

1. CONCEPTOS GENERALES

1.1 LOGICA

Procedimiento razonable y apropiado para buscar la solución de un problema


cualquiera.

Ejemplo 1: Escribir los pasos a seguir para sumar dos números.

1 Leer número 1
2 Leer número 2
3 Sumar los números 1 y 2.

1.2 EJERCICIOS

Ejemplo 2 Supongamos que usted necesita programar un autómata para que


conduzca un auto en un viaje por la utopista Medellín Bogotá. Una condición
que debe considerara es como cambiar una llanta en caso de un pinchazo.
Como persona precavida que es usted el auto tiene llanta de repuesto y las
herramientas necesarias para estos casos.

Describamos los pasos lógicos para realizar dicha tarea.

1 Sacar la llanta de repuesto del baúl


2 Quitar la llanta pinchada
3 Poner la llanta nueva
4 Guardar la llanta pinchada y la herramienta
5 Reanudar el viaje.

Hagamos el ejercicio en forma más detallada.

INICIO
1Orillar y detener el auto
2 Bajar del auto y colocar las señales
3 Abrir el baúl y sacar la llanta de repuesto.
4 Si el repuesto está bueno siga el paso 7
5 Si el repuesto está malo buscar otra solución
6 Ir al fin
7 Bloquear el carro y poner el gato
8 Aflojar tuercas y subir el carro
9 Quitar las tuercas y la llanta pinchada
10 Poner la llanta de repuesto y poner tuercas
11 Bajar el auto y apretar las tuercas
12 Recoger señales, herramientas y la llanta pinchada
13 Guardar todo y cerrar el baúl
14 Reanudar el viaje.
FIN

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Intente escribir en forma resumida y lógica los pasos para realizar las
siguientes tareas:

- Describa los pasos para embetunar los zapatos


- Describa los pasos para ir desde su casa al cine
- Describa los pasos para escuchar música
- Describa los pasos para hacer una torta
- Describa los pasos para realizar una práctica deportiva.
- Describa los pasos para realizar una llamada desde un teléfono publico.
- Describa los pasos para ir a una biblioteca para una consulta.
- Describa los pasos para hacer un trabajo de investigación.
- Describa los pasos para ir a un partido de fútbol

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

Cuando se tiene un problema para solucionar hay que entender claramente


que se pide hacer y cuáles datos se tienen para buscar su solución y cuales
son las respuestas que se esperan.

Qué se pide? Que se tiene?. La respuesta a estas preguntas son la base


para plantear una posible solución y si ésta se dar por medio del
computador, nuestro primer paso ser realizar un Algoritmo o sea la
descripción de esa posible solución con palabras. Este debe cubrir la
solución del problema desde su inicio hasta su terminación.

1.4 TIPOS DE ALGORITMOS

Los algoritmos pueden ser cualitativos o cuantitativos; lógicos o


matemáticos

Algoritmo cualitativo: es la descripción con palabras sencillas de las


características o cualidades medibles ( que se pueden comprobar) de un
elemento. Ejemplo: ancho, largo, corto, azul, etc. Son aquellos en los que se
describen los pasos utilizando palabras.

NOTA: Cualidades subjetivas de un elemento no se tiene en cuenta en


un algoritmo por ejemplo: belleza, fealdad, simpatía, etc.

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Algoritmo cuantitativo Son aquellos en los que se utilizan cálculos numéricos


para definir los pasos del proceso y hallar respuestas numéricas.

Algoritmo matemático: conduce a la solución de una expresión


matemática y su respuesta es única.

Algoritmo lógico: es la solución a una situación lógica; puede conducir a


una o varias respuestas.

1.5 ESTILO DE ESCRITURA DE ALGORITMOS / PROGRAMAS.

Algoritmo identificador //cabecera


//sección de declaración
var
tipo_de_datos: lista_de_identificadores
const
lista_de_identificadores = valor
inicio //cuerpo del algoritmo
acción 1
acción 2
acción 3
.
.
acción n
fin

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

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

1.6.1 Gráficos

1.6.1.1 Diagrama de flujo: es una técnica de representación de algoritmos más


antigua y a la vez mas utilizada, aunque su empleo ha disminuido
considerablemente, sobre todo desde la aparición del lenguaje estructurado.
Son fáciles de diseñar porque el flujo lógico se muestra en un dibujo (símbolos

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

o cajas estándares) en lugar de palabras y que cada paso del algoritmo escrito
en estos dibujos estará unido por flechas denominadas líneas de flujo, que
indican la secuencia que se debe seguir.

Sin embargo, los diagramas de flujo tienen una limitación grande: son difíciles
de actualizar y complejos de leer si ocupan varias páginas; cuando se han de
modificar los diagramas de flujo resulta difíciles precisamente por su carácter
grafico.

Los símbolos principales son:

SÍMBOLO FUNCION
Inicio y fin del algoritmo. (Sirve para indicar el comienzo y fin del
diagrama de flujo, dentro de el se escriben las palabras inicio y
fin)
Proceso. (Dentro de el se escriben todas las actualizaciones,
asignaciones y operaciones)
Entrada. (Sirve para la captura de datos por medio de una
lectura. Dentro de él se escribe la palabra lea precedida de la(s)
variable(s), separadas por comas)

Salida. (Sirve para mostrar el contenido de una variable y/o


mensajes. Dentro de él se escribe la palabra escriba precedida
de la(s) variable(s), separadas por comas)

Decisión. (Sirve para hacer comparaciones, es decir, para


si
evaluar un valor y escoger alternativas)

no
Línea de flujo. (Sirve para indicar el seguimiento lógico del
diagrama. Determina el orden de la ejecución de las
instrucciones)
Múltiples. (En función del resultado de la comparación se seguirá
uno de los diferentes caminos de acuerdo a dicho resultado)

Repetitivas. (Sirven como símbolos propios de los ciclos ya que


para ellos primitivamente se utilizaba los símbolos básicos
(proceso y decisión)

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Ejemplo 3 Se desea obtener el salario básico neto de un trabajador


conociendo él numero de horas, el salario hora y la tasa de impuesto que se le
debe deducir.

Nota: El ejemplo esta realizado en diagrama de flujo ,diagrama estructurado y


en pseudo código.

Diagrama de flujo

INICIO

Lea: horas_trabajadas, salario_hora,


tasa

salario_bruto= horas_trabajadas*
salario_hora
total_impuesto = salario_bruto * tasa
salario_neto = salario_bruto - total_impuesto

Escriba: salario_bruto,
total_impuseto, salario_neto

FIN

1.6.1.2. Diagrama estructurado o Diagrama de Nassi, N-S o Chapin :


Denominada así por su inventor – o también conocido como diagrama
estructurado – 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 escriben en cajas y,
como en el diagrama de flujo, se pueden escribir diferentes acciones en una
caja. Los diagramas de N-S comienzan en un primer rectángulo que se va
rellenando de arriba-abajo siguiendo la técnica descendente.

Los procesos de entrada, salidas, operaciones, actualizaciones, inicio, fin y


nombre del programa (acciones) se representan en una caja por cada proceso
así:

Nombre del programa


Inicio
< accion 1>
< accion 2>
|
|

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

< accion n>

Fin

Solución ejemplo3 en diagrama estructurado

Programa salario
Inicio
Carac:nombre
Ent:horas
Real:salario,impuesto,SalarioNeto
Lea: nombre, horas, precio
salario = horas * precio
Impuesto = 0.25 * salario
SalarioNeto = salario – impuesto
Escriba nombre, salario, impuesto, Salarioneto
Fin

1.6.2 No gráficos o Pseudo código: Es la descripción de los pasos lógicos


para la solucionar un problema en forma semejante al lenguaje de
computadora utilizado, es decir un lenguaje de seudo programación, una
imitación del código de computadora.

El Pseudo código es una mezcla de lenguajes natural y símbolos, términos y


otras características comúnmente utilizadas en uno o más lenguajes de alto
nivel.

Características de Los Pseudo código: Las siguientes son las


características más importantes:

 Debe tener un nombre que lo identifique. Ejemplo programa


inventario
 Todo pseudo código debe tener un inicio y un fin. No puede existir un
programa con infinitas instrucciones.
 Debe tener 0 o más datos de entrada. Pueden existir programas que no le
pidan datos de entrada al usuario.
 Los pseudo códigos deben tener 1 o más datos de salida. Un programa que
no le muestre al usuario ningún resultado o respuesta, no sirve para nada.

Solución Pseudo código Ejemplo 2

Programa salario_neto

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Inicio
Carac:nombre
Ent:horas
Real:salario,impuesto,SalarioNeto
Lea: horas_trabajadas, salario_hora, tasa
salario_bruto = horas_trabajadas * salario_hora
total_impuesto = salario_bruto * tasa
salario_neto = salario_bruto - total_impuesto
Escriba salario_bruto, total_impuesto, salario_neto

fin

1.7 DATOS

Los algoritmos y programas de computadoras, con independencia del lenguaje


en que están escritos, están diseñados para manipular información o datos.

La mayoría de las computadoras pueden trabajar con varios tipos de datos. Y


los algoritmos y los programas correspondientes operan sobre estos.

Las acciones de las instrucciones ejecutables reflejan en los cambios de los


valores de los datos de entrada que se transforman después de varias etapas
intermedias, dando como resultado unos datos de salida.

Existen dos clases de tipos de datos: simples ( sin estructura) y compuestos


(estructurados). Los datos estructurados por ahora solo veremos el tipo cadena
de esta clase los demás mas adelante, y de los simples identificaremos los
siguientes: Numéricos, Lógicos y Carácter

1.7.1 Datos Numéricos: Los datos de tipo numérico son los relativos a las
diferentes clases de números.
enteros
Datos numéricos
reales

Enteros: Es un subconjunto finito de los numero enteros. Los enteros son


números complejos, no contienen componentes fraccionarios o decimales y
pueden ser positivos o negativos. Ejemplos de datos numéricos:
5 6
-15 4
20 17
1340 26

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Reales: Es un subconjunto de los números reales. Los reales son números


siempre tiene un punto decimal y pueden ser positivos o negativos. Un real
consta de un entero y una parte decimal. Ejemplos de datos reales:

0.08 3739.41
3.745 -52.4.321
2
-8.12 3.0

1.72 Datos Lógicos: También denominados boléanos, es aquel dato que solo
puede tomar uno de dos valores:

cierto / falso
si / no
v/f
0/1

1.7.3 Datos Carácter: Es el conjunto finito y ordenado de caracteres que la


computadora puede interpretar. Un dato tipo carácter contiene solo uno.

Los caracteres que reconoce las diferentes computadoras no son estándar, sin
embargo, la mayoría reconoce los siguientes caracteres alfabéticos, numéricos
y especiales.

 Caracteres alfabéticos: (A, B, C, D, E,..., Y, Z) (a, b, c, d, e,..., y, z)


 Caracteres numéricos: (1, 2, 3, 4,..., 9,0)
 Caracteres especiales: (+ ,- ,* ,/ ,^ ,$ ,& ,...)

Los caracteres se pueden organizar en cadenas. Una cadena de caracteres es


una secuencia o serie de caracteres validos encerrados entre caracteres
especiales llamados delimitadores y que suelen ser las comillas doble, ya que
las comillas simples son los delimitadores de caracteres individuales, ejemplos:
“Paris bien vale una misa”
“12 de octubre de 1492”

TIPO DE DATO CONTENIDO EJEMPLO


Numéricos Enteros o Reales 10, 3,25, -2.908, 2.35E18
Lógicos Boleanos Falso, verdadero
Carácter Todos los caracteres individuales A,b.c,d,·.$.&,#, @, etc.
Cadena (string) Agrupando varios caracteres Hola, Juan Díaz, 2h43”

1.8 CAMPO

Área de trabajo que puede almacenar uno o varios datos. Ejemplo: En

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

el campo NOMBRE se almacena: "Carlos Ariel Jaramillo García".

1.9 ÁREA DE TRABAJO

Es un espacio de memoria con la longitud que necesita el programador.


Las áreas de trabajo deben tener nombres diferentes y deben ser
inicializadas en cero (0).

1.10 REGISTRO

Es un conjunto de campos relacionados.

1.1 1 ARCHIVO

Es un conjunto de registros relacionados entre si.

1.12 MEMORIA

Capacidad de guardar información y tenerla disponible para su uso.

1.13 IDENTIFICADORES

Son los nombres que se dan a los programas, constantes, variables,


subprogramas y otros objetos o entidades de dígitos. La sintaxis para formar un
identificador es la siguiente:

Letra/_[letra / digito / _]...

Lo cual indica que un identificador consta de uno o más caracteres (letras,


dígitos y el carácter de subrayado) y que el primer carácter debe ser una letra o
el carácter de subrayado.

Las letras pueden ser mayúsculas o minúsculas.


Ejemplos:
SUMA
Calculo_números_primos
Ordenar7
a123

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Ejemplos de errores en declaración de identificadores:


$suma (empieza por símbolo $)
calculo números primos (las palabras están separadas por espacios)
ordenar-datos (tiene el símbolo - )
12ab3 (empieza por número)
salario@base (tiene el símbolo @)

1.14 VARIABLES

Son todos aquellos valores que pueden o no cambiar en el transcurso de


un programa, como existen diferentes tipos de datos las variables pueden
ser numéricas y alfanuméricas.

Las variables deben tener las siguientes características:

 Tienen Nombre éste debe ser único ya que en un programa no pueden


existir dos variables con el mismo nombre. Este debe empezar siempre por
una letra
 Toda variable tiene tipo y éste no puede cambiar en el curso del
programa; s! el programador la define como entera solamente puede
recibir números enteros.
 Los nombres de las variables elegidas para el algoritmo o programa deben
ser significativas y tener relación con el objeto que representa.

TEMP = para representar valores de temperatura


NOV_ESTUD = almacenara el nombre del estudiante

Nombres válidos de variables

Peso X27A Apellido PLACA TELEFONO


SALA_BASICO P23A

1.14.1 Variable Numérica: Su nombre puede ser una letra o agrupación


de letras o combinación de letras y números; debiendo empezar
siempre por una letra sin caracteres especiales ni espacios en blanco. El
valor almacenado en ella debe ser totalmente numérico; y puede ser de
tipo real o entero.

NOMBRE VARIABLE VALOR ALMACENADO TIPO

A1 = 500 Entero
Alberto = 200 Entero
X12BASE = 33.12455 Real

1.14.2 Alfabética o alfanumérica: Su nombre puede constar de una letra


o agrupación de letras o combinación de letras y números empezando

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

siempre con una letra, no puede tener caracteres especiales, ni espacios


en blanco.

El valor almacenado en ésta puede ser numérico, alfabético o alfa-numérico


y siempre debe estar colocado entre comillas. Este tipo de valor
almacenado se denomina constante, literal, cadena o título.

NOMBRE VARIABLE VALOR ALMACENADO TIPO


X12 " Pedro " Carácter

Nombre " Juan " Carácter


A " 200 " Carácter
Y " W112 " Carácter

NOTA: Los nombres de las variables deben ser nemotécnicos, es decir, que
con solo leer el nombre de la variable se puede entender o determinar lo
que contiene; estos no deben comenzar por números, ni contener espacios en
blanco, ni caracteres especiales ( % · $ & + / * - etc.).

1.14.3 Boleana o lógicas son aquellas que sólo almacenan datos cuyo
valor es: falso o verdadero.

1.15 CONSTANTES

Son todos aquellos valores que no cambian en el transcurso de un programa


y son definidos antes de utilizarse.

Ejemplo 4: Se desea saber el valor de un artículo al cual se le hará un


descuento del 7%

VAL-DESCU = Valor-artículo * 0.07

variable variable constante

Cada vez que se invoque la variable VAL-DESCU se almacenar en ésta


el valor de la operación indicada.

Nota: Los nombres deben tener las características de los nombres de las
variables.

1.16 EXPRESIONES

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


operación, paréntesis y nombres de funciones especiales; una expresión
consta de operandos y operadores. Los paréntesis indican el orden de cálculo.

Según el tipo de dato que manipulan se clasifican en:

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

 Aritméticas
 Lógicas
 Carácter

Ejemplo 5:

A + (b-c) * 3d
X + (2ª)^2

Expresiones aritméticas. Las expresiones aritméticas son análogas a las


formulas matemáticas. Las variables y constantes son numéricas (real ó
enteras) y las operaciones son las aritméticas.

Ejemplo 5:

5 * 18 = 90

resultado de la expresión
operando
operador
operando

1.17 OPERADORES ARITMÉTICOS:

OPERADOR NOTACIÓN TIPO DE OPERANDO TIPO DE RESULTADO

Exponenciación ^ , ** Entero o real Entero o real


Suma + Entero o real Entero o real
Menos - Entero o real Entero o real
Multiplicación * Entero o real Entero o real
División normal / (Slash) Real Real
División entera div Entero Entero
Modulo o resto mod Entero Entero

NOTA 1: Operadores mod y div. El símbolo / se utiliza para la división real


y el operador div para la división entera.

NOTA 2: La expresión 19 div A solo se puede utilizar si A es entera,


ejemplo 3, esta nos da un resultado entero de 6.

Ejemplo 7: 15 div 6

15 6
3 2
cociente (div)
residuo (mod)

El mod nos muestra el resto por lo tanto si la división anterior la expresamos

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

15 mod 6 el resultado será 3. El mod y el div siempre dan un resultado entero


por ser operadores enteros

1.17.1 Reglas de prioridad. Las expresiones que tienen 2 ó más operando


requieren unas reglas matemáticas que permitan determinar el orden de las
operaciones, lo que se denomina reglas de prioridad o precedencia.

 Las operaciones que se encuentren encerradas entre paréntesis se


evalúan primero.
 Si existen diferentes paréntesis anidados (interiores unos a otros) se
realizan primero las expresiones más internas.
 Las operaciones aritméticas dentro de una expresión suelen seguir el
siguiente orden de prioridad:
Operador exponencial (^ ó **)
Operadores *, /
Operadores div y mod
Operadores + , -

Nota 1: En caso de que se encuentren varios operadores de igual prioridad en


una expresión o sub-expresión encerrada entre paréntesis, el orden de
prioridad en dicho caso es de izquierda a derecha.

Nota 2: Cuando se está diseñando operaciones o expresiones matemáticas se


debe tener en cuenta las tablas de prioridad de los operadores. Los operadores
div y mod si se está utilizando el lenguaje Pascal y Modula2 son de mayor
rango que el + y – ; en lenguaje Basic y Fortran son de menor prioridad del + y
-; en el lenguaje C no existe el div y el mod (resto) se expresa con el operador
% y tiene el mismo nivel del /, *.

OPERADOR SE UTILIZA PARA: EJEMPLO


^ Elevar un número a cualquier potencia 5^3 = 125
+ Sumar 4 + 3 + 8 = 15
- Restar 8 –3 = 5
* Multiplicar 7 * 3 * 2 = 42
/ Dividir 5/3 = 1.6666
Div Cociente de la división 7 div 3 = 2
Mod Residuo de la división 7 mod 3 = 1

1.18 EJERCICIOS

Ejemplo 8 A=5 B=3

A * (B+3) = 3+3 * 5 = 30 2*3+5 = 6 + 5 = 11

8/2 * 3/6 = 4 * 3 /6 = 2

(A*B) + 3 = 15 + 3 = 18 2 + 12 ^ 2 * 3 = 2+ 144* 3 = 434

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

1.19 OPERADORES DE RELACION:

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

NOTA: No se utilizan los siguientes operadores por no encontrarse en el


teclado del computador: ≤ , ≠ , ≥

OPERADOR SIGNIFICADO EJEMPLO TIPO


> Mayor que 56 > 65 falso Comparación
< Menor que 36< 78 verdadero Comparación
= Igual 34 = 26 falso Comparación
>= Mayor o igual que 34 >= 32 verdadero Comparación
<= Menor o igual que 17 <= 37 falso Comparación
<> Diferente a 8 <> 6 verdadero Comparación

Ejemplos 9

Si la variable X = 37

X < 80 el resultado será verdadero


X + 12 < 20 el resultado será falso

Si A = 8 y B = 5

A<B falso
A=B falso
A>B verdadero
B>A falso
C = B > A La variable C toma el valor de falso.

1.20 PROCESO

Es el conjunto de operaciones o cálculos que transforman los datos en


información, siguiendo una serie de instrucciones, escogiendo alternativas,
dando resultados parciales cuando se manejan archivos etc..

Datos Procesados que le sirven al usuario para el análisis o tomar decisiones.

1.21 ETAPAS EN LA SOLUCION DE UN PROBLEMA

Cuando se tiene un problema para solucionar hay que entender claramente

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

qué se pide hacer y cuáles son los datos que se tienen para buscar la solución
y cuáles son los resultados esperados.

1.21.1 Definición del problema. Qué nos pide el usuario? De qué


disponemos para resolverlo? Las respuestas a éstas preguntas son la base
para plantear una posible solución y si esta amerita realmente resolverla por
medio del computador. El primer paso será realizar un algoritmo en seudo-
lenguaje que describa los pasos lógicos del problema

1.21.2 Análisis: Estudiado el problema es preciso analizarlo: Todos los


pasos que a continuación se enuncian tienen por objeto la solución a un
problema cualquiera mediante un buen análisis de este. Cada paso es de
igual importancia al otro para obtener un buen resultado.

 Leer el enunciado del problema hasta que se tenga claro qué se pide
hacer. Aclarar cualquier duda que se tenga de alguna pregunta o
condición.
 Determinar los datos de entrada con que se cuenta para la solución
del problema.
 Definir qué comparaciones y/o cálculos se necesitan realizar durante el
desarrollo del problema y para obtener el resultado final.
 Determinar que resultados se necesitan tanto intermedios como
finales.
 Tener en cuenta toda clase de restricciones y condiciones que tenga
el problema para su solución.

1.21.3 Selección de la mejor alternativa. Analizado el problema,


posiblemente tengamos varias formas de resolverlo; lo importante es
determinar cuál es la mejor alternativa, que produzca los resultados esperados
en el menor tiempo y al menor costo.

1.21.4 Diagramación o Seudo-código. Una vez que sabemos cómo resolver


el problema, pasamos a diseñar gráficamente la lógica de la alternativa
seleccionada. Lo que llamamos un diagrama de flujo donde representamos los
pasos lógicos a cumplir por el computador en la solución del problema y
obtener los resultados esperados.

Resulta muy útil pasar esos pasos lógicos planteados en el diagrama a frases
que indiquen lo mismo; es decir hacer una codificación del problema utilizando
instrucciones en español, como si le estuviéramos hablando al computador.
Esto es lo que llamamos un seudo-código.

1.21.5 Diagrama: Es una representación gráfica para la definición,


análisis " solución de un problema en el cual los símbolos son usados para
representar una operación, flujo de datos y equipo. Existen
fundamentalmente dos técnicas de diagramación: libre y estructurada.
Dentro de la diagramación estructurada se distinguen: la gráfica
rectangular y el seudo-código.

Todo algoritmo se puede representar en tres estructuras básicas:

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Secuencia, Bifurcación o condicional, Repetición.

Secuencia. Indica una operación incondicional.

Titulo del algoritmo


Inicio
Instrucción 1
instrucción 2
Instrucción 3
:
:
Fin

Diagrama de N-S (Nassi-Shmeiderman) Favorecen la programación


estructurada, se trabajan de arriba abajo siguiendo la técnica de Top dawn

Técnica de seudo-código es una imitación de las instrucciones de un lenguaje


de programación en español.

Titulo del algoritmo


Inicio
Instrucción 1
Instrucción 2
Instrucción 3
:
Fin

Bifurcación condicional. Indica que se debe cumplir una condición, consta


de una pregunta y dos alternativas falso o verdadero.

Se da un condicional simple cuando sólo se ejecutan acciones por la


alternativa de verdadero o (SI)

Condición

SI NO

Acciones si se No hacer nada


Cumple la
Condición

Seudo-código Condicional simple

Si condición entonces
Acciones cumple la condición
Fin si

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Se da un condicional compuesto cuando se ejecutan acciones por la


alternativa de verdadero y por la de falso.

Condición

SI NO

Acciones SI se Acciones no
Cumple la NO cumple
Condición la condición

Seudo-código Condicional compuesto

Si condición entonces
Acciones SI cumple la condición
Sino
Acciones NO se cumple la condición
Fin si

Repetición o ciclo. Indica la iteración o repetición de una o varias


instrucciones dependiendo de una condición verdadera.

CICLO MIENTRAS

Mientras Condición

Acciones Repite tantas veces


mientras no se cumpla la
condición

En seudo-código seria :

Haga mientras no se cumpla la condición


Acciones
Fin ciclo

1.21.6 Prueba de escritorio. Para cerciorarse de que el diagrama y/o seudo-


código está bien y que el programa que codifiquemos en el lenguaje de
programación funcione correctamente debemos someterlo a una prueba de
escritorio.

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Esta prueba consiste en que le damos diferentes datos de entrada al programa


y le seguimos la secuencia indicada en el diagrama o seudo-código , hasta
obtener los resultados. Al analizar los resultados obtenidos se podrá ver si el
diagrama o seudo-código está correcto o hay que realizar correcciones o
ajustes.

1.21.7 Codificación. Una vez hayamos verificado el diagrama mediante las


pruebas de escritorio, codificamos el programa en el lenguaje de computador
seleccionado. Esto es: cada paso del diagrama se convierte en una instrucción
con la sintaxis propia del lenguaje seleccionado para que el computador la
reconozca.

1.21.8 Compilación. Utilizamos ahora el programa de computador llamado


compilador o traductor, el cual analiza todo el programa codificado y detecta los
errores de sintaxis ocasionados por los errores en la codificación. Ningún
compilador detecta los errores de lógica.

1.21.9 Prueba de computador. Una vez el programa termine de ser


compilado y no existan errores de sintaxis, le ordenamos al computador que lo
ejecute; para ello le suministramos algunos datos de prueba tal como se realizo
en la prueba de escritorio.

1.21.10 Documentación externa. Una vez esté el programa listo para su


ejecución, es conveniente documentarlo, siguiendo las normas establecidas
por la empresa. Una buena documentación incluye siempre.

 Enunciado del problema.


 Diagrama o seudo-código
 Descripción de la solución
 Relación de variables o campos utilizados en el programa, cada uno con
su respectiva función.
 Listado de la última compilación
 Resultados de la prueba de ejecución

Si observas claramente estos pasos tienen una secuencia lógica para la


solución de un problema, no tiene ambigüedades y entregan un resultado. Con
ello podemos diseñar un seudo-código que seria:

INICIO
1. Definición del problema
2. Análisis del problema
3. Selección de la mejor alternativa
4. Diagrama o seudo-código
5. Prueba de escritorio
6. Codificación en el lenguaje deseado.
7. Compilación
8. Si hay errores vaya al paso 6
9. Pruebas
10. Si hay errores vaya al paso 4
11. Documentación externa

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

FIN

1.22 ELEMENTOS BÁSICOS DE UN PROGRAMA

Hay que separar lo que es el diseño del algoritmo y su implementación en un


lenguaje de programación especifico. Por eso es importante la diferenciación
de los conceptos de programación y el medio en que se implementan en un
lenguaje especifico. Todos los lenguajes de programación al igual que
cualquier lenguaje tienen sus elementos básicos y las reglas para utilizarlos.
Estas reglas son la sintaxis propias de cada lenguaje. Solamente las
instrucciones que estén correctamente escritas serán procesadas por el
computador.

Los elementos básicos de un algoritmo o programa son:

 Palabras reservadas
 identificadores
 Caracteres especiales
 Constantes y variables
 Expresiones e instrucciones

Además existen otros elementos que forman parte de los programas cuya
comprensión será vital `para el correcto diseño de los algoritmos

 Bucles o ciclos
 Contadores y acumuladores
 Interruptores
 Estructuras:
o Secuenciales
o Selectivas
o Repetitivas.

Todo programa está compuesto por una entrada de datos, un proceso de estos
y una(s) respuesta(s) que constituye la salida.

1.23 ASIGNACIÓN DE INFORMACIÓN

Acción de sustitución de la información contenida en una variable de memoria o


un campo de un archivo . Se puede simbolizar por los signos = ó  y su
función es asignar el valor que está a la derecha del símbolo igual ó la flecha a
la variable que esté a la izquierda de la misma.

Ejemplos:

Variable  Variable

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

Pago  total
área = resultado
nota_final = promedio

Variable  Constante

Retención = 125000
IVA  16%
Resultado = Aprobó
Descuento = 0.08

Variable  Expresión

Salario_neto = salario – deducciones


Promedio  ( Nota1 + nota2 +nota3) /3
Nota-final = suma/5
Valoreps = salariobruto * 0.08

NOTA: Observe que siempre en la expresión el miembro de la izquierda es una


variable. La operación de asignar es destructiva ya que el valor que tuviere la
variable antes de la asignación se pierde, para tomar el nuevo valor.

Ejemplo 10:

A 2
A  5 + 7 El valor de A será 12
N=4
N = 3 + N el valor de N será 7

Asignación aritmética: las expresiones de asignación son aritméticas.

1.1.1.1 Ejemplo 11:

Suma  14 + 16 + 7 El valor que toma suma será 37


Radio  1.5
Pi  3.1416
Areacirculo  Radio * Pi / 2 El valor de la variable Areacirculo será el
resultado de la operación indicada

Asignación lógica. La expresión que se evalúa es de tipo lógico.

1.1.1.2 Ejemplo 12 : M  8 < 4 el valor de M será falso


P  45 < 25 el valor de P será verdadero.

Asignación de cadena de caracteres. La expresión que se evalúa es de

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

tipo cadena de caracteres.

Ejemplo 13: Fecha = “ 11 de noviembre de 1809” El valor de Fecha será: 11


de noviembre de 1809

Nota: a una variable no se le puede asignar un valor de tipo diferente al suyo.


Hay un error cuando a una variable de tipo numérico se le asigna una cadena
de caracteres, y a una variable de tipo carácter se le asigna un valor numérico.

1.23 INICIALIZAR CAMPOS O VARIABLES

Consiste en dar un primer valor a una variable de memoria. Al inicio de todo


programa se deben definir los tipos de variables que se utilizaran, con la
siguiente notación

Variable  “ “ si la variable es de tipo carácter


Variable = 0 si la variable es de tipo numérico.

Nota: las variables donde se guardan los resultados de cálculos u operaciones


matemáticas son llamadas variables de trabajo, se deben siempre dar un valor
inicial de 0.

1.24 1. 24 ACTIVIDADES TRABAJO INDEPENDIENTE

Consulte acerca de los siguientes términos, interiorice su significado y averigüe como


se calculan :

 Promedio
 Interés
 Porcentaje
 Subsidio
 Deducción
 Impuesto
 Comisión
 Recargo

Comienza a trabajar en tu portafolio guarda la consulta en el y los talleres que vas


realizando de cada unidad.

 Elabore el taller de lógica 1, que hace parte de tu trabajo independiente.


 Identifique Que es ¿algoritmo?; Conceptos sobre Seudo código, diagrama de
flujo.
 Diferencie conceptos sobre: Expresiones, operadores, identificadores
 Elabore el taller 2 de manejo de los operadores, es tu trabajo independiente

1.25 TALLER DE LOGICA 1

1 Soy cuatro veces mayor que mi hija. Dentro de 20 años seré dos veces
mayor que ella. ¿ Cuantos años tenemos ahora?

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

2 Completa la cuadricula con los números que faltan del 1 al 16 para


formar un cuadrado mágico, en el que cada línea horizontal, vertical y diagonal
de esquina a esquina sume 34.
15

5 10

Dos hombres corren en una carrera de 100 Mts y el hombre A gana por 10
metros. Entonces decide hacer las cosas mas justas en una segunda
carrera, dando 10 metros de ventaja al hombre B. Realizan la carrera a la
misma velocidad que la anterior. ¿ Cual seria el resultado?
Que vendría después en esta secuencia?
155, 210, 225, 240 ….
En un saco de naranjas, 4 de 52 están malas. ¿ Qué probabilidades hay de
sacar dos malas?
¿Qué numero esta en discordancia con los demás
491322
891726
191029
831114
751217
391221
8. ¿Qué número seguiría esta secuencia?
2,13,89,610,4181,28657,…?
9. ¿Qué número sería el próximo en esta serie?
4,8,15,30,37,74…..?
10. ¿Qué número sería el próximo en esta serie?
147,144,12,9,3…..?
11. ¿Cual es el próximo numero?
74169,183,74,65,61,37,58,89,145…..?
12. A partir de la información que te damos, añade los números que faltan.

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

2713 8

1936

7413 84

13. ¿Qué número completa esta secuencia? 763592,468,32, …?


14 Un reloj da las seis en 5 segundos. ¿ En cuanto tiempo da las doce?
15. Qué tienen estos números en común?
8228
92126
6889
210012
15269251
16 ¿Qué número continuaría en la serie? 2736, 9108,17127,89298,?
17 Utilizando los números del 0 al 9 inclusive, una vez cada uno, y todos los
signos de sumar que te damos, completa la suma
+ + + + + + + = 100

18. ¿Puede un hombre que vive en México ser enterrado en Estados Unidos?.
19. Es legal que un hombre se case con la hermana de su viuda?.
20 Divide 30 entre 1/2 y súmale 10. ¿Cuál es el resultado?.
21 Si hay 3 manzanas y tomas 2, ¿cuántas tienes?.
22 Un doctor te da tres píldoras y te dice que tomes una cada media hora.
¿Cuánto te durarán las píldoras?.
23 Un granjero tiene 17 borregos, y mueren todos menos 9. ¿Cuántos
borregos le quedan?
24 ¿Cuántos animales de cada sexo llevó Moisés en el arca?
25 ¿Cuántas estampillas de dos centavos hay en una docena?
26 Una araña teje su tela en el marco de una ventana.

Cada día duplica la superficie hecha hasta entonces. Es decir, que si al acabar
un día la superficie que tiene la tela es S, durante el día siguiente la araña teje

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

una superficie asimismo igual a S.


De esta forma tarda 30 días en cubrir el hueco de la ventana.
Si en vez de una araña, fueran dos, ¿cuánto tiempo tardarán en cubrir
dicho hueco?

27 Un árbol dobla su altura cada año hasta que alcanza su altura máxima al
cabo de 10 años.
¿Cuántos años tardará el árbol en alcanzar la mitad de su altura?.

28 Un experto granjero sabe que 30 gallinas empollan en 20 días 40 huevos


en 4 gallineros.
¿Cuánto tiempo necesitará para hacer que 60 gallinas empollen los 40 huevos
en 5 gallineros?

29 La botella de vino,si nos dicen que una botella de vino vale 10 euros y que
el vino que contiene cuesta 9 euros más que el envase, cuanto cuesta el vino y
el envase por separado?.

30 Llenar la piscina, para llenar de agua una piscina hay tres surtidores. El
primer surtidor tarda 30 horas en llenarla, el segundo tarda 40 horas y el
tercero tarda cinco días. Si los tres surtidores se conectan juntos, Cuanto
tiempo tardará la piscina en llenarse?

31 Resuelva el siguiente criptograma. Cada interrogante representa un


símbolo desconocido:

MIL +
____MIL____
????????
32 En cierto momento del día, un poste de teléfono de 7,5 metros proyecta
una sombra de 3 metros. ¿Qué altura debería tener un árbol para proyectar
una sombra de 7.5 metros, en ese mismo momento del día?

33 Dos amigos. Álex y David, salen de sus casas corriendo con intención de

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

encontrarse. Sus relojes marcan las doce del mediodía. Álex corre el doble que
David, Cuando se encuentran, el reloj de Álex marca las 12,30 y el de David,
que se adelanta, señala un minuto más. Al día siguiente, repiten la experiencia,
David pone en hora su reloj. Álex retrasa su salida diez minutos y corre a la
mitad de velocidad que su amigo, ¿Qué hora marcará el reloj de David cuando
se junten ?

34 Tres estudiantes, Antonio, Berta y Carlos, participan en una serie de


exámenes. En cada prueba, el que queda primero recibe x puntos; el segundo
recibe y puntos y, el tercero z puntos. x, y, z son números enteros mayores que
cero, de tal manera que x > y > z. No hay empates. En total, Antonio acumuló
20 puntos, Berta 10 puntos y Carlos 9 puntos. Antonio quedó el segundo en el
examen de Álgebra. ¿Quién quedó segundo en el examen de geometría?

1.26 Taller 2 Expresiones y operadores

Convertir las siguientes formula a expresiones algorítmicas

2
- a2)

Hexágono A = 2. R2 . √3
2
.h

Trapezoide A= 1 ( a.h1 + b.h2)

volumen cilindro hueco h R2- r2 )


2

Qué valor toma X en las siguientes expresiones?

Si A = 5 B = 25 C = 10

X= A+B*C

X= A–B–C

X =B/A*C

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

X = A + B mod C

X = A^3 / 25 * C

X = A + A * B/C

Evaluar las siguientes expresiones teniendo en cuenta prioridad de operadores

3+ 6 * 14

12 + 3 * 7 + 5 * 4

7 * 8 mod 3 * 7 + 9

7 *(10 – 5 ) - 34 mod 3 * 5 + 7

12 * 4/2 + (15-3) * 5 + 7

-16+3*6+14*8

4+7*10+15/5-18

18div 6 * 9 + 16 – 6

25 / 5 * 12 + 4^2 – 16

(7^2 + 12) * (48 – (12 * 3)) * 2

3 + ((8 – 4 ) – 2 + 16/4 ) * 3^2

A = 4 B = 3 ENTONCES :

A<B

(A – 2 ) < (B + 5)

A*(12-5) > B * 3

A + B > B^2

X = 3 Y = 3 ENTONCES

X> Y
( X < 6.5)
X>=8
Y<=X+2

Decir cual es el valor final de A,B,C en las siguientes expresiones:

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

1) A  3 2) A  7
B 4 B  A+2
C  A +B /2 C  A*B+5
B B+C A  B^2 + 8/3
C C * A B  17
A C-B A  (A – 17) * C – 8

Decir cual es el valor final de A,B,C en las siguientes expresiones:

1) A  3 2) A  7
B 4 B  A+2
C A+B C  A*B+18
B  B + C +A A  B^2 + 13/3
C C * A + 3 B  19
A  C *5 - B A  (A – 7) * (C – 8)

Cuales son los valores de P; Q; R después de las siguientes operaciones

1) P  3
Q 6
R  P +Q /3
P P+R+2
Q Q * P
R P-Q

2) P  7
Q  P+2
R  P*Q+7
P  Q^2 + 8/3
Q  17
R  (Q – 7) * P– 8

Cuales son los valores de X, Y y Z después de las siguientes operaciones



1 Z7
XZ+5
Y  5* X +Z
ZY–Z
X  (Y div 5 ) + 8
X  20
YX+Z+Y

2)Z7
X  Z + (5 div 4) + 3
Y  Y  5* X +Z
ZY–Z
X  17 + (15 mod4 *2)
X  2 + 20/6
YX+Z+Y

Cual es el valor de las siguientes expresiones, utilice las escalas de prioridad


de los operadores, así para a Pascal. y para b Basic

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad
LOGICA DE PROGRAMACIÓN 1 6 de agosto de 2010

a) 16+3^3-15mod4*(6+14)/8 b) 46 – 4^ 2 + 7*10div3+15/5-18/3

Cual es el valor de las siguientes expresiones, utilice las escalas de prioridad


de los operadores para a Basic y para b Pascal

a) 16+3^3-15mod4*(6+14)/8 b) 54+7*10div3+15/5-(18/3
+5)

Cual es el valor de las siguientes expresiones, utilice las escalas de prioridad


de los operadores. Resolver a por Basic y b por Pascal

a ) 46 – 4^ 2 + 7*10div3+15/5-18/3 b) 25 - 16 mod 5 -3^2 *6 /4 +14/2 *


8 +9

Eugenia Victoria Mejía de Restrepo


Especialista en pedagogía de la virtualidad

Das könnte Ihnen auch gefallen