Está en la página 1de 12

Analista de Sistemas

de Computación

Materia

Programación Lógica
Analista de Sistemas de Computación
Programación Lógica

Tema 2

2
CONCEPTO DE ALGORITMO
La resolución de un problema necesita del diseño de un algoritmo que resuelva el pro-
blema propuesto.

Definimos un algoritmo como una secuencia ordenada de pasos, de manera tal que al
seguirlos se obtenga el resultado deseado. Un algoritmo posee tres características:

secuencia ordenada de pasos: debe ser preciso e indicar el orden de realización


de cada paso

general pero no ambiguo: si el algoritmo se sigue dos veces, el resultado debe


ser el mismo cada vez

finito en tiempo: debe tener un número finito de pasos, en algún momento debe
finalizar

Los algoritmos son independientes del lenguaje de programación. Para llevar esto a lo
diario, por ejemplo, una receta de una torta puede estar escrita en inglés, castellano o
portugués, pero cualquiera sea el idioma, los pasos para realizarla siempre serán los
mismos.

Los algoritmos suelen ser más importantes que los lenguajes de programación o las
computadoras. Los lenguajes de programación son solo un medio para expresar el algo-
ritmo y las computadoras un procesador para ejecutarlo. Ambos son un medio para con-
seguir un fin.

En todo algoritmo se pueden considerar tres divisiones: entrada, proceso y salida. En el


ejemplo de la receta de una torta será:

Entrada: ingredientes y elementos empleados

Proceso: elaboración de la receta de la torta en la cocina

Salida: terminación de la receta de la torta

3
EJEMPLOS DE ALGORITMOS
1) Algoritmo que permita poner en movimiento un auto. Los pasos podrían ser:

a) Inicio del algoritmo


b) Pisar el embrague con el pie izquierdo
c) Poner en punto muerto
d) Poner la llave en contacto
e) Pisar el embrague
f) Poner primera
g) Sacar el freno de mano
h) Levantar el pie izquierdo del embrague mientras se pisa el acelerador con el pie de-
recho
i) Fin del algoritmo

2) Un cliente realiza un pedido. El vendedor verifica la base de datos para evaluar si el


cliente tiene crédito. En caso afirmativo se acepta el pedido, en caso contrario se re-
chazará. Para esto, los pasos posibles son:

a) Inicio del algoritmo


b) Leer el pedido
c) Verificar la base de datos
d) Si el cliente tiene crédito, aceptar el pedido; sino rechazarlo
e) Fin del algoritmo

3) Se desea ingresar nuevos libros a una biblioteca. ¿Cuáles serían los pasos a realizar
para ello?:

a) Inicio del algoritmo


b) Abrir la biblioteca
c) Confeccionar la ficha del nuevo libro
d) Sellar el nuevo libro
e) Colocarlo en el estante correspondiente
f) Verificar si hay más libros para ingresar

4
g) Si hay más libros, se repetirá desde el paso 3) hasta el 7) inclusive; si no hay más
libros que ingresar, cerrar la biblioteca
h) Fin del algoritmo

En todos los casos, primero se debe desarmar el problema en pasos sencillos, concre-
tos y que los entienda cualquier persona, luego se debe indicar lo más claro posible el
orden en que deben ejecutarse dichos pasos.

De estos ejemplos podemos ver concretamente las características y partes fundamenta-


les que debe tener todo algoritmo:

Un comienzo o inicio
Bien definido, es decir que si se sigue varias veces el algoritmo con igual conjunto de
datos se debe obtener el mismo resultado.
Tener en cuenta todas las situaciones que pueden plantearse
De fácil lectura e interpretación
Ser finito
Diseñado de manera independiente del lenguaje de programación

DEFINICION DE DATO. TIPOS


Un dato es un caracter o conjunto de caracteres que contiene información con la que
opera la computadora. Existen distintos tipos de datos a saber:

Datos numéricos: su contenido está compuesto exclusivamente por números, el pun-


