Está en la página 1de 22

2013

LOGICA DE PROGRAMACION
MODULO 2- ELEMENTOS Y HERRAMIENTAS BASICAS DE
PROGRAMACION
TEMA 2- ELEMENTOS BASICOS EN LA PROGRAMACION

PROFESORA DAYALIS VARGAS


LICENCIATURA EN COMERCIO ELECTRONICO

Bienvenid@s
El objetivo principal del tema de Algoritmo es el desarrollo y planteamiento de problemas a travs de la metodologa de la programacin, que involucra procedimientos algortmicos y sus correspondientes diagramas de flujo para expresar diversas soluciones alternativas a problemas divergentes, utilizando diferentes mtodos para el desarrollo del pensamiento lgico.

Lgica de Programacin

INDICE

Concepto de algoritmo .................................................................................................... 4 Fases de resolucin del problema .................................................................................. 5 Datos ............................................................................................................................... 6 Constantes .................................................................................................................. 7 Variables...................................................................................................................... 8 Expresiones ................................................................................................................. 9 Tipos de operadores y su orden............................................................................... 9 Asignaciones.. Contadores. Acumuladores. Funciones .................................................................... Error! Bookmark not defined. Entrada. Salida Reglas para la construccin de identificadores ......................................................... 19

Lgica de Programacin

CONCEPTO DE ALGORITMO

Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema. La palabra algoritmo deriva del nombre del matemtico rabe Al-Khwarizmi, que vivi entre los siglos VII y VIII. En la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas como por ejemplo para poner una lavadora (conjunto de instrucciones pegadas en la tapa de la mquina), para tocar msica (partituras), para construir un aeroplano a escala (expresados en las instrucciones), para hacer trucos de magia (pasos para hacer el truco) o, incluso, para hacer recetas de cocina (pasos de la receta). Otros ejemplos, como el algoritmo de la divisin para calcular el cociente de dos nmeros o el algoritmo de Euclides para calcular el mximo comn divisor de dos enteros positivos pertenecen al mbito de las matemticas. De un modo ms formal, un algoritmo es una secuencia finita de instrucciones realizables, no ambiguas, cuya ejecucin conduce a una resolucin de un problema. El algoritmo nos da la solucin genrica a un problema y lo podremos emplear todas las veces que se nos presente ese mismo problema: por ejemplo el algoritmo de la divisin es genrico e independiente de los nmeros que tengamos que dividir.

EJEMPLOS:
- Pasos a seguir para calcular los sueldos de los empleados de una empresa. - Instrucciones para calcular los impuestos a pagar de los vecinos de un municipio. - Pasos para calcular el promedio final de una asignatura. - Obtener el mximo comn divisor de dos nmeros.

Lgica de Programacin

Los algoritmos se pueden expresar por la siguientes herramientas de diseo: - Formulas - Diagramas de flujos - Pseudocdigos - N-S (Nassi-Schneiderman)

FASES DE RESOLUCIN DEL PROBLEMA


En general, se escriben algoritmos para resolver problemas que no son tan fciles de resolver a primera vista, y de los que necesitamos especificar el conjunto de acciones que se llevarn a cabo para su resolucin. Adems, como lo que interesa es resolver problemas utilizando la computadora, los algoritmos tendrn como finalidad ser traducidos en programas, por lo que es conveniente mencionar el proceso general de resolucin de problemas, desde que se dispone de un algoritmo, hasta que la computadora lo ejecuta.

El proceso es el siguiente: Definicin

anlisis

del

Problema:

definicin

delimitacin

(macroalgoritmo).Considerar los datos de entrada, el proceso que debe realizar el ordenador y los datos de salida. Diseo del Algoritmo: se utiliza diferentes herramientas de representacin pseudocdigo, escritura natural de algoritmo , diagramas de flujo etc. Prueba de escritorio: seguimiento manual de los pasos descritos en el algoritmo.Se realiza con valores bajos y tiene como finalidad detectar errores.

Lgica de Programacin

Codificacin (Programa Lenguaje alto nivel).Seleccin de un lenguaje de programacin y digitacin del pseudocdigo haciendo uso de la sintaxis y escritura gramatical del lenguaje seleccionado. Compilacin o Interpretacin del programa: El software elegido convierte las instrucciones escritas en el lenguaje comprendidas por el computador. Ejecucin del Programa: El programa es ejecutado por el ordenador para llegar a los resultados esperados. Prueba y Depuracin: Operacin de detectar, localizar y eliminar errores del mal funcionamiento del programa. Evaluacin de los resultados: Obtenidos lo resultados se los evala para verificar si son correctos. Un programa puede arrojar resultados incorrectos aun cuando su ejecucin no muestra errores. Datos Los datos pueden ser de los siguientes tipos: Entero: Nmeros enteros tanto negativos como positivos. Ejemplo: 23, -22, 128. Real: Nmeros comprendidos dentro de los decimales tanto positivos como negativos. Ejemplo: 178.5, -987.456 Lgico: Valores de Verdad o Falso. Carcter: Una sola letra o smbolo que se encuentra en el teclado del computador. Ejemplo: l, h, e. Cadena: Conjunto de caracteres. cedula, nombre.

