Vous êtes sur la page 1sur 12

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

FUNDAMENTOS BSICOS DE ALGORITMOS Una computadora no tiene capacidad para solucionar problemas ms que cuando se le proporcionan los pasos sucesivos a realizar, para ello elaboramos un algoritmo. Qu es un algoritmo? Es un mtodo para resolver un problema mediante una secuencia de instrucciones, cada una de las cuales especifica las operaciones que debe realizar la computadora. Caractersticas de un algoritmo Las caractersticas fundamentales que debe cumplir todo algoritmo son: Debe ser preciso e indicar el orden de realizacin de cada paso. Debe estar definido. Si se sigue un algoritmo dos o ms veces, con los mismos valores iniciales se debe obtener el mismo resultado. Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento, es decir, debe tener un nmero finito de pasos.

Tambin hay que tener en cuenta en un algoritmo: El algoritmo sirve de base para generar un programa, pero no es el programa en s. El algoritmo no es inteligible directamente por el ordenador. El mismo algoritmo puede ser implementado de forma distinta en diversos programas, es decir, dos programadores pueden obtener distintos cdigos fuente a partir del mismo algoritmo.

El proceso de un algoritmo La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. Entrada Proceso Salida

La informacin proporcionada al algoritmo constituye su Entrada, el procedimiento para la solucin del problema constituye su Proceso y la informacin producida por el algoritmo constituye su Salida. A continuacin ejemplos para un mejor entendimiento: Ejemplo 01: Leer la base y altura de un paralelogramo. Calcular su rea. Datos de Entrada Proceso Datos de Salida Ejemplo 02: Leer el radio de una circunferencia. Calcular su rea y longitud. ---> ---> ---> base y altura rea = base x altura El rea del paralelogramo

Ing. Miguel Angel Arias Leytn

Pgina 1

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

Datos de Entrada Proceso Datos de Salida

---> ---> --->

Radio de una circunferencia. rea = y Longitud = El rea y longitud de una circunferencia.

Verificacin del algoritmo o prueba de escritorio Una vez escrito el algoritmo es necesario asegurarse de que ste realiza las tareas para las que ha sido diseado, y que por lo tanto produce el resultado correcto y esperado. El modo ms normal de comprobar un algoritmo es mediante su ejecucin manual usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel los valores que van tomando en las diferentes fases, los datos de entrada o auxiliares y, por ltimo los valores de los resultados. Este proceso se conoce como prueba del algoritmo o prueba de escritorio. Haremos una prueba de escritorio de los dos problemas anteriores: Elementos Datos de Entrada Ejercicio 02 (radio) = 3 (pi) = 3.14 (Slo tomaremos hasta dos decimales) 2 = 3.14 x (3) L= = 2 x 3.14 x 3 A = 28.26 L = 18.84 Ejercicio 01 Base = 5 Altura = 3

Proceso Salida

A = base x altura A=5x3 A = 15

ELEMENTOS BSICOS DE UN ALGORITMO Los elementos bsicos que forman parte esencial o fundamental de un algoritmo o programa son: Palabras reservadas. Identificadores. Variables. Constantes. Instrucciones.

Palabras reservadas Palabras utilizadas por los algoritmos o lenguajes de programacin para representar sentencias, rdenes, etc. Ejemplos: Inicio. Fin. Hacer. Sientonces-sino. Mientras. Desde.

Ing. Miguel Angel Arias Leytn

Pgina 2

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

Identificadores Son nombres usados para identificar a los objetos y dems elementos de un programa: variables, constantes, operadores, funciones, procedimientos, etc. Existen reglas para construir identificadores vlidos y son los siguientes: El primer carcter debe ser una letra o el carcter subrayado bajo. Los caracteres siguientes pueden ser letras, nmeros o smbolos de subrayado bajo. Las letras maysculas y las letras minsculas se tratan como distintas. As suma, Suma y SUMA son tres identificadores distintos. No pueden ser iguales a ninguna palabra reservada.