to decimal y el signo menos (-).
Datos alfabéticos: su contenido está compuesto exclusivamente por letras y el carac-
ter en blanco.
Datos alfanuméricos: su contenido está compuesto por una mezcla de los dos ante-
riores.

5
VARIABLES Y CONSTANTES
Una variable es un dato cuyo valor puede ser modificado durante la ejecución de un pro-
ceso. Cuando nos referimos a una variable, lo que hacemos es hacer referencia a una
posición de la memoria principal donde se va a alojar un valor. Si este valor se modifica
en algún momento, el nuevo valor sustituirá al que existía anteriormente.

Una constante es un dato cuyo valor no se modifica durante la ejecución de un proceso.

Tanto las variables como las constantes se componen de:

Un nombre, elegido por el programador y que por lo general indica el contenido de la


variable.
Un tipo, que define qué clase de dato va a contener la variable.
Un contenido, que es el valor que se va a almacenar.

Ejemplos de variables y constantes


SNOTA para representar la suma de notas

PROM para representar promedios Ejemplos de Variables

NOMBRE para representar nombres de personas

PI = 3,141592

E= 2.718228 Ejemplos de constantes

NOMBRE=”Juan Pérez”

Este último ejemplo es una constante tipo cadena. Se denomina cadena a la secuencia
de caracteres y nótese que esta entre “”.

6
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 que pueden ser constantes o variables, y operado-
res que son aquellos símbolos que permiten concatenar cada uno de los argumentos que
intervienen en una operación. Pueden ser:

Operadores Aritméticos: junto con las variables numéricas formas las expresiones
aritméticas. Ellos son:

SIMBOLO SIGNIFICADO EJEMPLO

+ Suma 4+1=5
- Resta 5–2=3
* Multiplicación 5 * 2= 10
/ División 2 / 3 = 0.666
^ Potenciación 2^3=8
- Negativos -(1.5) = - 1.5
\ División entera 22 \ 5 = 4
MOD Resto de la división MOD(22,5) = 2

Hay que tener en cuenta que no todos los operadores aritméticos existen en todos
los lenguajes de programación, tal es el caso por ejemplo del MOD.

Ejemplos de representación
5x7 se representa 5 * 7

se representa 6 / 3

3 se representa 3 ^ 7

7
Operadores Relacionales: permiten obtener, en una comparación, un resultado ver-
dadero o falso. Ellos son:

SIMBOLO SIGNIFICADO EJEMPLO RESULTADO

> Mayor 22 > 5 Verdadero

< Menor 22 < 5 Falso

>= Mayor o igual que 22 >= 22 Verdadero

<= Menor o igual que 5 <= 4 Falso

= Igual 13 = 13 Verdadero

<> Distinto 13 <> 13 Falso

Operadores Lógicos: su funcionamiento se ve reflejado en las tablas de verdad.

SIMBOLO SIGNIFICADO EJEMPLO

La expresión es cierta cuando am-


^ AND (conjunción) bos argumentos son ciertos al Es de día y hay sol
mismo tiempo
La expresión es cierta cuando al
Estudiamos o vamos al
v OR (disyunción) menos uno de sus argumentos es
cine
cierto
Afecta a la expresión cambiando su
! NOT (negación) No es de día
estado lógico

Operadores concatenación: es el único operador que permite operar entre si dos datos
de tipo alfanumérico, el resultado es una cadena de texto que contiene las dos cadenas
unidas una continuación de la otra

Casi todas las operaciones requieren que existan dos operandos, uno a derecha y otro a
izquierda, por eso es que a la mayoría se los clasifca cómo de tipo binario. Con las
siguientes excepciones :
El operador NOT ( ~ ) solo admite un operando, por lo tanto se lo clasifca cómo operador
monario.
El operador menos ( - ) se puede utilizar para realizar una sustracción, con lo cual es del
tipo binario, pero también se lo puede utilizar como operador de cambio de signo, actuando
en este caso como monario.

