Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

Universidad Alejandro de Humboldt

Facultad de ingeniería
Ingeniería Informática
Desarrollo de Software

DCN0701IIV1

LENGUAJE C

Alumno:
Ronny Carrasquel V-29.983.024

Profesor:
William Salaverria

Caracas, octubre de 2022

1
INDICE

Contenido
INDICE.............................................................................................................................................2
INTRODUCCION............................................................................................................................3
BASES DE DATOS SQL.................................................................................................................4
SENTENCIAS DE DEFINICIÓN (DDL)......................................................................................4
SENTENCIAS DE MANIPULACIÓN (DML)...............................................................................5
SUBLENGUAJES ESPECIALIZADOS.........................................................................................6
SQL Hospedado............................................................................................................................6
Las SQL/CL..................................................................................................................................6
INTRODUCCION AL DISEÑO DE BASE DE DATOS.................................................................7
ETAPAS DEL DISEÑO DE BASE DE DATOS............................................................................7
DISEÑO CONCEPTUAL: el modelo ER.......................................................................................7
CONCLUSION................................................................................................................................8
REFERENCIAS...............................................................................................................................9

2
INTRODUCCION

El lenguaje de programación C fue creado por Dennis Ritchie en 1972 en Bell Telephone
Laboratories,
con el objetivo de reescribir un sistema operativo, el UNIX, en un lenguaje de alto nivel, para poder
adaptarlo (portarlo) a diferentes arquitecturas. Por este motivo sus creadores se propusieron metas de
diseños especiales, tales como:

 Posibilidad de acceder al "bajo nivel" (poder utilizar todos los recursos del hardware).
 Código generado eficiente en memoria y tiempo (programas pequeños y veloces)
 Compilador portable (implementable en todas las arquitecturas)

La primera definición oficial del lenguaje fue dada en 1978 por Brian Kernighan y Dennis Ritchie en
su libro "El lenguaje de programación C". Este lenguaje fue llamado "C K&R". En 1983 se creó el
comité ANSI que en 1988 estableció el standard ANSI C, con algunas reformas sobre el C K&R.
Simultáneamente Kernighan y Ritchie publicaron la segunda edición de su libro, describiendo la
mayor parte de las características del ANSI C.

Pese a la gran cantidad de tiempo que lleva en actividad el lenguaje, todavía es objeto de
reformulaciones. En 1999 los organismos de estandarización ISO y ANSI, conjuntamente, han
declarado adoptada la norma llamada "C99" o "C2k". A partir de este momento los compiladores han
empezado a incorporar, paulatinamente, todas las características de la norma; este es un proceso que
llevará una cantidad de tiempo difícil de predecir. Es posible esperar la publicación de un standard
C04 en el año 2004, ya que en teoría el ISO revisa sus normas cada cinco años.

3
LENGUAJE C

C es un lenguaje compilado. A nivel sintáctico, presenta grandes similitudes formales con Pascal,
pero las diferencias entre ambos son importantes. A pesar de permitir operaciones de bajo nivel, tiene
las estructuras de control, y permite la estructuración de datos, propias de los lenguajes procedurales
de alto nivel como Pascal.

Un programa en C es, por lo general, más sintético que en otros lenguajes procedurales como Pascal;
la idea central que atraviesa todo el lenguaje es la minimalidad. La definición del lenguaje consta de
muy pocos elementos; tiene muy pocas palabras reservadas. Como rasgo distintivo, en C no existen,
rigurosamente hablando, funciones o procedimientos de uso general del programador. Por ejemplo,
no tiene funciones de entrada/salida; la definición del lenguaje apenas alcanza a las estructuras de
control y los operadores. La idea de definir un lenguaje sin funciones es, por un lado, hacer posible
que el compilador sea pequeño, fácil de escribir e inmediatamente portable; y por otro, permitir que
sea el usuario quien defina sus propias funciones cuando el problema de programación a resolver
tenga requerimientos especiales.

Sin embargo, se ha establecido un conjunto mínimo de funciones, llamado la biblioteca standard del
lenguaje C, que todos los compiladores proveen, a veces con agregados. La filosofía de la biblioteca
standard es la portabilidad, es decir, casi no incluye funciones que sean específicas de un sistema
operativo determinado. Las que incluye están orientadas a la programación de sistemas, y a veces no
resultan suficientes para el programador de aplicaciones. No provee, por ejemplo, la capacidad de
manejo de archivos indexados, ni funciones de entrada/salida interactiva por consola que sean seguras
("a prueba de usuarios"). Esta deficiencia se remedia utilizando bibliotecas de funciones "de terceras
partes" (creadas por el usuario u obtenidas de otros programadores).