Variables Una variable es un objeto a quien se le asigna un valor y cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecucin del programa. Si una variable est compuesta por dos palabras, stas pueden ser juntas o unidas por el subrayado bajo, guin bajo o subguin _ . Nota: No se deben utilizar como nombres de variables (identificadores) palabras reservadas del algoritmo o del lenguaje de programacin. Ejemplos: Nota Nombre Apellidos nota_oral Apellido_paterno apellido_materno Nota1 Contador1 precios hora prom pi

Los nombres de las variables elegidas deben ser significativos y tener relacin con el objeto que representan, como pueden ser los casos siguientes: nombre precios notas para representar nombres de personas. para representar los precios de diferentes artculos. para representar las notas de una clase.

A continuacin se muestra como ejemplos los nombres de variables no adecuados porque tienen otro significado a lo expresado: azucar pan Constantes Una constante toma o recibe un valor que no cambia durante el desarrollo del algoritmo o la ejecucin del programa. para representar la nota de una clase. para representar la edad de una persona.

Ing. Miguel Angel Arias Leytn

Pgina 3

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

Instrucciones Las instrucciones especifican las operaciones o acciones que deben ser realizadas o ejecutadas. EXPRESIONES Son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales, que cumplen determinadas reglas. Ejemplos: a+(b*3)/c 5 * a * b / ( c + d)

1. Expresiones Aritmticas Son anlogas a las frmulas matemticas. Las variables y constantes son numricas (real o entera) y las operaciones son las aritmticas. Operadores Aritmticos Operador Algebraico + x / /

Significado Suma Resta Multiplicacin Divisin real Divisin entera Exponenciacin Mdulo (resto o residuo)

Operador Algortmico + * / div **, ^ mod

A continuacin se mostraran las equivalencias que debe conocer entre expresiones algebraicas y expresiones aritmticas. Ejemplos: Representacin Algebraica 12 + 19 a-b 5x7 6 +c 4 37 Reglas de prioridad Las expresiones que tienen dos o ms operandos en una expresin se evalan, en general, segn el siguiente orden: 1. Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen diferentes parntesis anidados (internos unos a otros), las expresiones ms internas se evalan primero.
Ing. Miguel Angel Arias Leytn

----------------------------------------------

Representacin Algortmica 12 + 19 a-b 5*7 (6 / 4) + c 3^7

Pgina 4

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

2. Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de prioridad: a. Operador exponencial (^, o bien **) b. Operadores *, / c. Operadores div y mod d. Operadores + , Nota: En caso coincidir varios operadores de igual prioridad en una expresin o subexpresin encerrada entre parntesis, el orden de prioridad en este caso es de izquierda a derecha. Ejemplo 1. Cul es el resultado de las siguientes expresiones? a) 15 + 9 * 2 6 * 2 ^ 2 b) -8 / 4 * 6 + 3 ^ 2 * (10 / 5) Nota: Hacer uso de un tiempo de 5 minutos para resolver el inciso a) y b) del Ejemplo 1. Terminado de hacerlo revisar sus respuestas con la solucin que a continuacin se presenta. Solucin: a) 15 + 9 * 2 6 * 2 ^ 2 15 + 9 * 2 6 * 4 15 + 18 - 24 = 9 b) -8 / 4 * 6 + 3 ^ 2 * (10 / 5) -8 / 4 * 6 + 3 ^ 2 * -8 / 4 * 6 + 9 * -2 * 6 + 18 2 2 = 6

Ejemplo 2. Convertir en expresiones aritmticas algortmicas las siguientes expresiones: a) 7 ( a + b ) b) 8x + 9y + 3z c) a2 + 2a 3 d) x2 y2 e) p+q r+ s t a (cd) b

f)

Nota: Hacer uso de un tiempo de 5 minutos para resolver los incisos a) al f) del Ejemplo 2. Terminado de hacerlo revisar sus respuestas con la solucin que a continuacin se presenta. Solucin:

Ing. Miguel Angel Arias Leytn

Pgina 5

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

a) 7 ( a + b ) b) 8x + 9y + 3z c) a2 + 2a 3 d) x2 y2 e) p+q r+ s t a (cd) b

----------------------------------------------

7 * (a + b) 8*x+9*y+3*z a^2+2*a-3 x^2y^2 (p + q) / (r + s / t)

----------

f)

a/b*c*d

Divisin entera (div) Es la accin de dividir dos nmeros enteros; uno viene a ser el dividendo y el otro el divisor, el resultado del operador div es el valor del cociente. En esta divisin no es de mucha importancia el residuo. Recuerden que para utilizar el div slo se aplica a divisiones de nmeros enteros, veamos el siguiente ejemplo: Ejemplo: 9 div 2 = 4 Dividendo 9 8 1 2 Divisor

4
Cociente

Residuo Ejemplos: a. 15 div 6 = 2 d. 7 div 9 = 0 b. 14 div 2 = 7 e. 3 div 3 = 1 c. 0 div 3 = 0 f. 2 div 5 = 0

Reglas de la divisin real y entera: Los operandos pueden ser enteros (E) o reales (R). Divisin real E/E=R E/R=R R/E=R R/R=R Divisin entera E div E = E E div R = No vlido R div E = No vlido R div R = No vlido

Residuo (mod) El operador mod se utiliza para obtener el residuo o resto de una divisin entera. Igual que para el operador div, para poder hallar el residuo de una divisin utilizando el operador mod, los operandos deben ser exclusivamente enteros.

Ing. Miguel Angel Arias Leytn

Pgina 6

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

Reglas del residuo: Residuo E mod E = E E mod R = No Valido R mod E = No Valido R mod R = No Valido Ejemplos: a. 15 mod 6 = 3 d. 7 mod 9 = 7 2. Expresiones Lgicas Una expresin lgica es una expresin que slo puede tomar dos valores: verdad y falso. Las expresiones lgicas se forman combinando constantes lgicas, variables lgicas y otras expresiones lgicas, utilizando los operadores relacionales (de relacin o comparacin) y los operadores lgicos not, and y or. Operadores de relacin Permiten realizar comparaciones de valores de tipo numrico o carcter. Los operadores de relacin sirven para expresar las condiciones en los algoritmos. El resultado de las operaciones de comparacin ser verdadero o falso. Operadores de Relacin Operador Algebraico < > = b. 14 mod 2 = 0 e. 3 mod 3 = 0 c. 19 mod 3 = 1 f. 2 mod 5 = 2

Significado Menor que Mayor que Igual que Menor o igual que Mayor o igual que Distinto de o Diferente de

Operador Algortmico < > = <= >= <>

Ejemplos: Si P = 7 * 2 y Q = 3 ^ 2 Expresin lgica P>Q P<Q P <> Q (P - 3) = (Q + 2) 15 < 14 4+6=9 Resultado Verdad Falso Verdad Verdad Falso Falso

Para realizar comparaciones de datos tipo carcter, se requiere una secuencia de ordenacin de los caracteres, similar al orden creciente o decreciente. Esta ordenacin suele ser alfabtica, tanto maysculas como minsculas, y numrica, considerndolas de modo independiente. A continuacin se mostraran los caracteres situados en el cdigo ASCII en orden creciente:
Ing. Miguel Angel Arias Leytn Pgina 7

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