8
Prioridad de los operadores

Una expresión cuando es muy compleja puede analizarse dividiéndola en varias


subexpresiones más simples, ya que en realidad la computadora va a operar con pares
de datos o a veces con datos individuales. La lógica indicaría que la computadora irá
ejecutando las subexpresiones de izquierda a derecha, pero no es así, ya que algunas
operaciones tiene mayor prioridad que otras, se establecen entonces reglas de
precedencia que indican que operador va a tener mayor prioridad de resolución sobre
otro, y si ambos tuvieran la misma prioridad, se resuelven de izquierda a derecha.

Veamos estos cuatro ejemplos

9
INSTRUCCIONES
Las instrucciones son cada una de las acciones que intervienen en la resolución de un
problema. Se pueden dividir en:

Instrucciones de Asignación: se utilizan para darle un valor inicial a las variables


que intervienen en un proceso. El valor a asignar puede ser una constante, el conteni-
do de otra variable o el resultado de un cálculo, como así también expresiones lógicas
y de caracter. La representación de la asignación se realiza a través del signo igual
(=). La acción de asignar “destruye” cualquier valor que tuviera una variable antes de
la asignación y lo reemplaza por el nuevo valor. Por ejemplo:

VALOR INICIAL SIGNIFICADO

A=0 Asigna a la variable A el valor 0

PI = 3.1415 Asigna a la variable PI el valor 3.1415

B=B+2 Asigna a la variable B el resultado de la suma

NOM = “Juan Pérez” Asigna a la variable NOM el valor “Juan Pérez”

CONT = “ ” Asigna a la variable CONT un espacio en blanco

Instrucciones de Entrada: son aquellas que permiten leer distintos valores y asignar-
los a determinadas variables. Esta operación implica introducir datos en la memoria
principal de la computadora a través de cualquier periférico de entrada (teclado, tarje-
tas perforadas, unidades de disco, etc.)

Instrucciones de Salida: son aquellas que permiten extraer datos desde la memoria
principal de la computadora a través de cualquier periférico de salida (impresora, pan-
talla, unidades de disco, etc.)

No se puede asignar valores de tipo caracter a una variable de tipo numérica o un valor
numérico a una variable de tipo carácter. Se presentará un error si se trata de hacerlo.

Instrucciones Condicionales: permiten realizar acciones alternativas, es decir la eje-

10
cución de una línea o grupo de líneas del programa que cumplen o no con una o va-
rias condiciones.

Instrucciones Repetitivas: permiten realizar acciones un número determinado de ve-


ces, dependiendo del cumplimiento de una condición.

ESTRUCTURAS
Se pueden considerar tres divisiones a saber:

1) Inicial, donde:
a) Se inicializan variables que se utilizarán
b) Se abren archivos
c) Se ingresan valores que deben ir fuera del ciclo

2) Ciclo o Repetitiva: es aquella parte del programa que se repetirá un número determi-
nado de veces o hasta que se cumpla una condición.

3) Final, donde:
a) Se muestran resultados finales obtenidos
b) Se cierran archivos.

11
ACTIVIDADES
1. Realice un algoritmo para:
a) Preparar un jugo de naranja
b) Para comprar una docena de medialunas en la panadería de la esquina de casa

2. Escribir utilizando los operadores aritméticos, las siguientes expresiones:


a)

b) +

c)

3. Indicar el valor de x después de realizar las operaciones aritméticas:


a) x = (2 + 3)* 6
b) x = (12 + 6) / 2* 3

4. Si a=6, b=2 y c=3, indicar el resultado final de las siguientes expresiones:


a) a – b + c
b) c ^ b + c * b
c) a * b / c
d) (a * b) / 3 ^ 2

5. Obtener el resultado de las siguientes expresiones:


a) ((4-2)*(5+1)/2)^2-(4+3)
b) 8+7*3+4*6
c) 3+2*(18-4^2)

12

También podría gustarte