Bienvenidos al Blog de "Informatica" del CUFM(PNF)
"Algorítmica y Programación": noviembre 2009

jueves, 26 de noviembre de 2009

"Tratamiento de Cadena y Caracteres"

Grupo Integrado por:
Nuñez Pablo
Bernal Gerson
Sección: 712




• En programación, una cadena de caracteres, o frase (string en inglés) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto alfabeto. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos).
• Desde un punto de vista de la programación, si no se ponen restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de todo el juego caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etc). En este mismo ámbito (el de la programación), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array en inglés).
• Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la llama cadena vacía

Representación de las cadenas:
Una cadena suele ser representada entre comillas dobles superiores ("palabra"), mientras que un carácter de esa cadena (un char en inglés) suele ser representado entre comillas simples ('p').
• Ejemplo, en C:
• char c = 'a';
• char str[5] = "hola";

Características específicas:
• una cadena podrá estar formada por cualquier combinación finita de todo el juego caracteres disponibles.
• Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la llama cadena vacía.


Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Tratamiento de Cadena y Caracteres"

Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Resumen Completo"

"Punteros" - CNE 2


Grupo Integrado por:
Contreras Jonathan
Zerpa Gabriel
Sección: 812


Los punteros son de amplia utilización en programación y casi todos los lenguajes permiten la manipulación de los mismos. La razón de ser principal de los punteros reside en manejar datos alojados en la zona de memoria dinámica o heap (aunque también se pueden manipular objetos en la zona estática), bien sean datos elementales, estructuras (struct en C) u objetos pertenecientes a una clase (en lenguajes Orientados a Objetos). Gracias a esta propiedad, los punteros permiten modelar un grafo, en donde los elementos de éste son los datos residentes en memoria y las relaciones entre los elementos son los propios apuntadores. Sin embargo, los punteros son un gran dolor de cabeza para los programadores novatos y para cualquier programador que deba depurar una aplicación.
En nuevos lenguajes de alto nivel, los punteros se han tratado de abstraer. De tal forma que en el lenguaje C# sólo pueden ser usados en zonas de código delimitadas como "inseguras", o llegando a su total desaparición en lenguajes como Java o Eiffel.
Un puntero o apuntador es una variable que referencia una región de memoria; en otras palabras es una variable cuyo valor es una dirección de memoria. Si se tiene una variable ' p ' de tipo puntero que contiene una dirección de memoria en la que se encuentra almacenado un valor ' v ' se dice que ' p ' apunta a ' v '.
Trabajar con punteros implica la no manipulación de las variables en sí, sino manejar direcciones de memoria en la cuales residen los datos.

Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Punteros"

Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Punteros Resumen Completo"

"Metodología para el Análisis" - 712

Grupo Integrado por:
Alfonso Torres
Neudy Ramirez
Sección: 712

Básicamente la metodología para el análisis se basa en el estudio analítico y critico y es el enlace entre sujeto y el objeto de conocimiento. Este persigue estructurar u organizar las tareas asociadas con la determinación de requerimientos para obtener una comprensión completa y exacta de una situación dada. Cuando hablamos de planteamiento de problemas, consiste básicamente en tres momentos, reconocimiento, descubrimiento y formulación. Estos momentos aparecerían de la siguiente manera: primero, debe reconocer los hechos clasificados preliminarmente y delimitados según algún criterio válido, sobre todo el de la relevancia. En esa labor se ha debido encontrar lagunas, incoherencias o cualquier otro detalle, es decir, ha hecho un hallazgo o descubrimiento de un problema. Luego, tercer momento, se habrá formulado una pregunta muy concreta y correcta acerca de las causas que explique esa incertidumbre, esto es reducir el problema a su núcleo significativo.
Dentro de estos temas podemos considerar algunos puntos tales como identificación del problema, para este punto ay q saber lo q tenemos y lo q no tenemos, como también lo que deseamos para identificar cada problema q se presenta, cuando el análisis es mas profundo podemos determinar mas rápido un problema. Cuando definimos cada problema por medio de un estudio obtenemos unos datos de salidas, que seria los resultados e informaciones generadas por el estudio de estos problemas, luego se hace un proceso y una evaluación para obtener un resultado definitivo y se evalúa este resultado para identificar puntos débiles y fuertes.
Después del resulta y su evaluación, se analiza este resultado para que después se de la toma de decisión, mediante el cual se realiza una elección entre las alternativas o formas para resolver diferentes situaciones.



Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Metodología para el Análisis"