Los caracteres que representan a los dgitos. 0 < 1, 1 < 2, 8 < 9 Las letras maysculas A a Z siguen el orden alfabtico. A < B, B < C, Y < Z Las letras minsculas, siguen el mismo criterio alfabtico. a < b, b < c, y < z Nota Para tener completa seguridad en la ordenacin de los caracteres, ser preciso consultar el cdigo de caracteres de su computadora, normalmente el ASCII (American Standar Code for Information Interchange) o bien el EBCDIC (Extended Binary-Coded Decimal Interchange Code) utilizado en computadoras IBM diferentes a los modelos PC y PS/2. Operadores lgicos Los operadores lgicos o booleanos son not (no), and (y) y or (o). Las definiciones de las operaciones no, y, o se resumen en unas tablas conocidas como las tablas de la verdad. Operador lgico no (not) y (and) o (or) Expresin lgica no P PyQ PoQ Significado Negacin de P Conjuncin de P y Q Disyuncin de P o Q

Las tablas de verdad son las siguientes: Operador no P no P V F F V Operador y Q V F V F Operador o Q V F V F

P V V F F

PyQ V F F F

P V V F F

PoQ V V V F

Nota: Siendo P y Q expresiones booleanas, V valor verdadero, F valor falso. Negacin = not Disyuncin = and Conjuncin = or

Ejemplos: (7 < 12) y (9 < 21) (9 > 15) y (3 < 4) (6 = 41) o (13 > 8) (16 > 8) o (2 > 5) no (18 > 6) verdad falso verdad verdad falso

Ing. Miguel Angel Arias Leytn

Pgina 8

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

FUNCIONES INTERNAS Las operaciones que se requieren en los programas exigen en numerosas ocasiones, adems de las operaciones aritmticas bsicas, ya tratadas, un nmero determinado de operadores especiales que se denominan funciones internas, incorporadas o estndar. Por ejemplo, la funcin raiz2 calcula la raz cuadrada de un nmero positivo, la funcin abs devuelve el valor absoluto de un nmero, la funcin cuadrado devuelve el valor de un nmero elevado al cuadrado. Existen otras funciones que se utilizan para determinar las funciones trigonomtricas. La siguiente tabla recoge las funciones internas ms usuales en algoritmos, siendo x el argumento de la funcin. Funcin abs(x) arctan(x) cos(x) cuadrado(x) exp(x) ln(x) log(x) redondeo(x) sen(x) raiz2(x) trunc(x) Descripcin Valor absoluto de x Arco tangente de x Coseno de x Cuadrado de x Exponencial de x Logaritmo neperiano de x Logaritmo decimal de x Redondeo de x Seno de x Raz cuadrada de x Truncamiento de x Tipo de argumento Entero o Real Entero o Real Entero o Real Entero o Real Entero o Real Entero o Real Entero o Real Real Entero o Real Entero o Real Real Resultado Igual que argumento Real Real Igual que argumento Real Real Real Entero Real Real Entero

Las funciones aceptan argumentos reales o enteros y sus resultados dependen de la tarea que realice la funcin: Ejemplos: Expresin Abs(15) Abs(-3) Cuadrado(5) Cuadrado(-3) Raiz2(16) Raiz2(3) Redondeo(7.5) Redondeo(9.4) Redondeo(-1.1) Trunc(8.9) Trunc(4.2) Trunc(-7.7) Resultado 15 3 25 9 4 1.73 8 9 -1 8 4 -7

Ing. Miguel Angel Arias Leytn

Pgina 9

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

TIPOS DE DATOS El primer objetivo de toda computadora es el manejo de la informacin o datos. Estos datos pueden ser las cifras de ventas de una bodega, tickets para un encuentro deportivo, ingreso diario de una empresa o las calificaciones de un saln de clase. Los algoritmos y programas correspondientes operan sobre datos. Los tipos de datos definen un conjunto de valores que puede almacenar una variable, junto con un conjunto de operaciones que se pueden realizar sobre esa variable. Los tipos de datos simples son los siguientes: Numricos (enteros, reales). Lgicos (booleanos). Carcter (char, string).

Datos numricos El tipo numrico es el conjunto de los valores numricos. Estos pueden representarse en dos formas distintas: Tipo numrico entero (int, integer) Tipo numrico real (float, double)