El usuario puede escribir sus propios procedimientos (llamados funciones, aunque no devuelvan
valores). Aunque existe la noción de bloque de sentencias, el lenguaje se dice no estructurado en
bloques porque no pueden definirse funciones dentro de otras. Las funciones de la biblioteca standard
no tienen ningún privilegio sobre las del usuario y sus nombres no son palabras reservadas; el usuario
puede reemplazarlas por sus propias funciones simplemente dándoles el mismo nombre.

El lenguaje entrega completamente el control de la máquina subyacente al programador, no


realizando controles de tiempo de ejecución. Es decir, no verifica condiciones de error comunes como
overflow de variables, errores de entrada/salida, o consistencia de argumentos en llamadas a
funciones. Como resultado, es frecuente que el principiante, y aun el experto, cometan errores de
programación que no se hacen evidentes enseguida, ocasionando problemas y costos de desarrollo.
Permite una gran libertad sintáctica al programador. No es fuertemente tipado. Cuando es necesario,
se realizan conversiones automáticas de tipo en las asignaciones, a veces con efectos laterales
inconvenientes si no se tiene precaución. Una función que recibe determinados parámetros formales
puede ser invocada con argumentos reales de otro tipo.

Se ha dicho que estas características "liberales" posibilitan la realización de proyectos complejos con
más facilidad que otros lenguajes como Pascal o Ada, más estrictos; aunque al mismo tiempo, así
resulta más difícil detectar errores de programación en tiempo de compilación. En este sentido, según
los partidarios de la tipificación estricta, C no es un buen lenguaje. Gran parte del esfuerzo de
desarrollo del standard ANSI se dedicó a dotar al C de elementos para mejorar esta deficiencia.

Los tipos de datos no tienen un tamaño determinado por la definición del lenguaje, sino que
diferentes implementaciones pueden adoptar diferentes convenciones. Paradójicamente, esta
característica obedece al objetivo de lograr la portabilidad de los programas en C. El programador
está obligado a no hacer ninguna suposición sobre los tamaños de los objetos de datos, ya que lo
contrario haría al software dependiente de una arquitectura determinada.

4
PROPIEDADES

 Núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones
matemáticas y de gestión de archivos, proporcionadas por bibliotecas.
 Es un lenguaje estructurado, i.e. tiene estructuras de control y tipos de datos estructurados
definidos por el programador a partir de los tipos atómicos típicos y mediante arreglos,
estructuras, uniones y punteros, incluidos los que apuntan a una función.
 En su primera edición no había advertencias sobre asignar a una variable un valor un tipo
distinto. Por lo que había un programa llamado lint que detectaba este tipo de errores.
Actualmente los compiladores pueden detectar inconsistencias de tipos y otros errores.
 Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e
incluir múltiples archivos de código fuente.
 Acceso a memoria de bajo nivel mediante el uso de punteros.
 Manejo de Interrupciones mediante la biblioteca signal.
 Un conjunto reducido de palabras clave.
 El llamado a funciones es por valor. Aunque se pueden pasar punteros a variables para hacer
llamados por referencia.
 Distintos tipos de almacenamiento que permiten un diseño modular.
 La palabra clave static permite encapsular variables y funciones.
 Las estructuras se declaran mediante la palabra clave struct, implementan el producto
cartesiano de tipos también llamados registros. Y la unión disyunta, también llamada suma,
co-producto o tipos variantes, se declara con la palabra clave union.
 Las estructuras y uniones permiten la implementación de árboles.
 Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel para
realizar implementaciones óptimas.
 Se diseñó como un lenguaje de programación de sistemas portátil.
 Es muy poco lo que requiere uso de ensamblador, lo que permitió portar Unix y otros
sistemas operativos a distintos equipos.
 Distingue entre mayúsculas y minúsculas, pero conserva su portabilidad en equipos que
manejan caracteres de 6 bits, como las computadoras Cyber de CDC que tenían una palabra
de 60 bits, (10 caracteres), porque usan trigráficos para codificar símbolos especiales.
 Su compilador de C se ha portado a casi todos los sistemas conocidos. Porque además de que
no se requiere codificar en ensamblador, interactúa con los lenguajes especializados YACC y
LEX. también escritos en C como parte de Unix.
 Facilita la programación modular gracias a que cuenta con distintos tipos de almacenamiento