Constantes Tipo de dato que contiene un valor invariable conocido por su identificador. Caractersticas Es necesario inicializar las constantes al principio del algoritmo, esto determina el tipo de la constante. Ejemplos

Lgica de Programacin

PI=3.14 MAXIMO=500 RESPUESTA=S

Autoevaluacin 1

1. Elabore a manera de esquema la clasificacin de los datos, y establezca un ejemplo para cada uno.

AUTOEVALUACION

Lgica de Programacin

2. Indique a que tipo de dato pertenece cada uno de los siguientes tems:

a) 3,14159 = b) 714 = c) 128 = d) Claudio Celoso =

e) ~$9#2s = f) 2 = g) 356 =

h) 13 > A = i) B = j) T = F =

3. Determine el tipo de dato de las siguientes constantes

Constante
6,5 7 Hola, somos 7 amigos # verdadero

Tipo de Dato

Variables Una variable es un dato que posee un valor conocido por su nombre (identificador). Posee las siguientes caractersticas: Toda variable tiene un tipo asociado Su valor puede ser modificado pero en un instante dado slo contiene un valor determinado Es necesario declarar las variables al principio del algoritmo Elegir el nombre mediante un identificador

Lgica de Programacin

Determinar el tipo de datos que va a contener Ejemplos Sueldo: real Edad: entero Letra_nif: carcter

Expresiones Es una combinacin de operadores y operandos, los 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 Aritmticos Relacionales Lgicos Ejemplo de expresin numrica: suma = suma + 1 Ejemplo de expresin booleana: a>b Tipos de operadores y su orden

+, -, *, /, % Mod Modulo(residuos de la divisin entera)

Operadores aritmticos (Constantes o Variables)

Lgica de Programacin

Ejemplo:7 / 2 = 3 12 % 7 = 5 4 + 2 * 5 = 14

Pueden ser utilizados con tipos de datos enteros o reales.

Prioridad *, /, mod +, -

= Igual, <> Diferente, > Mayor , < Menor, >= Mayor o igual que , <= Menor o igual que

Operadores Relacionales (verdadero o Falso) Se utilizan para establecer

Ejemplos Si a = 9, b = 20, c = 30 a + b > c Falso a * b <> c Verdadero Ejemplos no lgicos a<b<c T < 30 (no lgico porque esta utilizando diferentes operandos.

una relacin entre dos valores Prioridad Tienen el mismo nivel de prioridad

And Y Or O Not Negacin

Operadores Lgicos Estos operadores se utilizan para establecer relaciones

entre valores lgicos, pueden ser el resultado de una

expresin relacional

10

Lgica de Programacin

AUTOEVALUACION 2

1. Desarrolle cinco encabezados de declaracin donde


utilice constantes y variables: Constantes

Variables

11

Lgica de Programacin

2. Escriba las siguientes expresiones aritmticas en forma de expresiones algortmicas:


Expresin Aritmtica Expresin Algortmica

((6*3)/2) 2

(7 * 8 * (16 mod 3) / 5 ) * 3 - 28

Asignaciones Es el proceso mediante el cual le damos o asignamos un valor determinado a una variable en el desarrollo de un algoritmo o programa. La forma de usarla depende de la sintaxis que maneje el lenguaje de programacin con el cual se este trabajando. Para nuestro caso la asignacin se da as:

12

Lgica de Programacin

El operador de asignacin puede cambiar dependiendo del lenguaje de programacin. Suele usarse =, pero tambin:=., y representa la asignacin. Ejemplo: Salario bruto horas * precio_hora Clasificacin de Asignacin Por su Contenido: - Asignacin Aritmtica - Asignacin Alfanumrica - Asignacin Lgica Por su Uso: - Asignacin de Trabajo - Contadores - Acumuladores

Por su Contenido
Asignacin aritmtica: La expresin que se evala es de tipo aritmtico y es aquella en la cual se almacenan valores enteros o reales.

Ejemplos: Suma = 3+14+8 Iva = 0.13 Promedio = (N1 + N2 + N3) / 3

Asignacin Alfanumrica:

13

Lgica de Programacin

La expresin que se evala es de tipo carcter y esta formada por caracteres alfanumricos (letras, numricos y caracteres especiales). Ejemplo: X = 12 de Octubre de 1942"

Asignacin lgica La expresin que se evala es de tipo lgico y solo puede tomar uno de dos valores falso o verdadero. Estos representan el resultado de una comparacin entre otros datos. Ejemplos: M = 8 > 5 El valor lgico de M es verdadero. Y = 3 > 2 AND 10 <= 5 El valor lgico de Y es Falso

Por su Uso
- Contadores Un contador es una variable (casi siempre de tipo entero) cuyo valor se incrementa o decrementa en cada repeticin de un bucle. Es habitual llamar a esta variable cont (de contador) o i (de ndice).

El contador suele usarse de este modo: Primero se inicializa antes de que comience el bucle. Es decir, se le da un valor inicial. Por ejemplo: cont = 5

Segundo, se modifica dentro del cuerpo del bucle. Lo ms habitual es que se incremente su valor en una unidad. Por ejemplo: cont = cont + 1 Esto quiere decir que el valor de la variable cont se incrementa en una unidad y es asignado de nuevo a la variable contador. Es decir, si cont vala 5 antes de esta instruccin, cont valdr 6 despus. Otra forma tpica del contador es: cont = cont 1

14

Lgica de Programacin

- Acumuladores Es una variable que suma sobre s misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable.

Las variables acumuladoras tienen la misin de almacenar resultados sucesivos, es decir, de acumular resultados, de ah su nombre. Las variables acumuladores tambin debe ser inicializadas. Si llamamos acum a un acumulador, escribiremos antes de iniciar el bucle algo como esto: acum = 0 Por supuesto, el valor inicial puede cambiar, dependiendo de la naturaleza del problema. Ms tarde, en el cuerpo del bucle, la forma en la que nos la solemos encontrar es: acum = acum + N

15

Lgica de Programacin

AUTOEVALUACION 3

1. Qu valor toman las variables A y B despus de la ejecucin de las siguientes asignaciones?


Asignacin
1) A 5; 2) B A + 6; 3) A A + 5; 4) B A 5; 5) A B; 6) B A;

