Make your own free website on Tripod.com

Metodología de la Programación

  1. Introducción a los Conceptos de la Computación.
  2. Algoritmos y Conceptos.
  3. Diagramas de Flujo Como Solución a un Problema.
      • Enunciado de un Problema.
      • Análisis de un Problema.
      • Desarrollo de la Solución.
      • Prueba de la Solución.
      • Decisión Simple.
      • Decisiones Anidadas.
      • Selección Múltiple.
      • Ciclo de Prueba por Arriba.
      • Ciclo de Prueba por Abajo.
      • Ciclo For ("Para").
      • Vectores.
      • Matrices.
  4. Pseudocódigo.
  5. Bibliografía.

Inicio


1. Introducción a los Conceptos de la Computación

Un programa puede considerarse como una secuencia de acciones (instrucciones) que manipulan un conjunto de objetos (datos). Esta secuencia de instrucciones por lo general son modificaciones sobre los objetos del programa, que constituyen su entorno, desde un estado inicial hasta otro final que contendrá los resultados del proceso.

El entorno de un programa u objetos del mismo, lo podemos considerar como el conjunto de recipientes necesarios para contener, tanto los datos de entrada, como los datos resultantes de todos los procesos que se llevan a cabo.

Conceptos Básicos

Procedimiento: Conjunto de instrucciones que hacen posible la resolución de una tarea o un problema específico.

Proceso. Ejecución o acción de un procedimiento.

Programa. Conjunto de instrucciones ordenadas correctamente y escritas en un leguaje determinado que permiten realizar una tarea o trabajo específico.

Algoritmo. Conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema.

Inicio


Conceptos Generales

Tipos de datos

El primer objetivo de toda computadora es el manejo de la información o datos. Estos datos pueden ser las cifras de ventas de un supermercado o las calificaciones en una clase.

Un dato es la expresión más general que describe los objetos que opera una computadora. La accion de las instrucciones ejecutables de la computadora realizan cambios en los valores de las partidas de datos. Los datos de entrada son transformados por los programas, despues de las etapas intermedias, en datos de salida.

A nivel maquina , un dato no es mas que un conjunto o secuencia de bits. Aun asi los lenguajes de alto nivel se basan en abstracciones e ignorar la representacion interna.

Existen 2 tipos de datos: los simples y los compuestos. Los compuestos se crean a partir de los simples.

Los tipos de datos simples son los siguientes:

Datos Numéricos

El tipo de dato numérico es el conjunto de los valores numéricos y pueden representarse en 2 formas distintas:

Tipo númerico entero (integer).

Tipo numérico real (real).

Enteros. El tipo entero es un subconjunto finito de los numeros completos, notienen componentes fraccionarios y pueden ser negativos y positivos (incluyendo el cero). Ejemplos de numeros enteros: 5, -15, 20, 6, 4, 17 y 26.

Reales. El tipo real consiste en un subconjunto de los numeros reales. Los numeros reales siempre tiene un punto decimal y pueden ser positivos o negativos (incluyendo el cero). El numero real consta de una parte entera y una decimal. Ejemplos de numeros reales: 0.08, 3.7452, -8.12, 3739.41, -52.321, 3.0.

Los datos numéricos se pueden trabajar utilizando las siguientes operaciones:

Prioridad
Operación
Símbolo*
Nivel 1
Multiplicacion
*
Division real
/
División Entero
div
Módulo(resto)
%, mod
Nivel 2
Suma
+
Resta
-

Tabla 1.1 Operaciones Aritméticas
* Los simbolos en color rojo séran utilizados para el curso.

Datos Lógicos

El tipo lógico —también denominado booleano— es aquel dato que solo puede tomar uno de dos valores posibles.

Cierto o Verdadero (true) y falso (false).

Este tipo de datos se utiliza para representar las alternativas (si/no) denominadas condiciones. Por ejemplo cuando se pide si un valor es entero es par, sera verdadera o falsa segun sea par o impar.

Los datos lógicos se pueden trabajar utilizando las siguientes operaciones:

Prioridad
Operación
Símbolo*
Nivel 1
NOT (NO)
!, not
Nivel 2
AND (Y)
&&, and
Nivel 3
OR (O)
||, or

Tabla 1.2 Operaciones Lógicas
* Los simbolos en color rojo séran utilizados para el curso.

Operadores Relacionales

Los programas para tomar decisiones necesitan hacer comparaciones de datos. Los operadores relacionales permiten realizar esas comparaciones dando como resultado un valor booleado (cierto o falso). Los operadores relacionales son:

Prioridad
Operación
Símbolo*
Nivel 1
Menor que
<
Menor o igual que
<=
Mayor que
>
Mayor o igual que
>=
Nivel 2
Igual que
==, =
Diferente que
!=, <>

Tabla 1.3 Operadores Relacionales
*Los simbolos en color rojo séran utilizados para el curso.

Precedencia de los Operadores
Prioridad
Símbolo
Tipo
Operador
Nivel 1
!
Unario
Negación
Nivel 2
*
Binario
Multiplicación
/
Binario
División
%
Binario
Modulo
Nivel 3
+
Binario
Suma
-
Binario
Resta
Nivel 4
<
Binario
Menor que
<=
Binario
Menor o igual que
>
Binario
Mayor que
>=
Binario
Mayor o igual que
Nivel 5
==
Binario
Igual que
!=
Binario
Diferente que
Nivel 6
&&
Binario
And
||
Binario
Or

Tabla 1.4 Prioridad (precedencia) de los operadores aritméticos, lógicos y relacionales

Datos Tipo Carácter

El tipo carácter es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato tipo caracter contiene solo un caracter.

Los caracteres que reconocen las diferentes computadoras no son las mismas. Sin embargo, la mayoria reconoce los siguientes caracteres alfabeticos y signos:

Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofo) o dobles comillas según el lenguaje de programación. La longitud de la cadena de caracteres esta determinada por la cantidad de caracteres entre los delimitadores. Ejemplos de cadenas son: "Hola Mortimer", "8 de octubre de 1946", Sr. McKenna".

Las cadenas se pueden trabajar utilizando la operación de concatenación.

Resumen de Tipos de Datos

Figura 1. Resumen de tipos

Inicio


Constantes y Variables

Los programas de computadoras contienen ciertos valores que no deben cambiar durante la ejecucion de un programa. Tales valores se llaman constantes. De igual manera, existen otros valores que cambiaran durante la ejecución del programa; a estos valores se les llama variables.

Una constante es una partida de datos (objetos) que permanecen sin cambios durante todo el desarrollo del algortimo o durante la ejecución del programa.

Una constante numerica es numero escrito directamente en el programa. Ejemplo: 1.234, -0.1436 y 54437324.

Una constante tipo caracter consiste de un caracter valido encerrado dentro de apóstrofos y una constante de caracteres es una secuencia de caracteres validos encerrado en comillas dobles. Vea la tabla 1.5.

Constantes carácater
Constantes de caracteres (cadena)
'a', 'c', '+', '1', '#' "Hola mundo", "Jose Perez", "UABC"

Tabla 1.5 Ejemplos de constantes de tipo carácter.

Sólo existen dos constantes logicas: verdadero y falso.

Una variable es un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecución del programa.

Una variable tiene 2 atributos: el nombre o identificador y el tipo de dato del valor que almacena. El identificador sirve para localizar el espacio donde se encuentra y el tipo de dato para determinar que tipos de valores son posibles almacenar.

Para asignar un nombre a las variables se sigue la regla: el primer caracter del nombre es una letra y el resto puede ser una letra o un digito.

Inicio


Expresiones

Las expresiones son combinaciones de constantes, variables, simbolos de operacion, parentesis y nombre de funciones especiales.

Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecucion de las operaciones indicadas.

Una expresión consta de operandos y operadores. Segun sean los tipos de objetos que se manipulen, las expresiones pueden ser: aritméticas, relacionales, lógicas o de caracteres.

