Академический Документы
Профессиональный Документы
Культура Документы
Sistemas de Informacin
Los sistemas de informacin dentro de una empresa se han utilizado desde mucho
antes de utilizar las computadoras para automatizar los procesos, las empresas
reunan, almacenaban y actualizaban la informacin en el transcurso normal de sus
operaciones. Tanto antes como ahora, los sistemas de informacin consistan en:
Cada una
de
los
Un
Hardware
Datos
Sistemas
de
Informaci
n
Software
Personas
Procedimien
tos
el
desarrollo
buen
lleven
cabo
sus
objetivo
de
los
sistemas
de
los
archivos
de
datos
Bases de
Datos
Informaci
n
Software
Almacenamie
nto
Sistemas
de
Informaci
n
Estrategias
Salida de
Informaci
n
Reportes e
Informes
Entrada de
Datos
ALGORITMOS
Un algoritmo es un conjunto de acciones o secuencias de operaciones ejecutadas en un
determinado orden para resolver un problema.
Definido (confiable)
Descripcin Narrada
Pseudocdigo
Diagramas de Flujo
Diagramas N- S (Nassi-Schneiderman o de Chapin)
Diagramas N-S.- Son una herramienta que favorece la programacin estructurada y rene
caractersticas grficas propias de diagramas de flujo y lingsticas propias de
pseudocdigos. Constan de una serie de cajas contiguas que se leern siempre de arribaabajo y sus estructuras lgicas son las siguientes:
Estructura Secuencial
http://www.mailxmail.com/curso-aprende-programar/representacion-graficaalgoritmos
APLICACIN INFORMTICA.
http://www.bloginformatico.com/
http://www.ecured.cu/Aplicaci%C3%B3n_inform%C3%A1tica
DISEO
DEL
https://msdn.microsoft.com/es-es/library/s9ek7a19(v=vs.90).aspx
Un programa est estructurado si posee un nico punto de entrada y slo uno de salida,
existen de "1 a n" caminos desde el principio hasta el fin del programa y por ltimo, que
todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.
Programacin modular.- En la programacin modular consta de varias secciones dividas
de forma que interactan a travs de llamadas a procedimientos, que integran el programa
en su totalidad.
En la programacin modular, el programa principal coordina las llamadas a los mdulos
secundarios y pasa los datos necesarios en forma de parmetros.
A su vez cada mdulo puede contener sus propios datos y llamar a otros mdulos o
funciones.
Programacin orientada a objetos (POO).- Se trata de una tcnica que aumenta
considerablemente la velocidad de desarrollo de los programas gracias a la reutilizacin de
los objetos.
El elemento principal de la programacin orientada a objetos es el objeto. El objeto es un
conjunto complejo de datos y programas que poseen estructura y forman parte de una
organizacin. Un objeto contiene varios datos bien estructurados y pueden ser visibles o no
dependiendo del programador y las acciones del programa en ese momento.
El polimorfismo y la herencia son unas de sus principales caractersticas y por ello
dedicaremos ms adelante un artculo exclusivamente a tratar estos dos trminos.
En DesarrolloWeb.com hemos publicado anteriormente una explicacin de lo que es
la programacin
orientada
a
objetos.
Programacin concurrente.- Este tipo de programacin se utiliza cuando tenemos que
realizar varias acciones a la vez. Se suele utilizar para controlar los accesos de usuarios y
programas
a
un
recurso
de
forma
simultnea.
Se trata de una programacin ms lenta y laboriosa, obteniendo unos resultados lentos en
las
acciones.
Programacin funcional.- Se caracteriza principalmente por permitir declarar y llamar a
funciones
dentro
de
otras
funciones.
Programacin lgica.- Se suele utilizar en la inteligencia artificial y pequeos programas
infantiles. Se trata de una programacin basada en el clculo de predicados (una teora
matemtica que permite lograr que un ordenador basndose en hecho y reglas lgicas,
pueda dar soluciones inteligentes).
CALIDAD DE LOS PROGRAMAS.Dentro del contexto de Ingeniera de Software, se
tomar la definicin de calidad en el software
propuesta por la organizacin internacional de
estndares (ISO/IEC DEC 9126): La totalidad de
caractersticas de un producto de software que tienen como habilidad, satisfacer
necesidades explcitas o implcitas. Otra definicin bastante completa de calidad en el
software es la que se presenta ms adelante: Se puede decir que el software tiene calidad si
cumple o excede las expectativas del usuario en cuanto a:
http://www.definicionabc.com/tecnologia/programacion.php
http://www.desarrolloweb.com/articulos/2477.php
http://www.eumed.net/libros-gratis/2008a/351/Calidad%20de%20Software.htm
DOCUMENTACIN DE LOS PROGRAMAS. FORMAS DE DOCUMENTACIN
Despus del Diseo del programa se debe de llevar asociado un documento. Estos
documentos son muy importantes ya que van a regir las fases del ciclo de vida del software
y se recogen los pasos seguidos en cada fase para su ejecucin. No es viable la solucin
mostrada por algunos programadores de ir directamente a la implementacin sin antes
pararse en las fases 1, 2 y 3. Un trabajo deficiente en estas fases supone una mala
definicin del problema y por tanto el sistema no cumplir seguramente con todos los
requisitos. El diseo del sistema no ser efectivo y los errores sern de difcil solucin. Por lo
tanto en la realizacin de las prcticas ser obligado cumplimentar un formulario que guiar
al alumno en la fase de anlisis de requisitos y de diseo.
Este documento tiene como objeto asegurar que tanto el desarrollador como el cliente
tienen la misma idea sobre las funcionalidades del sistema. Es muy importante que esto
quede claro ya que si no el desarrollo software no ser aceptable.
FORMAS DE DOCUMENTACIN
La documentacin que se entrega al cliente se divide claramente en dos categoras, interna
y externa:
Interna: Es aquella que se crea en el mismo cdigo, ya puede ser en forma de comentarios
o de archivos de informacin dentro de la aplicacin.
Externa: Es aquella que se escribe en cuadernos o libros, totalmente ajena a la aplicacin
en si. Dentro de esta categora tambin se encuentra la ayuda electrnica.
La gua tcnica.- En la gua tcnica o manual tcnico se reflejan el diseo del proyecto, la
codificacin de la aplicacin y las pruebas realizadas para su correcto funcionamiento.
Generalmente este documento est diseado para personas con conocimientos de
informtica, generalmente programadores.
El principal objetivo es el de facilitar el desarrollo, correccin y futuro mantenimiento de la
aplicacin de una forma rpida y fcil.
Esta gua est compuesta por tres apartados claramente diferenciados:
Cuaderno de carga: Es donde queda reflejada la solucin o diseo de la
aplicacin. Esta parte de la gua es nicamente destinada a los programadores. Debe
estar realizado de tal forma que permita la divisin del trabajo
Son aquellos manipulados por las instrucciones. Mediante ellos, en un programa podremos
realizar el almacenamiento de los datos y de los resultados de las distintas operaciones.
Tiene tres atributos:
Nombre: Es el identificador del mismo.
Tipo: Conjunto de valores que puede tomar.
Valor: Elemento del tipo que se asigna.
IDENTIFICADORES
Son palabras creadas por el programador para dar nombre a los objetos y dems elementos
que necesita declarar en un programa: variables, constantes, tipos, estructuras de datos,
archivos, subprogramas, etc.
TIPOS DE DATOS
Los tipos de datos pueden ser simples o elementales y estructuras de datos o estructurados.
TIPO NUMRICO
TIPO CARACTER
TIPO
BOOLEANO
ENTERO
REAL
Ejemplo:
1987
-12
+3300
Ejemplo: 97.84
-12.00
+0.5
Un valor en notacin
exponencial
tiene
la
forma
mantisa
E
exponente,
donde
mantisa es un nmero
real y exponente un
nmero
entero
y
representa la cantidad
mantisa
multiplicado
por
10
elevado
al
exponente.
Es el conjunto
formado por los
valores FALSO y
CIERTO.
Se
expresan con su
nombre.
Alfanumric
os
+
Concatenaci
n
Relacionales
Lgicos:
Parntesis
= Igual a
< Menor que
> Mayor que
<= Menor o igual
que
>= Mayor o igual
que
<> Distinto a
no
negacin
y
conjuncin
o
disyuncin
( ) Se utilizan
para anidar
expresiones.
Operador Y
FALSO Y FALSO
FALSO
FALSO Y CIERTO
FALSO
CIERTO Y FALSO
FALSO
CIERTO Y CIERTO
CIERTO
>>
>>
>>
>>
Operador O
FALSO O FALSO
FALSO
FALSO O CIERTO
CIERTO
CIERTO O FALSO
CIERTO
CIERTO O CIERTO
CIERTO
>>
>>
>>
>>
ORDEN DE
EVALUACION DE LOS
OPERADORES
1.
Parntesis
(comenzando por los
ms internos)
2. Signo
3. Potencias
4.
Productos
y
divisiones
5. Sumas y restas
6. Concatenacin
7. Relaciones
8. Negacin
9. Conjuncin
10. Disyuncin
PI * X ^ 2 > Y o 2 * PI * X <= Z
PI * 1 > Y o 2 * PI * X <= Z
3.14159 > Y o 2 * PI * X <= Z
3.14159 > Y o 6.28318 * X <= Z
3.14159 > Y o 6.28318 <=Z
FALSO O 6.28318 <= Z
FALSO o CIERTO
CIERTO
DON + JUAN = DON JUAN o A
= a
DON JUAN = DON JUAN o A = a
CIERTO o A = a
CIERTO O FALSO
CIERTO
TIPOS DE LENGUAJES.
Lenguajes de bajo nivel.- Son lenguajes totalmente dependientes de la mquina, es decir
que el programa que se realiza con este tipo de lenguajes no se puede migrar o utilizar en
Tercera generacin: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal,
Cobol
Cuarta generacin. Son los lenguajes capaces de generar cdigo por si solos, son los
llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el
lenguaje. Aqu tambin se encuentran los lenguajes orientados a objetos, haciendo
posible la reutilizacin d partes del cdigo para otros programas. Ej. Visual, Natural
Adabes
ENSAMBLADORES.
El nico lenguaje que entienden los microcontroladores es el cdigo mquina formado por
ceros y unos del sistema binario.
El lenguaje ensamblador expresa las
instrucciones de una forma ms natural
al hombre a la vez que muy cercana al
microcontrolador, ya que cada una de
esas instrucciones se corresponde con
otra en cdigo mquina.
El lenguaje ensamblador trabaja con
nemnicos,
que
son
grupos
de
caracteres
alfanumricos
que
simbolizan las rdenes o tareas a
realizar.
La traduccin de los nemnicos a cdigo
mquina
entendible
por
el
microcontrolador la lleva a cabo un
programa ensamblador.
http://www.ecured.cu/Lenguaje_de_Programaci%C3%B3n
http://www.lenguajes-de-programacion.com/lenguajes-de-programacion.shtml
http://www.desarrolloweb.com/articulos/2358.php
https://funprogramacion.wikispaces.com/Compiladores+e+Int%C3%A9rpretes
UNIDAD II 60 periodos
Herramientas y anotaciones para el diseo de algoritmos. Diagramas de flujo. Pseudocdigo. Tablas de
decisin.
Estructura general de un programa. Partes de un programa (entrada, proceso, salida).
Clasificacin de las instrucciones. De declaracin. Primitivas. De control. Compuestas.
Variables auxiliares. Contadores. Acumuladores. Switches
Tcnicas de programacin. Programacin convencional. Programacin estructurada (teorema y
herramientas). Programacin modular (subprogramas, procedimientos, funciones, recursos).
UNIDAD III
HISTORIA DEL LENGUAJE C.
Filosofa
Uno de los objetivos de diseo del lenguaje C es que slo sean necesarias unas pocas
instrucciones en lenguaje mquina para traducir cada elemento del lenguaje, sin que haga
falta un soporte intenso en tiempo de ejecucin. Es muy posible escribir C a bajo nivel de
abstraccin; de hecho, C se us como intermediario entre diferentes lenguajes.
En parte a causa de ser de relativamente bajo nivel y de tener un modesto conjunto de
caractersticas, se pueden desarrollar compiladores de C fcilmente. En consecuencia, el
lenguaje C est disponible en un amplio abanico de plataformas (seguramente ms que
cualquier otro lenguaje). Adems, a pesar de su naturaleza de bajo nivel, el lenguaje se
desarroll para incentivar la programacin independiente de la mquina. Un programa
escrito cumpliendo los estndares e intentando que sea porttil puede compilarse en
muchos computadores.
C se desarroll originalmente (conjuntamente con el sistema operativo Unix, con el que ha
estado asociado mucho tiempo) por programadores para programadores. Sin embargo, ha
alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la
programacin de sistemas, para la que se dise originalmente.
Historia
El desarrollo inicial de C se llev a cabo en los Laboratorios Bell de AT&T entre 1969 y 1973;
segn Ritchie, el periodo ms creativo tuvo lugar en 1972. Se le dio el nombre "C" porque
muchas de sus caractersticas fueron tomadas de un lenguaje anterior llamado "B".
Hay muchas leyendas acerca del origen de C y el sistema operativo con el que est
ntimamente relacionado, Unix. Algunas de ellas son:
El desarrollo de C fue el resultado del deseo de los programadores de jugar con Space
Travel. Haban estado jugando en el mainframe de su compaa, pero debido a su poca
capacidad de proceso y al tener que soportar 100 usuarios, Thompson y Ritchie no tenan
suficiente control sobre la nave para evitar colisiones con los asteroides.
Por ese motivo decidieron portar el juego a un PDP-7 de la oficina que no se utilizaba; pero
esa mquina no tena sistema operativo, as que decidieron escribir uno. Finalmente
decidieron portar el sistema operativo del PDP-11 que haba en su oficina, pero era muy
costoso, pues todo el cdigo estaba escrito en lenguaje ensamblador.
Entonces decidieron usar un lenguaje de alto nivel y porttil para que el sistema operativo
se pudiera portar fcilmente de un ordenador a otro. Consideraron usar B, pero careca de
las funcionalidades necesarias para aprovechar algunas caractersticas avanzadas del PDP11. Entonces empezaron a crear un nuevo lenguaje, C.
La justificacin para obtener el ordenador original que se us para desarrollar Unix fue crear
un sistema que automatizase el archivo de patentes. La versin original de Unix se
desarroll en lenguaje ensamblador. Ms tarde, el lenguaje C se desarroll para poder
reescribir el sistema operativo.
En 1973, el lenguaje C se haba vuelto tan potente que la mayor parte del kernel Unix,
originalmente escrito en el lenguaje ensamblador PDP-11/20, fue reescrita en C. ste fue
uno de los primeros ncleos de sistema operativo implementados en un lenguaje distinto al
ensamblador. (Algunos casos anteriores son el sistema Multics, escrito en PL/I, y Master
Control Program para el B5000 de Burroughs, escrito en ALGOL en 1961).
El C de Kernighan y Ritchie
En 1978, Ritchie y Brian Kernighan publicaron la primera edicin de El lenguaje de
programacin C, tambin conocido como La biblia de C. Este libro fue durante aos la
especificacin informal del lenguaje. El lenguaje descrito en este libro recibe habitualmente
el nombre de "el C de Kernighan y Ritchie" o simplemente "K&R C" (La segunda edicin del
libro cubre el estndar ANSI C, descrito ms abajo.)
Kernighan y Ritchie introdujeron las siguientes caractersticas al lenguaje:
El tipo de datos struct.
El tipo de datos long int.
El tipo de datos unsigned int.
Los operadores (=+ y =-) fueron sustituidos por (+= y -=) para eliminar la ambigedad
sintctica de expresiones como (i=-10), que se podra interpretar bien como (i =- 10) o bien
como (i = -10).
El C de Kernighan y Ritchie es el subconjunto ms bsico del lenguaje que un compilador
debe de soportar. Durante muchos aos, incluso tras la introduccin del ANSI C, fue
considerado "el mnimo comn denominador" en el que los programadores deban
programar cuando deseaban que sus programas fueran transportables, pues no todos los
compiladores soportaban completamente ANSI, y el cdigo razonablemente bien escrito en
K&R C es tambin cdigo ANSI C vlido.
En estas primeras versiones de C, las nicas funciones que necesitaban ser declaradas si se
usaban antes de la definicin de la funcin eran las que retornaban valores no enteros. Es
decir, se presupona que una funcin que se usaba sin declaracin previa (prototipo)
devolvera un entero.
Variantes
Desde el inicio del lenguaje han surgido varias ramas de evolucin que han generado varios
lenguajes:
Objective-C es un primer intento de proporcionar soporte para la programacin orientada a
objetos en C, de escasa difusin, pero actualmente usado en Mac OS X y GNUstep.
C++ (pronunciado C Plus Plus) diseado por Bjarne Stroustrup fue el segundo intento de
proporcionar orientacin a objetos a C y es la variante ms difundida y aceptada. Esta
versin combina la flexibilidad y el acceso de bajo nivel de C con las caractersticas de la
programacin orientada a objetos como abstraccin, encapsulacin y ocultacin.
Tambin se han creado numerosos lenguajes inspirados en la sintaxis de C, pero que no son
compatibles con l:
Java, que une una sintaxis inspirada en la del C++ con una orientacin a objetos ms similar
a la de Smalltalk y Objective C.
El lenguaje de programacin C fue creado por Dennis Ritchie entre 1969 y 1973 cuando
trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseo del sistema
operativo UNIX. C fue creado para poder escribir dicho sistema operativo en un lenguaje de
alto nivel, independiente del hardware donde se ejecutara.
Contar con un lenguaje de alto nivel permiti el avance de los sistemas operativos, ya que el
mismo cdigo poda ser utilizado en las distintas plataformas, propiciando la reutilizacin de
cdigo y reduciendo los tiempos de desarrollo. As es que los sistemas operativos basados
en UNIX, el sistema BSD, el sistema GNU/Linux y muchos otros fueron desarrollados en C.
Adems, con el paso del tiempo se han desarrollado cientos de bibliotecas que permiten a
los programadores de C utilizar el cdigo desarrollado por otros para la realizacin de tareas
comunes. Esto, a su vez, ha propiciado el desarrollo de aplicaciones en lenguaje C.
Actualmente es imposible contar la cantidad de aplicaciones y herramientas desarrolladas
en C.
Evolucin[editar]
A mediados de los aos 60s, Martin Richards dise el lenguaje BCPL con la finalidad de
usarlo para escribir software de sistemas operativos y compiladores.
En 1969, Ken Thompson escribi el Lenguaje B, en Bell Laboratories, con el objetivo de
recodificar UNIX (escrito hasta ese momento en lenguaje ensamblador) usando un lenguaje
de alto nivel ms portable y flexible.
Durante los siguientes aos, Dennis Ritchie modific el lenguaje B, llegando a crear el
lenguaje C y reescribiendo el sistema UNIX en dicho lenguaje; aadi caractersticas nuevas,
como son el diseo de tipos y las estructuras de datos.
En 1978, Dennis Ritchie y Brian Kernighan publicaron la primera edicin del libro El lenguaje
de programacin C. Este libro fue durante aos la especificacin informal del lenguaje. El
lenguaje descrito en la primera edicin de este libro, fue conocido como "el C de Kernighan y
Ritchie" o simplemente "K&R C". En este libro se introdujeron nuevas caractersticas al
lenguaje: los tipo de datos struct, long int y unsigned int; los operadores =+ y =- fueron
sustituidos por += y -=.
A mediados de los aos 80, Bjarne Stroustrup (tambin de los laboratorios Bell), crea
el lenguaje C++, un lenguaje basado en C, con numerosas caractersticas adicionales,
siendo la principal que est orientado a objetos. Si bien se han creado muchos lenguajes
basados en C, C++ es el que ha permanecido ms asociado a C.
En los aos siguientes a la publicacin del C de Kernighan y Ritchie, se aadieron al lenguaje
muchas caractersticas no oficiales, que estaban presentes en algunos compiladores y no en
otros. Fue por ello que en 1989 ANSI (American National Standards Institute) public el
primer estndar oficial de C, que es conocido como ANSI C.
En este estndar se tomaron muchas de las funcionalidades no oficiales y se agregaron
funcionalidades nuevas como los prototipos de funcin, y un preprocesador mejorado.
Tambin se cambi la sintaxis de la declaracin de parmetros de funciones, para que
incluyeran el tipo junto con el nombre.
Al ao siguiente, en 1990 se public la estandarizacin ISO del lenguaje. Este estndar es
bsicamente el estndar ANSI, con unas pocas modificaciones de formato. A este estndar
se lo conoce, entonces, como C89, o C90, y se trata del mismo lenguaje.
Basndose en el estndar ANSI que estaba en preparacin, en 1988 Kernighan y Ritchie
publicaron la segunda edicin de su libro, que es an hoy utilizada como una de las
referencias principales del lenguaje.
Durante los siguientes aos, el lenguaje C permaneci sin demasiados cambios. Sin
embargo, como haba sucedido antes, los distintos compiladores fueron incorporando
caractersticas adicionales, que otros compiladores no tenan, siendo C++ la principal
influencia.
Fue por ello que a finales de los noventa se decidi revisar el estndar de C, lo que llev a la
publicacin del estndar C99. Este estndar incluye varias nuevas caractersticas como son:
las funciones inline; la posibilidad de declarar variables en cualquier parte del cdigo; los
comentarios de una sola lnea utilizando //; los tipos de datos long long int, bool y complex,
entre otras.
An hoy el proceso de evolucin del lenguaje sigue avanzando, y desde 2007 se est
trabajando en el armado de un nuevo estndar.
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Historia_de_C
Actualmente, debido a sus caractersticas, puede ser utilizado para todo tipo de programas.
- Quick C
- C++
- Turbo C
- Turbo C ++
- Borland C
- Borland C++
- Microsoft C
- Turbo C 2.0
- Turbo C++ 1.0
- Borland C++ 2.0
Caractersticas
Algunas de las caractersticas ms importantes que definen el lenguaje y que han permitido
que
sea
tan
popular,
como
lenguaje
de
programacin
son:
Tamao
pequeo.
Uso
extensivo
de
llamadas
a
funciones.
Comandos
breves
(poco
tecleo).
Lenguaje
estructurado.
Programacin
de
bajo
nivel
(nivel
bit)
Implementacin de apuntadores - uso extensivo de apuntadores para la memoria, arreglos,
estructuras
y
funciones
Las diversas razones por la cual se ha convertido en un lenguaje de uso profesional son:
El
uso
de
constructores
de
alto
nivel.
El
poder
manejar
actividades
de
bajo-nivel.
El
generar
programas
eficientes.
La posibilidad de poder ser compilado en una variedad de computadoras, con pocos
cambios (portabilidad). Un punto en contra es que tiene una deteccin pobre de errores, lo
cual en ocasiones es problemtico para los principiantes
int
main
printf ("hola
()
{
mundo");
Aun quedan algunos aspectos por probar de esta aplicacin. En particular, el poder
comprobar si en verdad se puede adaptar a cualquier tipo de procesamiento que se
necesite, y si se puede portar sin muchas dificultades. Estos dos puntos estn fuera del
alcance de este proyecto, sin embargo esperamos algun da verlos llevados a cabo.
Caractersticas Bsicas
de
lenguaje
Operatividad: Lo mnimo que debe hacer un programa es funcionar, es decir producir los
resultados esperados independientemente de cualquier otra caracteristica.
Legibilidad: Un programa puede hacerse mas legible dandole cierto formato al codigo,
utilizando el sangrado (indentacion) para reflejar la estructura de control del programa e
insertado espacios o tabuladores. es conveniente disear reglas propias para darle
uniformidad
a
todos
los
programas.
Claridad: Esta caracteristica se refiere ala facilidad con que el texto de programa comunica
las ideas subyacentes. el programa debe indicar claramente lo que el programador desea.
una buena programacin es similar ala elaboracin del documento legal; por ejemplo,
conviene utilizar nombres adecuados para los identificadores, hacer comentarios correctos,
claros
y
concisos,
etc.
permiten
la
Ventajas
reutilizacion
Desventajas
de
De
codigo.
Lenguaje
Ventajas
-Lenguaje
-Lenguaje
de programacin
muy didctico gracias
orientado
este
lenguaje
puedes
a
aprender
objetos
muchos
otros
-Existen
muchos
algoritmos
Desventajas
-tiene buen soporte y es robusto pero si existen errores en los pisos inferiores toda la
parte superior se
biene
abajo
-manejo
de
punteros
memoria
respecto
ellos
http://ddsbdi.blogspot.com/2012/06/historia-de-lenguaje-c.html
UNIDAD IV
TIPOS DE DATOS. SIMPLES. ESTRUCTURAS DE DATOS
TIPOS DE DATOS
C ofrece tipos de datos bsicos y dos construcciones para crear datos ms complejos.
TIPOS DE DATOS SIMPLES
Nmeros reales o en coma flotante definidos con las palabras claves float o double
Enteros.- Se definen con int y admiten de forma opcional dos prefijos modificadores:
short y long: Modifica el tamao en bits del entero. Existen por tanto tres tipos de
enteros: int, short int (que se puede abreviar como short), y long int (que se
puede abreviar como long).
El lenguaje C no define tamaos fijos para sus tipos de datos bsicos. Lo nico que
garantiza es que un short int tiene un tamao menor o igual que un int y este a su vez
un tamao menor o igual a un long int. Esta caracterstica del lenguaje ha complicado la
creacin de programas que sean compatibles entre varias plataformas.
Tamao (bytes)
1
2
4
4
8
12
ESTRUCTURAS DE DATOS
C permite definir estructuras de datos que agrupan campos de otros tipos de datos. La
sintaxis se muestra a continuacin:
struct nombre_de_la_estructura
{
tipo_1 nombre_del_campo1;
tipo_2 nombre_del_campo2;
tipo_N nombre_del_campoN;
};
La construccin anterior slo define un nuevo tipo de datos, no se declara variable alguna.
Es decir, la construccin anterior tiene la misma entidad que el tipo int o float. El
nombre del nuevo tipo estructurado definido es struct
nombre_de_la_estructura. Por ejemplo:
1
#define NOMBRE_SIZE 100
2
#define APELLIDO_SIZE 200
3
#define CONTACTO_NUM 100
4
5
/* Definicin de la estructura */
6
struct contact_information
7
{
8
char nombre [FIRTS_SIZE];
9
char apellido [LAST_SIZE]
10
unsigned int telfono
11
unsigned int celular
12
};
13
14
/* Declaracin de variables con esta estructura */
15
struct contact_information persona1, persona2, contactos[CONTACTO_NUM];
Las lneas 6 a 12 definen un nuevo tipo de datos estructurado que contiene cuatro campos,
los dos primeros son tablas de letras y los dos ltimos son enteros. A pesar de que estos
campos tienen nombres y tamaos, hasta el momento no se ha declarado ninguna variable.
Es en la lnea 15 en la que se s se declaran tres variables de este nuevo tipo estructurado.
La ltima de ellas es una tabla de 100 de estas estructuras. Asegrate de que tienes clara la
diferencia entre la definicin de un tipo de datos y la declaracin de variables de ese
tipo. La siguiente figura muestra estos conceptos para una estructura y un tipo bsico.
Tipo de dato bsico
Definicin
int
Declaracin
int a, b [100];
Un programa en C++ est definido por funciones (grupo de instrucciones que pueden o no hacer
algn clculo), donde la funcin principal debe ser llamada main.
La
Directivas
Las directivas de preprocesamiento son definidas para que el compilador realice algo antes de
compilar el programa (revisar si la sintaxis es correcta y generar un cdigo ejecutable por la
computadora), como el incluir funciones de alguna biblioteca conocida
#include <iostream.h>
Esta directiva permitir utilizar la funcin de lectura cin y la funcin de escritura cout
propias de C++.
#include <stdio.h>
Esta directiva permitir utilizar las funciones de lectura y escritura propias de C.
Estas directivas tambin funcionan con C++, aunque existen algunos compiladores que no las
soportan en cuyo caso es necesario hacer uso de los namespaces.
Un namespace es una declaracin de regin. El propsito de estos es localizar el nombre de
identificadores para evitar colisiones.
Para tener compatibilidad, cuando un programa en C++ incluye una librera de C, haremos uso del
namespace.
Ejemplo:
En C tenemos
#include <iostream.h>
#include <iostream>
using namespace std;
Declaraciones Globales
Las declaraciones globales son definiciones de variables o constantes que sern utilizadas por
cualquiera de todas las funciones definidas en el programa.
La definicin de una funcin se realiza escribiendo primero el tipo del valor de retorno de la
funcin, despus el nombre de la funcin, posteriormente entre parntesis las variables que
utilizar dicha funcin (parmetros) y finalmente las instrucciones de la funcin. Ejemplos:
double promedio( int a, int b, int c)
{
return (a + b + c ) / 3.0;
}
Declara a la funcin promedio, la cual recibe tres valores enteros y calcula y regresa el
promedio de ellos.
Comentarios
Los comentarios pueden escribirse utilizando alguna de las siguientes formas:
1. comentando en la misma lnea, utiliza //, ejemplo:
int edad; // la edad se utilizar como un
valor entero.
2.
Caracteres
Los caracteres que se pueden utilizar para construir elementos del lenguaje (componentes lxicos o
tokens) son:
abcdefghi jklmnopqrstuvwxyz
ABCDEFCHIJKLMNOPQRSTUVWXYZ
0123456789
/* Comentario estilo C */
Enteros
Dentro de los enteros estn los tipos: short, int, long, los cuales varan en rango de acuerdo al
compilador que se utilice, siendo long rango mayor y short el de menor.
Flotantes
Dentro de los flotantes C++ tiene los tipos: float, double y long double donde al igual que los
enteros vara el rango de cada uno de acuerdo al compilador que se utilice. De igual forma el float es
el de menor rango siendo long double el de rango mayor
Caracteres
Se utiliza el tipo char. Para representar un carcter en C++ se utilizan apstrofes.
Ejemplos: a, b , 5
Para representar una cadena de caracteres se utilizan las comillas.
Ejemplo: soy una cadena
Tipo de dato
Palabra reservada
Ejemplo
Entero
Int
2 6 78
Caracteres
char
A - b - C hola - F
Decimal/punto flotante
3,1416 - 1,8
Booleano
bool
TRUE or FALSE
Vacio
void
FUNDAMENTALES.
DERIVADOS.
NOMBRES DE TIPOS.
CONSTANTES.
IDENTIFICADORES.
Identificadores
tescprueba Identificador permitido
Xl23
Identificador permitido
multi_palabra
Identificador permitido
Var25
Identificador permitido
15var
no Identificador permitido
C++ es sensible a las maysculas.
Es importante declarar las variables antes de utilizarlas. Se puede declarar una variable en dos
lugares dentro de un programa:
Las variables se pueden inicializar a la vez que se declaran, o bien, inicializarse despus de la
declaracin. El primer mtodo es probablemente el mejor, ya que se combina la definicin de
la variable con la asignacin de su valor inicial.
Tipos de Variables
DECLARACIN DE CONSTANTES.
En C++, los identificadores de variables/constantes se pueden declarar constantes, significando que
su valor no se puede modificar. Esta declaracin se realiza con la palabra reservada const. Las
siguientes son declaraciones de constantes vlidas:
Smbolo
Suma
Resta
Multiplicacin
Divisin
Potencia
**
Operadores relacionales.- Se utilizan para hacer comparaciones entre caracteres y nmeros. Dan
siempre como resultado un valor lgico (True o False).
Operacin
Smbolo
Igual a
Diferente de
<> o #
Mayor que
>
Menor que
<
Mayor o igual
a
>=
Menor o igual
a
<=
EVALUACIN DE OPERADORES.
CONVERSIN DE TIPOS.
UNIDAD V
- Estructuras de datos: internas, estticas, dinmicas y externas.
- Estructuras estticas. Definiciones y caractersticas.
- Tablas o arrays. Caractersticas. Tipos de tablas. Declaracin de tablas. Representacin de tablas.
Operaciones con tablas.
- Cadenas de caracteres. Operaciones con cadenas. Funciones para manipular cadenas de caracteres.
Funciones para la conversin de datos. Funciones para conversin de caracteres.
- Estructuras. Creacin. Operaciones con estructuras. Arrays de estructuras.
- Uniones.
- Punteros. Creacin. Utilizacin. Operaciones con punteros.
- Punteros y arrays. Punteros a cadenas de caracteres. Inicializacin de cadenas.
- Arrays de punteros. Punteros a punteros: inicializacin de un array de punteros a cadenas de
caracteres.
- Punteros a estructuras. Punteros a uniones. Punteros a funciones.
UNIDAD VI
- Archivos o ficheros. Terminologa. Caractersticas. Clasificacin segn su uso. Soportes. Tipos.
- Organizacin de archivos. Secuencia. Aleatoria o directa. Secuencia indexada.
- Forma de acceso a archivos. Secuencial. Directa. Dinmica.
- Los archivos en C. Punteros a ficheros. Operaciones sobre archivos: creacin, consulta, actualizacin,
clasificacin, reorganizacin, destruccin, fusin de archivos y rotura de un archivo.
- Procesamiento de archivos secuenciales: creacin, consulta y actualizacin.
- Procesamiento de archivos directos: clave-direccin, colisiones y tratamiento, creacin, consulta y
actualizacin.
- Procesamiento de archivos secuenciales indexados: clave, creacin, consulta y actualizacin.
- Mtodos de tratamiento de archivos: bsqueda (secuencial, binaria, mediante transformacin de
claves (colisiones), particin (por contenido, en secuencias); mezcla (con registro centinela, controlada por valor de clave mxima y controlada por fin de archivo); clasificacin (por mezcla directa, por
mezcla equilibrada); ordenacin (mtodos).