de las variables y compilación separada. Además del macro procesador integrado cpp, que
permite declarar los encabezados de las funciones y los tipos de datos en archivos con
extensión h. En el caso de las bibliotecas del sistema Unix y de C se necesita incluir los
prototipos con las macros #include por ejemplo #include <system.h>. Ello únicamente sirve
para automatizar la declaración de objetos externos que se usarán en el programa, por lo que
es necesario pasar los nombres de las bibliotecas como parámetros del compilador que este
pasa al encadenador.

PRECACUIONES A TOMAR EN CUENTA CON C

Los programadores novatos deben tener cuidado con la gestión de la memoria; en C el programador
ha de reservar y liberar la memoria explícitamente. En otros lenguajes (como C# o Java) la memoria
es gestionada de forma transparente para el programador. Esto alivia la carga de trabajo y evita
errores, pero le quita flexibilidad al lenguaje para escribir controladores del hardware.

Por esta razón es muy importante que los recién iniciados adopten buenas prácticas a la hora de
escribir en C y manejar la memoria, como por ejemplo un uso intensivo de indentación y conocer a
fondo todo lo que implica el manejo de punteros y direcciones de memoria.

5
LENGUAJES DERIVADOS DE C

Desde el inicio del lenguaje han surgido varias ramas de evolución que han generado varios
lenguajes:

 Objective-C es un primer intento de proporcionar soporte para la programación orientada a


objetos en C, pero actualmente usado en Mac OS X, iOS y GNUstep.
 C++ (pronunciado C Plus Plus) diseñado por Bjarne Stroustrup fue el segundo intento de
proporcionar orientación a objetos a C y es la variante más difundida y aceptada. Esta versión
combina la flexibilidad y el acceso de bajo nivel de C con las características de la
programación orientada a objetos como abstracción, encapsulación y ocultación.

También 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 orientación a objetos más similar a
la de Smalltalk y Objective C.
 JavaScript, un lenguaje de scripting creado en Netscape e inspirado en la sintaxis de Java
diseñado para dar a las páginas web mayor interactividad. A la versión estandarizada se la
conoce como ECMAScript.
 C# (pronunciado C Sharp) es un lenguaje desarrollado por Microsoft derivado de C/C++ y
Java.

PROCESO DE COMPILACIÓN

La compilación de un programa C se realiza en varias fases que normalmente son automatizadas y


ocultadas por los entornos de desarrollo:

 Preprocesado consistente en modificar el código fuente en C según una serie de instrucciones


(denominadas directivas de preprocesado) simplificando de esta forma el trabajo del
compilador. Por ejemplo, una de las acciones más importantes es la modificación de las
inclusiones (#include) por las declaraciones reales existentes en el archivo indicado.
 Compilación que genera el código objeto a partir del código ya preprocesado.
 Enlazado que une los códigos objeto de los distintos módulos y bibliotecas externas (como
las bibliotecas del sistema) con el código objeto generado en el paso anterior para generar el
programa ejecutable final.

Ejemplo de código

El siguiente programa imprime en pantalla la frase "Hola Mundo" (C99).


// necesario para utilizar printf()
# include <stdio.h>

int main(void) {
printf("Hola Mundo\n");
return 0;
}

El siguiente escribe "Hola Mundo" en C89

/* comentarios con '//' no permitidos en C89, sí en C99 */


# include <stdio.h> /* necesario para utilizar printf */
6
main () /* tipo 'int' de retorno implícito */
{
printf ("Hola Mundo\n") ;
return 0;
}

Estructura de control "else if"

if (condicion 1) {
sentencia 1
} else if (condicion 2) {
sentencia 2
} else if (condicion n) {
sentencia n
} else {
sentencias por defecto
}

HERRAMIENTAS DE PROGRAMACIÓN

Al programar en C, es habitual usar algunas herramientas de programación de uso muy extendido,


sobre todo en entorno de tipo Unix:

make: automatizador del proceso de compilación y enlazado;


lint: detector de código sospechoso, confuso o incompatible entre distintas arquitecturas;
valgrind: detector de posibles fugas de memoria;
gdb: depurador (debugger) usado en GNU;
dbx: depurador preinstalado en Unix;
ddd: interfaz gráfico para los depuradores gdb o dbx.

BIBLIOTECAS C

Una biblioteca de C es una colección de funciones utilizadas en el lenguaje de programación C. Las


bibliotecas más comunes son la biblioteca estándar de C y la biblioteca del estándar ANSI C, la cual
provee las especificaciones de los estándares que son ampliamente compartidas entre bibliotecas. La
biblioteca ANSI C estándar, incluye funciones para la entrada y salida de archivos, alojamiento de
memoria y operaciones con datos comunes: funciones matemáticas, funciones de manejo de cadenas
de texto y funciones de hora y fecha.

Otras bibliotecas C son aquellas utilizadas para desarrollar sistemas Unix, las cuales proveen
interfaces hacia el núcleo. Estas funciones son detalladas en varios estándares tales como POSIX y el
Single UNIX Especificación.

Ya que muchos programas han sido escritos en el lenguaje C existe una gran variedad de bibliotecas
disponibles. Muchas bibliotecas son escritas en C debido a que C genera código objeto rápido; los
programadores luego generan interfaces a la biblioteca para que las rutinas puedan ser utilizadas
desde lenguajes de mayor nivel, tales como Java, Perl y Python.

7
INTRODUCCION AL DISEÑO DE BASE DE DATOS

Una base de datos sirve para almacenar la información que se utiliza en un sistema de información
determinado. Las necesidades y los requisitos de los futuros usuarios del sistema de información se
deben tener en cuenta.

El diseño de una base de datos consiste en definir la estructura de los datos que debe tener la base
datos de un sistema de información determinado. En el caso relacional, esta estructura será un
conjunto de esquemas de relación con sus atributos, dominios de atributos, claves primarias, claves
foráneas, etc.

ETAPAS DEL DISEÑO DE BASE DE DATOS

El diseño de una base de datos no es sencillo. Habitualmente la complejidad de la información y la


cantidad de requisitos de los sistemas de información hacen que sea complicado. Por tal motivo, en el
momento que se crea la base de datos es peculiar aplicar la antigua estrategia de dividir para vencer.

De tal manera, conviene desfragmentar el proceso del diseño en varias etapas. Cada una se obtiene un
resultado intermedio que sirve de punto de partida de la siguiente etapa, y en la última fase se obtiene
el resultado esperado. De esta manera no hace falta solucionar de golpe toda una problemática que
plantea el diseño, sino que en cada fase se afronta un solo tipo de subproblema y así se simplifica el
proceso.

1) Etapa de diseño conceptual: Fase en la que se obtiene una estructura de la información de la


futura BD independiente de la tecnología que hay que emplear.

2) Etapa del diseño lógico: En esta fase se parte del resultado del diseño conceptual, que se
transforma de forma que se adapte a la tecnología que se debe emplear.