El resultado de una expresion aritmetica es un tipo numerico; el resultado de una expresión relacional y lógica es de tipo lógico; el resultado de una expresion carácter es de tipo carácter.

Expresiones Artiméticas

Las expresiones aritmeticas son analogas a las formulas matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas.

En la expresión 5 + 3, los valores 5 y 3 se denominan operandos y al simbolo + la operacioon (operador). El valor de la expresión 5 + 3 se conoce como resultado de la expresión.

Las expresiones que tienen mas de dos o mas operandos requieren reglas matemáticas que permitan determinar el orden de las operaciones —prioridad o precedencia—. Estas son:

Las operaciones que estan encerradas entre parentesis se evaluan primero. Si existen parentesis anidados, las expresiones con mayor profundidad se evaluan primero. Las operaciones siguen el orden de presendencia mostrados en las tablas 1.1, 1.2, 1.3 y 1.4.

En caso de coincidir varios operadores de igual prioridad en una expresión, el operador más a la derecha es el de mayor prioridad.

Ejemplos

1. ¿Cuál es el resultado de las siguientes expresiones?

3 + 6 * 14

1. El operador de más alta prioridad es la multiplicación. Así 6 * 14 es 84.
2. La expresión se transforma en: 3 + 84. El resultado es: 8

8 + 7 * 3 + 4 * 6

1. Se evalua los operadores de más alta prioridad, 7 * 3 y 4 * 6. Los resultado es para éstas son 21 y 24, respectivamente.
2. La expresión se transforma en: 8 + 21 + 24.
3. Como todos los operadores son de la misma prioridad se evaluan de la derecha a la izquierda. Así 8 + 21 es 29.
4. La expresión se transforma en: 29 + 24. Así el resultado final es: 53.

( 5 + ( 7 - 2 ) ) * 4

1. Se evaluan los parentesis mós con mayor profundidad, (7 - 2). El resultado es 5.
2. La expresion se transforma en: (5 + 5) * 4.
3. Se evalua la expresion (5 + 5). El resultado es 10.
4. La expresión se transforma en: 10 * 4. El resultado final es: 40.

2. Convertir las siguientes expresiones algebraicas en expresiones aritméticas algortimicas.

1. 5(x + y)

2. a2 + b2

3. ( x + y )
    ( x - y )
            a

4. (x / y)(z + w)

1. 5*(x + y)

2. a*a + b*b

3. (x + y)/(x - y/a)

4. x / y*(z + w)

3. Ejercicios.

a) Convertir las siguientes expresiones algebraicas en expresiones aritméticas algortimicas.

Algebra, Paul K. Rees, Fred W. Sparks.

pag 58. problemas 50-70.

Pag. 71, problemas 10 -20

Pag. 118, problemas 21-50

Expresiones Logicas (Booleanas)

El segundo tipo de expresiones son las expresiones logicas o booleanas, cuyo valor es verdadero o falso. Recuerde que existen 2 constantes logicas, verdadera (true)o falso (false) y que las variables logicas pueden tomar solo estos dos valores.

Una expresion logica es una expresión que solo puede tomar solo estos 2 valores, falso y verdadero. Se denominan tambien expresiones booleanas en honor del matemático britanico George Boole, quien desarrollo el algebra logica o de boole.

Las expresiones logicas se forman combinando constantes lógicas, variables logicas, otras expresiones logicas utilizando los operadores logicos && (and), || (or) y ! (not) y los operadores relacionales (comparación) ==, <, <=, >, >=, !=.

Operadores Relacionales

Los operadores relacionales o de comparación permiten realizar comparaciones de tipo númerico o de caracter. Los operadores de relación sirven para expresar decisiones en los algortimos.

La tabla 1.3 muestra los operadores relacionales. El formato general para las comparaciones es:

expresión_1 operador_de_relación expresión_2

Y el resultado de la operación será verdadero o falso. Asi, por ejemplo, si A = 4 y B = 3, entonces A > B es verdadero; mientras que (A - 2) < ( B - 4) es falso.