"Cadenas de Caracteres" - CNE

Grupo Integrado por:
JHOSMER PEREIRA
WILMAN LOZADA
Sección:812



CADENAS DE CARACTERES

• En programación, una cadena de caracteres, o frase (string en inglés) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto alfabeto. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos).
• Desde un punto de vista de la programación, si no se ponen restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de todo el juego caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etc). En este mismo ámbito (el de la programación), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array en inglés).
• Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la llama cadena vacía

Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Cadena de Carcteres"



Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Resumen Completo"

"Archivos" - CNE



Grupo Integrado por:
LUIS NUÑEZ
JONATHAN TORRES
Sección: 812


Los Archivos, (Fichero, file ) estructuran la información guardada en una unidad de almacenamiento, que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos poseen su propio sistema de archivos. Normalmente los archivos están formados por un nombre, un punto y una extensión. El nombre nos sirve para diferenciar unos archivos de otros y la extensión para atribuirle unas propiedades concretas. Los archivos tienen un tamaño que se mide en bytes, se separan en dos grandes grupos ejecutables y no ejecutables, tiene diferentes tipos de información según su formato. Según el sistema de archivos que utilice el guarda la fecha de creación, modificación y ultimo acceso, también pueden ser editadles, y codificados para ocupar menos espacio. etc. En conclusión los archivos facilitan de una manera organizada los recursos usados para almacenar permanentemente información dentro de un computador.



Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Archivos"

"Datos" - 712


Grupo Integrado por:
Alejandro Amortegui
Delvis Muñoz
Sección: 712





Esté trabajo lleva la finalidad de conocer el concepto de Datos, que está requiriendo, Tipos de Datos en "C", con el fin de conocer como se estructuran los Datos en materia del deminio de los datos, en función a la agilización de conocer tambien los Datos Retorno. Las bases de este Trabajo fueron realizadas tratando de desarrollar los niveles de conocimiento.



El presente trabajo es tener como consecuente que las estraucturas en "C" se espesifican con Datos formales, y con sus repectivos comandos, tambien se tienen q? conocer los Datos logicos los cuales asen la diferencia entre los consecuentes y tratar de definir las estructuras.


Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Trabajo de Programación"

"Estructura de Registro" - 712

Grupo Integrado por:
Carlos Torrealba
Isaac Olaya

Los Array son estructuras de datos que contienen un número determinado de elementos y todos los elementos han de ser del mismo tipo de datos, por ello no es muy útil cuando se necesitan un grupos de elementos con tipos diferentes de datos cada uno. Así que la solución a este problema es utilizar un tipo de dato registro, en C llamado estructura.

Las estructuras son llamadas también muy a menudo registros, o en inglés "records". Y son estructuras análogas en muchos aspectos a los registros de bases de datos.

Los componentes de una estructura se llaman miembros. Cada uno de los miembro de una estructura puede contener datos de un tipo diferente de otros. Se puede utilizar una estructura para almacenar información sobre una persona de tipo diferente, tal como nombre, estado civil, edad y fecha de nacimiento etc. Cada uno de estos son los miembros de la estructura.

Una estructura puede contener cualquier número de miembros, cada uno de los cuales tiene un nombre único. Supongamos que se desea almacenar los datos de una colección de CD de música. Estos datos pueden mostrarse de la siguiente manera.




Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Estructura de Registro"

miércoles, 25 de noviembre de 2009

"Programación Modular" - CNE


Grupo Integrado por:
Del Molino Francisco
Rivas Sixto
Sección: 812






Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down.


Es evidente que si esta metodología nos lleva a tratar con subproblemas, entonces también tengamos la necesidad de poder crear y trabajar con subprogramas para resolverlos. A estos subprogramas se les suele llamar módulos, de ahí viene el nombre de programación modular. En Pascal disponemos de dos tipos de módulos: los procedimientos y las funciones.


Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Programaciòn Modular"

martes, 24 de noviembre de 2009

"Arreglos" - 712


Grupo Integrado por:
Andreina Rangel
Aliarzi Toro
Sección: 712










Es un conjunto de datos del mismo tipo ordenados en forman lineal uno después de otro.

Tipos de arreglos:

Arreglo unidimensional
Una arreglo uni-dimensional es aquel en donde los componentes son accesados por medio de uno y solamente un índice que apunte al componente requerido.

Arreglo bidimensional
Una arreglo bi-dimensional es aquel en donde los componentes son accesados por medio de una pareja de índices que apunten a la fila y columna del componente requerido. Los arreglos de este tipo son conocidos también con el nombre de matrices.

Arreglos Tridimensionales:
Es un arreglo o matriz tridimensional con tres dimensiones se asemeja a un cubo.

Cadenas de caracteres:
En C,C++ las cadenas de caracteres no son más que arreglos de caracteres, salvo que a este tipo de arreglos el compilador les da un tratamiento especial. Usted puede manipular las cadenas de caracteres de la misma manera en que manipula cualquier otro tipo de arreglo, sin embargo, es preferible hacer uso de una librería estándar especialmente escrita para manipulación de cadenas de caracteres, me refiero a la librería y que viene incluida con todo compilador de C,C++.


Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Arreglos"

lunes, 23 de noviembre de 2009

"Estructura de Registro" - CNE

Grupo Integrado por;
Eduardo Allup
José Ortega
Sección: 812








Un registro, en programación, es un tipo de dato estructurado, formado por la unión de varios elementos bajo una misma estructura.


Las estructuras nos permiten agrupar varios datos, aunque sean de distinto tipo, que mantengan algún tipo de relación, permitiendo manipularlos todos juntos




Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Estructura de Registro"

"Punteros" - CNE


Grupo Integrado por;
Morella I. Guzmán C.
Henry. Bracho. B.
Sección: 812













Un puntero contiene un valor que es la dirección en memoria de un dato de cierto tipo. Los punteros se emplean en C para muchas cosas, por ejemplo recorrer vectores, manipular estructuras creadas dinámicamente, pasar parámetros por referencia a funciones.

Cuando se declara una variable, se reserva un espacio en la memoria para almacenar el valor de la variable. Ese espacio en memoria tiene una dirección.
Un puntero es una dirección dentro de la memoria, o sea, un apuntador a donde se encuentra una variable.

Declaración
Los punteros se declaran con un asterisco, de esta forma:
tipo * variable;
Por ejemplo:
int* puntero;

Se dice que la variable puntero es un puntero a enteros (apunta a un entero).


Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Resumen de Punteros"




Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Punteros"

"Metodología para el Análisis y Planteamiento del Problema" - CNE


Grupo Integrado por;
EDUARDO REY
GONZALO GARCIA
Sección: 812



Algoritmo cuyo objetivo es saber el porcentaje de descuento para un producto sabiendo que:
1. El usuario introduce el porcentaje por pantalla
2. El usuario introduce el precio del producto por pantalla.

Para ello creamos tres variables de tipo flotante
1. en la primera almacenamos el valor del producto
2. en la segunda el porcentaje aplicado al producto
3. la tercera será el porcentaje de descuento aplicando una regla de tres simple
Ejemplo:
Costo del producto = 567,7
Descuento = 10,5


Si 10,5 equivale a 100
X equivale a 567,5
Donde x (v3) seria igual a 567,5 (v2) x 10,5 (v1) dividido entre 100




Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Metodología para el Análisis y Planteamiento del Problema"

"Archivos" - 712


Grupo Integrado por:
Elio Blanco
Ronal Pérez
Sección: 712