3) Etapa de diseño físico: En esta etapa se transforma la estructura obtenida en la etapa del
diseño lógico, con el objetivo de conseguir una mayor eficiencia.

DISEÑO CONCEPTUAL: el modelo ER

El modelo ER es uno de los enfoques de modelización de datos que mas se utiliza actualmente por su
simplicidad y legibilidad. Su legibilidad se ve favorecida porque proporciona una notación
diagramática muy compresiva. Es una herramienta útil tanto para ayudar al diseñador a reflejar en un
modelo conceptual los requisitos del mundo real de interés como para comunicarse con el usuario
final sobre el modelo conceptual obtenido y, de este modo, poder verificar si satisface sus requisitos.

El modelo ER resulta fácil de aprender y de utilizar en la mayoría de las aplicaciones. Además,


existen herramientas informáticas de ayuda al diseño que utilizan alguna variante del modelo ER para
hacer el diseño de los datos.

8
CONCLUSION

Analizamos que para la realización de una Base de datos la creación de consultas de base de datos
consta de archivos que permiten realizar muchas tareas diferentes con los datos que se pueden ver.
También se pueden utilizar para controlar los registros que visualiza Base de datos la consulta no
contiene información de base de datos, si no tan solo las instrucciones necesarias para seleccionar los
registros y campos requeridos de una base de datos.

Es muy importante el observar el proceso que se sigue en la organización para determinar los
requerimientos que se necesitan para la elaboración de un sistema y para ello se recurren a varias
técnicas de recopilación de información para que el proyecto satisfaga las necesidades de los usuarios
finales que es el que está en pleno contacto con él.

9
REFERENCIAS

4.Sublenguajes especializados | Dataprix TI. (s. f.). Sub-lenguaje. https://www.dataprix.com/es/bases-


datos-master-software-libre-uoc/4sublenguajes-especializados

Capítulo 4 - Sentencias de Control. (2015, 1 marzo). Jean Mazuelos.


https://jeanmazuelos.com/biblioteca/cursos/oracle-plsql-basico/capitulo-4-sentencias-de-control

IBM Documentation. (s. f.). IBM SQL. https://www.ibm.com/docs/en

P. (s. f.). Sentencias de control en PL/SQL. Programación PL/SQL.


https://www.plsql.biz/2006/11/sentencias-de-control-en-plsql.html

10

También podría gustarte