Los operadores de relación se pueden aplicar a cualquiera de los cuatro tipos de datos estándar: enteros, real, lógico y carácter.

La aplicacion de los valores numericos es evidente. Los ejemplos de la tabla 1.6 son significativos.

N1
N2
Expresión Lógica
Resultado
3
6
N1 < N2
verdadero
0
1
N1 > N2
falso
4
2
N1 == N2
falso
8
5
N1 <= N2
falso
9
9
N1 >= N2
falso
5
5
N1 != N2
falso

Tabla 1.6 Ejemplos del uso de operadores relacionales con tipos de datos numéricos

Para la comparaciones de datos tipo carócter, se requiere una secuencia de ordenacion para los caracteres. Generalmente la secuencia que siguen en el codigo ASCII(vease la tabla en el menu principal). Vease la tabla 1.7.

S1
S2
Expresión Lógica
Resultado
'b'
'a'
S1 < S2
verdadero
'B'
'A'
S1 > S2
falso
'C'
'c'
S1 == S2
falso
'abc'
'ABC'
S1 <= S2
falso
'0123'
'ABC'
S1 >= S 2
falso
'abcd'
'abcd'
S1 != S2
falso

Tabla 1.7 Ejemplo del uso de operadores relacionales con tipo de datos carácter.

Operadores Lógicos

Los operadores lógicos basicos son !(not), &&(and) y ||(or). El significado matemático de las operaciones lógicas se muestra en la tabla 1.8:

Operador Lógico
Expresión Lógica
Significado
! (not)
!p (Not p)
Negación de p
&& (and)
p && q (p and q)
Intersección de p y q
|| (or)
p || q
Unión de p y q

Tabla 1.8 Significado matemático de los operadores lógicos

Las combinaciones posibles de los valores para las operaciones !, && y || se resumen en las tablas 1.9, 1.10 y 1.11 . Estas son denominadas tablas de verdad.

A
!A (not A)
Verdadero
falso
falso
Verdadero

Tabla 1.9 Tabla de verdad para la operacion lógica ! (not).

A
B
A && B
Observaciones
Verdadeo
Verdadero
Verdadero
A && B es verdadero sólo si A y B son verdaderas
Verdadero
Falso
Falso
Falso
Verdadero
Falso
Falso
Falso
Falso

Tabla 1.10 Tabla de verdad para la operacion lógica && (And).

A
B
A || B
Observaciones
Verdadeo
Verdadero
Verdadero
A && B es verdadero cuando A, B o ambos son verdaderos.
Verdadero
Falso
Verdadero
Falso
Verdadero
Verdadero
Falso
Falso
Falso

Tabla 1.11 Tabla de verdad para la operacion lógica || (or).

Las expresiones lógicas se pueden mezclar operadores de relación y lógicos. Vease algunos ejemplos en la tabla 1.12.

Expresión Lógica
Resultado
Observaciones
(1 > 0) && (3 == 3)
Verdadero
!prueba
Falso
prueba es una variable con valor logico Verdadero
(0 < 5) || (0 > 5)
Verdadero
 
(5 <= 7) && (2 > 4)
Falso
 
!(5 != 5)
Verdadero  
(numero == 1) || (7 >= 14)
Verdadero numero es una variable entera con valor de 5

Tabla 1.12 Ejemplos de uso de operadores relacionales y operadores lógicos.

La prioridad de los operadores lógicos es la mostrada en la tabla 1.2 y 1.3.

Ejercicios

  1. Usando el codigo ASCII como referencia para el ordenamiento de los caracteres y suponiendo que existe una variable letra de tipo caracter.
  2. Suponga la variable logica continar y la variable entera opción.
  3. Soponga las dimensiones de un rectangulo de 480 de altura y 600 de ancho y las variables x y y de tipo entero.

2. Algoritmos y Conceptos.

3. Diagramas de Flujo Como Solución a un Problema.

4. Pseudocódigo.

Bibliografía.