Los archivos también llamados ficheros es una colección de información de datos relacionados entre si almacenada en un lugar de la computadora. No depende las informaciones con los programas la
Información almacenada es permanente en archivo es accedido con diferentes programas en cualquier momento y cada vez mayor capacidad de almacenamiento.
Los archivos se clasifican de acuerdo a su utilidad en tres grupos.
Permanentes o Maestros: La información varia poco, en algunos casos se actualiza periódicamente. De movimientos se cercan para actualizar los archivos maestros sus registros son de 3 tipos altas, bajas y modificaciones. Maniobra o trabajo: Tienen una vida limitada y duran menos que la ejecución de un programa usándose como auxiliares de los anteriores. Según sus elementos se definen en Entrada: Colección de datos en dispositivo de entrada. Salida: Colección de información visualizada por la computadora. Programa: Colección de Codificaciones de un programa en un lenguaje especifico. Texto: Colección de Caracteres almacenados como una unidad en un equipo. Directorios de Archivo de Nivel Único: Se almacenan todos los archivos en un mismo nivel, este método en sistemas de archivos donde el volumen no es grande. Directorio Jerárquico: Su estructura tiene forma de árbol con raíz este método es el mas utilizado debido a que la revisión y la búsqueda son tareas sencillas. Ruta absoluta: Este tipo de ruta de acceso inicia siempre con una diagonal invertida. C:\Edit\SOS\sistemas\report.txt. Ruta relativa: Este tipo de ruta de acceso realiza la búsqueda del archivo en el directorio de trabajo actual
C:\Edit report.txt. Las operaciones generales que se realizan son:
Creación: Escritura de todos sus registros. Consulta: Lectura de todos sus registros. Actualización inserción supresión o modificación de algunos de sus registros. Clasificación: Reubicación de los registros de tal forma que queden ordenados según criterio. Borrado: Eliminado total del archivo dejando libre el espacio de soporte que ocupaba. Enfoque de acceso secuencial: Hace referencia al procesamiento de un archivo en concordancia a un orden específico. Ej. Archivos Texto. Enfoque de acceso directo: Permite recuperar otros registros individuales sin leer otros registros de archivo ej. Archivos Indexados. Los archivos de texto Son utilizados para almacenar documentos en ellos cada registro es un símbolo único o código de control. Los archivos de texto son una secuencia de líneas separadas por marcas de fin de línea. Estos cuentan con subrutinas para manipular los archivos de texto. Texto plano, son aquellos que están compuestos únicamente por texto sin formato, sólo caracteres. Algunos de los sistemas de codificación más usados son: ASCII, o Latín-1, Unicode, etc.


Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Archivos"




Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Archivos"

"La Recursividad" - 712


Grupo Integrado por;

Maykel Ramírez Y
Alejandro Estrada
Sección: 712

La recursividad (recursión) es una técnica de programación elemental que permite que una función pueda llamarse asimismo desde la misma función. Se puede utilizar la recursividad como una alternativa a la iteración. La recursividad es una herramienta poderosa e importante en la resolución de problemas en programació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 las soluciones naturales, más lógicas, elegantes, sencillas, que serían, en caso contrario difícil de resolver.

La naturaleza de la recursividad es aquella que se llama así misma bien directamente, o bien a través de otra función. En matemática existen numerosas funciones que tienen carácter recursivo de igual modo numerosas circunstancias y situaciones de la vida ordinaria tienen carácter recursivo. Una función que contiene sentencias entre las que se encuentran al menos una que llama a la propia función se dice que es recursiva.

Cabe destacar, que una función en el campo de la informática son subprogramas o subrutina que realizan una tarea específica y devuelve un valor, del mismo modo, se puede decir que esta subrutina o subprograma forma parte del programa o rutina principal.


Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Recursividad"

lunes, 16 de noviembre de 2009

"Programación Modular" - 712




Grupo Integrado por:
Ronny Leal
José Pérez
Sección: 712


Podemos definir la programación modular como aquélla que afronta la solución de un problema descomponiéndolo en subproblemas más simples, cada uno de los cuales se resuelve mediante un algoritmo o módulo más o menos independiente del resto (de ahí su nombre: “programación modular”).
Las ventajas de la programación modular son varias:
• Facilita la comprensión del problema y su resolución escalonada
• Aumenta la claridad y legibilidad de los programas
• Permite que varios programadores trabajen en el mismo problema a la vez, puesto que cada uno puede trabajar en uno o varios módulos de manera bastante independiente
• Reduce el tiempo de desarrollo, reutilizando módulos previamente desarrollados
• Mejora la fiabilidad de los programas, porque es más sencillo diseñar y depurar módulos pequeños que programas enormes
• Facilita el mantenimiento de los programas
Resumiendo, podemos afirmar sin temor a equivocarnos que es virtualmente imposible escribir un programa de grandes dimensiones si no procedemos a dividirlo en fragmentos más pequeños, abarcables por nuestro pobre intelecto humano.
Insisto en que la programación modular y la estructurada no son técnicas incompatibles, sino más bien complementarias. La mayoría de los programas que se desarrollan con lenguajes estructurados son, de hecho, estructurados y modulares al mismo tiempo.


Para acceder al taller elaborado por este grupo hacer clik en link:
1. "Programación Modular"