Tipo entero Es el subconjunto finito de los nmeros enteros, no tienen componentes fraccionarios o decimales, y pueden ser negativos o positivos. Ejemplos: 6, -9, -20, 11, 5, 19, 15, -1 Tipo reales Subconjunto de los nmeros reales, siempre tiene un punto decimal y pueden ser positivos o negativos. Constan de un entero y una parte decimal. Ejemplos: 9.9, -123.11, 0.89, 1470.274, -0.99, 54.77, 3.0 Datos lgicos Es aquel dato que solo puede tomar uno de dos valores: cierto o verdadero (true) y falso (false) Ejemplo: Cuando se le pide si un valor entero es par, la respuesta ser verdadera o falsa, segn sea impar o par. Datos tipo Carcter y tipo Cadena Un dato tipo Carcter contiene un solo carcter y se encuentra delimitado por comilla simple. Los caracteres que reconocen las diferentes computadoras no son estndar, sin embargo la mayora reconoce los siguientes caracteres alfabticos, numricos y especiales: Caracteres alfabticos : (a, b, c, ... ,z) (A, B, C, ... ,Z) Caracteres numricos : (1, 2, 3, ... ,9 ,0) Caracteres especiales : (+, -, *, /, {, }, ... ;, <, >, ...)

Ing. Miguel Angel Arias Leytn

Pgina 10

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

Una cadena (String) de caracteres es una sucesin de caracteres que se encuentran delimitados por una comilla simple (apstrofe) o comillas dobles. Ejemplos: Carcter Cadena : : a b m p q M Z Y N

Hola Per

8 de Octubre de 1879

Juan Pablo II

Ing. Miguel Angel Arias Leytn

Pgina 11

Universidad San Pedro

Introduccin a las Tcnicas de Programacin

LABORATORIO N 1 1. Escribir las siguientes expresiones algebraicas como expresiones algortmicas:

2. Evaluar las siguientes expresiones y realizar el proceso: a) Para un valor de A = 3 y B = 4: 4*A+8*A/B-B^2 b) Para un valor de M = 3, N = 4 y O = 5: (N - M) ^ 200 * raiz2 ((M * 12) + (N * 7)) - O * 6 / 15 c) Para un valor de P = 3, Q = 4, R = 7 y S = 8: raiz2((S / Q) ^ P * 7 - (cuadrado(R) + (S - R))) 3. Si el valor de A es 6, B es 5 y el valor de C es 2, evaluar las siguientes expresiones: a) A * B + B ^ 2 / 4 * C - ( B * C + C / 2 ) b) cuadrado(A + C) - raiz2(B * A + 6) * (B * A / C ) c) ((( B + C ) / 2 * A + 10 ) - 3 * B ) + 6 C 4. Si el valor de p es 3, q es 3 y r es 2, evaluar la expresin: p ^ q ^ r 5. Obtener el valor de cada una de las siguientes expresiones aritmticas: a) 11 div 2 f) 15 mod 4 b) 26 mod 2 g) 0 div 9 c) 32 div 3 h) 6 * 10 40 mod 3 * 4 + 9 d) 13 mod 3 i) (9 ^ 2 mod 4 + ( 7 * 5 ) div 6) div 2 e) 0 mod 5 j) 5 mod 3 * ( 7 div 1 ) - ( 22 div 4 * 2 ) mod 3 6. Encontrar el valor de cada una de las siguientes expresiones o decir si no es una expresin vlida. a) raiz2(15 7 + 8 3 * 2) e) 9 mod ( 6 mod 2) b) 2 mod 3 + 3 div 5 * 7 f) ( 5 mod 3 ) mod 7 c) 7 div 3 / 9 g) (( 9 + 8 ) div 2) / ( 4 * (1 mod 9)) d) 9 mod 6 mod 2 h) ( 23 div 4 ) * ( 8 / 2 + 3 mod 8 )

Ing. Miguel Angel Arias Leytn

Pgina 12

Vous aimerez peut-être aussi