Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las computadoras normalmente sugieren operaciones aritméticas ejecutadas sobre datos numéricos. Sin embargo,
ese concepto no es estadísticamente cierto, sino que, al contrario, hoy día es cada vez más frecuente el uso de las
computadoras para procesar problemas de tipo esencialmente alfanuméricos o de tipo texto. En el Capítulo 3 se
estudió el concepto de tipo de datos carácter (char) y se definió un carácter como un símbolo del juego de
caracteres de la computadora. Un constante carácter se definió como cualquier carácter encerrado entre
separadores (apóstrofos o dobles comillas). Una secuencia finita de caracteres se denomina normalmente una
cadena (string), y una constante tipo cadena consiste en una cadena encerrada entre apóstrofos o dobles comillas
Código ASCII
Código EBCDIC
Este código es muy similar al ASCII, incluyendo también, además de los caracteres alfanuméricos y especiales,
caracteres de control. Es propio de computadoras de IBM, con la excepción de los modelos PC, XT, AT y PS/2.
Es un tipo de datos utilizado por la computadora para almacenar datos tipo carácter, los mismos pueden ser.
Constantes:
Una constante tipo carácter es un carácter encerrado entre comillas y una constante de tipo cadena es un conjunto
de caracteres válidos encerrados entre comillas —apóstrofos— para evitar confundirlos con nombres de variables,
operadores, enteros, etc. Si se desea escribir un carácter comilla, se debe escribir duplicado.
Variables
Una variable de cadena o tipo carácter es una variable cuyo valor es una cadena de caracteres. Las variables de tipo
carácter o cadena se deben declarar en el algoritmo y según el lenguaje tendrán una notación u otra. Nosotros, al
igual que muchos lenguajes, las declararemos en la tabla o bloque de declaración de variables.
También existen cadenas de longitud Fija, Cadena a de longitud variable con un máximo y cadena de longitud
indefinida
El tratamiento de cadenas es un tema importante, debido esencialmente a la gran cantidad de información que se
almacena en ellas. Según el tipo de lenguaje de programación elegido se tendrá mayor o menor facilidad para la
realización de operaciones.
• Cálculo de la longitud.
• Comparación.
• Concatenación.
• Extracción de subcadenas.
• Búsqueda de información.
Subprogramas (subalgoritmos):
Funciones
Un método ya citado para solucionar un problema complejo es dividirlo en subproblemas problemas más sencillos y a
continuación dividir estos subproblemas en otros más simples, hasta que los problemas más pequeños sean fáciles de
resolver. Esta técnica de dividir el problema principal en subproblemas se suele denominar “divide y vencerás” (divide and
conquer).
El problema principal se soluciona por el correspondiente programa o algoritmo principal también denominado
controlador o conductor (driver) y la solución de los subproblemas mediante subprogramas, conocidos como
procedimientos (subrutinas) o funciones. Los subprogramas, cuando se tratan en lenguaje algorítmico, se denominan
también subalgoritmos.
FUNCIONES
Matemáticamente una función es una operación que toma uno o más valores llamados argumentos y produce un valor
denominado resultado valor de la función para los argumentos dados. Todos los lenguajes de programación tienen
funciones incorporadas, intrínsecas o internas.
Declaración de funciones
La declaración de una función requiere una serie de pasos que la definen. Una función como tal subalgoritmo o
subprograma tiene una constitución similar a los algoritmos, por consiguiente, constará de una cabecera que comenzará con
el tipo del valor devuelto por la función, seguido de la palabra función y del nombre y argumentos de dicha función.
Funciones intrínsecas: Las funciones intrínsecas son proporcionadas directamente por el lenguaje de programación.
definiciones de constantes
declaraciones de variables
inicio
sentencias del algoritmo
DEFINICIONES DE FUNCIONES
Fin
Aunque las funciones son herramientas de programación muy útiles para la resolución de problemas, su alcance está muy
limitado. Con frecuencia se requieren subprogramas que calculen varios resultados en vez de uno solo, o que realicen la
ordenación de una serie de números, etc. En estas situaciones la función no es apropiada y se necesita disponer del otro tipo
de subprograma: el procedimiento o subrutina.
Un procedimiento o subrutina1 es un subprograma que ejecuta un proceso específico. Ningún valor está asociado con el
nombre del procedimiento; por consiguiente, no puede ocurrir en una expresión. Un procedimiento se llama escribiendo su
nombre, por ejemplo, SORT, para indicar que un procedimiento denominado SORT (ORDENAR) se va a usar. Cuando se
invoca el procedimiento, los pasos que lo definen se ejecutan y a continuación se devuelve el control al programa que le
llamó.
Los procedimientos y funciones son subprogramas cuyo diseño y misión son similares; sin embargo, existen unas
diferencias esenciales entre ellos.
1. Un procedimiento es llamado desde el algoritmo o programa principal mediante su nombre y una lista de parámetros actuales, o bien
con la instrucción llamar_a (call). Al llamar al procedimiento se detiene momentáneamente el programa que se estuviera realizando y el
control pasa al procedimiento llamado. Después que las acciones del procedimiento se ejecutan, se regresa a la acción inmediatamente
siguiente a la que se llamó.
2. Las funciones devuelven un valor, los procedimientos pueden devolver 0,1 o n valores y en forma de lista
de parámetros.
3. El procedimiento se declara igual que la función, pero su nombre no está asociado a ninguno de los resultados
que obtiene.
Cuando un programa llama a un subprograma, la información se comunica a través de la lista de parámetros y se establece
una correspondencia automática entre los parámetros formales y actuales.
UTILIDADES O VENTAJAS
Disminuye la complejidad del algoritmo
Reutilización de Código
Ahorro de tiempo de programación
División de la programación entre un equipo de programadores
Facilidad en la depuración: comprobación individual de los módulos
Programas más fáciles de modificar
RECURSIVIDAD
La recursividad (recursión) es aquella propiedad que posee una función por la cual dicha
función puede llamarse a sí misma. Se puede utilizar la recursividad como una alternativa a
la iteración. Una solución recursiva es normalmente menos eficiente en términos de tiempo
de computadora que una solución iterativa debido a las operaciones auxiliares que llevan
consigo las llamadas suplementarias a las funciones; sin embargo, en muchas circunstancias
el uso de la recursión permite a los programadores especificar soluciones naturales, sencillas,
que serían, en caso contrario, difíciles de resolver. Por esta causa, la recursión es una
herramienta poderosa e importante en la resolución de problemas y en la programación.
En recursión directa el código del subprograma recursivo F contiene una sentencia que
invoca a F, mientras que en recursión indirecta el subprograma F invoca al subprograma G
que invoca a su vez al subprograma P, y así sucesivamente hasta que se invoca de nuevo al
subprograma F.
Un requisito para que un algoritmo recursivo sea correcto es que no genere una secuencia
infinita de llamadas sobre sí mismo. Cualquier algoritmo que genere una secuencia de este
tipo no puede terminar nunca. En consecuencia, la definición recursiva debe incluir un
componente base (condición de salida) en el que f(n) se defina directamente (es decir, no
recursivamente) para uno o más valores de n.
La recursión infinita significa que cada llamada recursiva produce otra llamada recursiva y
ésta a su vez otra llamada recursiva y así para siempre. En la práctica dicho código se
ejecutará hasta que la computadora agota la memoria disponible y se produzca una
terminación anormal del programa.
CONCEPTOS
VARIABLES GLOBALES: Son todas aquellas que pueden ser accesadas por cualquier método de la clase o clases.
VARIABLES LOCALES: Son aquellas que solo pueden ser accedidas por el método donde estén declaradas.
PARAMETROS DE ENTRADA: Un método puede recibir o no parámetros, estos parámetros son los datos que el
método no conoce y que necesita para hacer su trabajo. Cuando un método recibe parámetros estos deben ser
recibidos en variables del mismo tipo de dato.
PARAMETROS DE SALIDA: Son parámetros cuyos valores se calcularán en el procedimiento y se deben devolver al
programa principal para su posterior proceso