Valor de A y B

2. Se tienen tres variables A, B y C. Escribir las instrucciones necesarias para que tomen valores del modo siguiente: 1) B tome el valor de A. = 2) C tome el valor de B. = 3) A tome el valor de C; = 4) C tome el valor de A ms B. = 16

Lgica de Programacin

3. Que se obtiene siguientes? A B A B

en las variables A, B y C, despus de las instrucciones 5= A+6= A+1= B-5=

var1 = 3 + 4 * 2 var2 = 0.65 / 0.2 var3 = var1 / var2

Entrada
La constituyen todas aquellas instrucciones que toman datos de un dispositivo externo, almacenndolos en la memoria central para que puedan ser procesados. Informacin dada al algoritmo. La instruccin es Leer( ). Leer (lista de variables de entrada)

17

Lgica de Programacin

Toman los valores de forma interactiva desde el dispositivo de entrada estndar (teclado), introducindolos en las variables que forman parte de la instruccin. Los tipos de datos introducidos deben coincidir con los de las variables que los recogen.

Salida
Conjunto de instrucciones que toman los datos finales de la memoria central y los envan a los dispositivos externos. Respuestas dadas por el algoritmo o resultados finales de los procesos realizados

Escribir (lista de variables de salida)

La instruccin es Escribir ( ) o Escribe( ). Presentan por el dispositivo de salida estndar (pantalla), las expresiones, valores, variables o cadenas contenidas en la funcin.

Como ejemplo supongamos que desea desarrollar un algoritmo que calcule la superficie de un rectngulo proporcionndole su base y altura.

Ejemplo de Instrucciones de entrada y salida

18

Lgica de Programacin

Supongamos que queremos hacer un programa que nos calcule el rea de un tringulo. Primero debemos pensar que A=(b*h)/2. Por lo tanto necesito pedir dos datos y presentar un resultado. Una posible solucin usando una secuencia de sentencias y expresiones sera:

1. Inicio 2. entero a,b,h; // Declaro las variables 3. Escribe (Introducir el valor de la Base y la Altura :); // mensaje en pantalla 4. Leer(b); // Leemos la base 5. Leer(h); // Leemos la altura a=(b*h)/2; // calculamos ... 6. Escribe (la superficie es : ,a); // Presentamos el resultado Estructura de un programa

19

Lgica de Programacin

1. Desarrolle un algoritmo que lea 3 nmeros y calcule por lo menos 3 mltiplos de cada uno. Muestre todos los datos.

Reglas para la construccin de identificadores Un identificador es una secuencia de caracteres que permite identificar de forma nica a cada elemento/objeto de un algoritmo.

A continuacin presentamos las siguientes reglas para la construccin de un

identificador: No todos los caracteres son vlidos por lo que normalmente se usan letras, dgitos y subrayado (_) El primer carcter debe ser una letra o subrayado Las palabras reservadas del lenguaje no pueden utilizarse como identificadores Algunos lenguajes no distinguen entre caracteres en maysculas y minsculas por ejemplo: Pascal, Modula-2 y otros s C, Java Se admitir un mximo de 32 caracteres Usar solo letras, dgitos y subrayado

20

Lgica de Programacin

Usar minsculas para identificadores de variables Usar maysculas para identificadores de constantes Para identificadores de funciones con ms de una palabra usar subrayado para separar las palabras o maysculas para la primera letra de cada palabra (Ej. CalcularFechaNacimiento)

Para el desarrollo de este material se considero la siguiente referencia Bibliogrfica: Joyanes, Luis y otros, Fundamentos de programacin, Editorial McGraw Hill, Primera Edicin, 1996.

Dadas las declaraciones:


floatw; inti, j = 2, k = 4; Determinar el valor de las variables i, w y k despus de la ejecucin de las siguientes sentencias de asignacin: i = j / k; w = i / j; k = i % j;
21

Lgica de Programacin

w = 8.0 / j;

22