.1.
-Breve reseña histórica del lenguaje c
El lenguaje C es un lenguaje de programación que se desarrolló en los Laboratorios Bell
entre 1972 y 1973. Fue creado por Dennis Ritchie y Ken Thompson.
El lenguaje C se desarrolló como una evolución del lenguaje B, que a su vez se basaba en
BCPL. El objetivo era crear un lenguaje más potente y flexible que B para el desarrollo del
sistema operativo UNIX.
Algunos hitos en la historia del lenguaje C son:
En 1980, el lenguaje C se hizo más popular con la aparición de versiones comerciales.
En 1982, el grupo ANSI desarrolló la versión estándar de C, conocida como ANSI C o C89.
En 1991, se creó el sistema operativo Linux con el lenguaje C.
El lenguaje C ha sido utilizado para escribir sistemas operativos como Windows, Mac OS y
Linux.
El lenguaje C es considerado uno de los lenguajes más importantes en la actualidad. Es
una base fundamental para los programadores y se utiliza en la creación de aplicaciones,
comandos y herramientas.
[Link] y desventajas del C
Ventajas del Lenguaje C
Eficiencia y Rendimiento: La ejecución rápida de programas es una razón clave para la
elección del lenguaje C. Su capacidad para acceder directamente a la memoria y optimizar
los recursos lo convierte en una opción eficiente para aplicaciones de alto rendimiento.
Portabilidad: Los programas escritos en C pueden ejecutarse en diversas plataformas,
haciendo que sea una elección versátil para desarrolladores que desean llegar a audiencias
más amplias sin tener que reescribir el código desde cero.
Comunidad Activa: A pesar de su longevidad, la comunidad de desarrolladores de C sigue
siendo vibrante, proporcionando acceso a una amplia gama de recursos, bibliotecas y
soporte en línea, facilitando el aprendizaje y la resolución de problemas.
Desventajas del Lenguaje C
Complejidad: C puede resultar desafiante para los principiantes debido a su sintaxis más
baja y su enfoque en la gestión manual de la memoria, lo que puede generar más errores y
requerir un aprendizaje más profundo.
Falta de Abstracción: A diferencia de lenguajes más modernos, C carece de algunas
características de alto nivel, lo que puede hacer que ciertas tareas sean más laboriosas en
comparación con alternativas más recientes.
Seguridad: La gestión manual de la memoria en C puede llevar a problemas como fugas de
memoria o desbordamientos de búfer si no se manejan adecuadamente, afectando
potencialmente la seguridad de la aplicación.
3.-Estructura de un programa C
Un programa en C se compone de:
Directivas de preprocesador
Variables
Funciones
Statements (en español sería algo como “declaraciones”)
Comentarios
Ejemplo:
Este es el clásico ejemplo de un programa que imprime en pantalla la palabra “Hello
World!”(en este caso en una consola como el CMD de Windows o la terminal en
linux/Mac ) que se usa como ejemplo base en el mundo de la programación.
En la primera línea tenemos una directiva del preprocesador “#include
<stdio.h>”. Esto nos indica que se incluirá la biblioteca standard input output en
nuestro programa.
Las directivas del pre-procesador se ejecutan antes de compilar nuestro programa.
Una forma sencilla de ubicar estas es porque empiezan o deben empezar con el
símbolo “#” por lo que si ejecutamos el programa con una directiva sin dicho símbolo
el programa mostrará un error.
Después tenemos un comentario “//Esto es un comentario”, los comentarios no
afectan al funcionamiento del programa, su única función es hacer anotaciones dentro
del programa. Esto con el fin de entender que se está haciendo para en dado caso de
que llegue otro programador o después de mucho tiempo tengamos que hacer una
modificación logremos entender que se hizo y porqué.
Nota: Se pueden tener N comentarios, pero es recomendable mantener cada
comentario corto y lo más explicativo posible.
En la siguiente línea tenemos la declaración de una función, en este caso la función
principal del programa “int main (void)”. Esta función es donde se inicia la ejecución
de nuestro programa.
Después del último parentesís empieza un símbolo de llave de apertura que se cierra
hasta el final del programa “{ … }” .
Nota: Regularmente en programación los 3 puntos seguidos indican que ahí existirá
un segmento de código cualquiera.
Estas llaves nos indican el inicio “{“ y fin de una función, en este caso de la función
“main”.
Posteriormente y dentro de la función “main” tenemos “printf(“Hola
mundo!\n”);
Esto es una llamada a la función “printf” (print formatted) de la biblioteca “stdio.h”
que facilita la impresión de mensajes, en este caso el mensaje a imprimir es “Hola
mundo!” (en la terminal o consola se mostrará sin las comillas) y con un salto de línea
“\n”.
Después tenemos “return 0;” que lo que indica es que la función retornará 0 (cero)
lo que indicará al programa que todo se ejecutó con éxito y terminará la ejecución del
mismo ya que la siguiente línea nos indica el final de la función “}”.
Y esto sería toda la estructura de el programa más básico que podemos tener, en
próximos post te hablaremos de variables, funciones propias, los statements y la
sintaxis del lenguaje.
4.-Elementos sintaticos y declaraciones
Los elementos sintácticos son los caracteres que se combinan para formar declaraciones,
expresiones y enunciados en un lenguaje de programación. Las declaraciones definen
identificadores que se pueden utilizar en los enunciados y expresiones.
Elementos sintácticos
Los elementos sintácticos fundamentales se llaman tokens.
Los tokens se combinan para formar declaraciones, expresiones y enunciados.
Declaraciones
Las declaraciones definen identificadores como el nombre de una variable o función.
Las declaraciones pueden asignar memoria para el identificador.
Los elementos de una declaración para un objeto de datos son:
Especificadores de clase de almacenamiento
Especificadores de tipo
Calificadores de tipo
Visión general de declaradores
Inicializadores
Sintaxis
La sintaxis es el conjunto de reglas que definen el orden de los caracteres en un
lenguaje de programación.
La sintaxis es necesaria para utilizar un lenguaje de programación de manera eficaz.
Los errores de sintaxis ocurren cuando los elementos de una declaración están
desordenados.
5-Elementos sintácticos del lenguaje
Los elementos sintácticos del lenguaje son las palabras y los grupos de palabras que se
combinan para formar oraciones y expresar significados.
Algunos de los elementos sintácticos son:
Palabras
Son las unidades más pequeñas de la sintaxis y pueden ser sustantivos, adjetivos,
verbos, adverbios, pronombres, determinantes y preposiciones.
Sintagmas
Son construcciones que están formadas por una o más palabras y pueden ser nominales,
adjetivales, verbales, adverbiales o preposicionales.
Núcleo
Es la palabra más importante de un sintagma o construcción.
Complemento o modificador
Es una palabra o construcción que modifica o complementa al núcleo de un sintagma.
Oraciones
Son la combinación de palabras más grande de la sintaxis y pueden ser simples o
compuestas.
La sintaxis es la parte de la gramática que estudia cómo se combinan las palabras para
expresar significados.
6-Identificadores
Un identificador es un símbolo que se utiliza para formar un nombre. En una sentencia de
SQL, un identificador es un identificador de SQL o un identificador del lenguaje principal.
Identificadores de SQL
Existen dos tipos de identificadores de SQL: ordinarios y delimitados.
Un identificador ordinario es una letra mayúscula seguida por cero o más caracteres, cada
uno de los cuales es una letra en mayúsculas, un dígito o el carácter de subrayado. Tenga
en cuenta que pueden utilizarse letras en minúsculas al especificar un identificador
ordinario, pero éstas se convertirán en mayúsculas al procesarse. Un identificador ordinario
no debe ser una palabra reservada.
Ejemplos WKLYSAL WKLY_SAL
7-Concepto de Constantes
Se conoce como constante a algo que permanece estable con el paso del tiempo. Es
una palabra que tiene una amplia gama de significados. Tiene definiciones en campos de la
ciencia como física, matemática, química. Se emplea además en ámbitos tan dispares
como la medicina y la informática. Cuando una persona es perseverante, persistente
(sinónimos de constante) a la hora de lograr sus propósitos se dice que tiene constancia,
por lo que este término también destaca como descripción de un valor personal.
8-Concepto de Variables
Una variable es una propiedad que puede fluctuar y cuya variación es susceptible de
medirse u observarse. Una variable según Ander-Egg, es una característica que puede
tomar diversos valores o magnitudes. Son atributos o características que se miden en los
sujetos de estudio.
9-Declaración de variables
Una variable se declara para especificar su nombre y sus características. La instrucción de
declaración de las variables es la instrucción Dim. Su ubicación y contenido determinan las
características de la variable.
Para conocer las reglas de nomenclatura y las consideraciones de las variables,
vea Nombres de elementos declarados.
Niveles de declaración
Variables locales y miembro
Una variable local es aquella que se declara dentro de un procedimiento. Una variable
miembro es un miembro de un tipo de Visual Basic; se declara en el nivel de módulo, dentro
de una clase, estructura o módulo, pero no dentro de ningún procedimiento interno de esa
clase, estructura o módulo.
Variables compartidas y de instancia
En una clase o estructura, la categoría de una variable miembro depende de si es o no
compartida. Si se declara con la palabra clave Shared, es una variable compartida y existe
en una sola copia compartida entre todas las instancias de la clase o estructura.
De lo contrario, es una variable de instancia y se crea una copia independiente para cada
instancia de la clase o estructura. Una copia determinada de una variable de instancia solo
está disponible para la instancia de la clase o estructura en la que se ha creado. Es
independiente de una copia de la variable de instancia en cualquier otra instancia de la
clase o estructura.
Declaración del tipo de datos
La cláusula As de la instrucción de declaración permite definir el tipo de datos o el tipo de
objeto de la variable que se declara. Puede especificar cualquiera de los siguientes tipos
para una variable:
Un tipo de datos básico, como Boolean, Long o Decimal
Un tipo de datos compuesto, como una matriz o estructura
Tipo de objeto, o clase, definido en la aplicación o en otra aplicación
Una clase de .NET Framework, como Label o TextBox
Un tipo de interfaz, como IComparable o IDisposable
Puede declarar varias variables en una instrucción sin tener que repetir el tipo de datos. En
las instrucciones siguientes, las variables i, j y k se declaran como
tipo Integer, l y m como Long, y x y y como Single:
VBCopiar
Dim i, j, k As Integer
' All three variables in the preceding statement are declared as Integer.
Dim l, m As Long, x, y As Single
' In the preceding statement, l and m are Long, x and y are Single.
Para obtener más información sobre los tipos de datos, vea Tipos de datos. Para obtener
más información sobre los objetos, vea Objetos y clases y Programación con componentes.
10-Conversiones de tipo implícitas y no implícitas
Una conversión implícita no requiere ninguna sintaxis especial en el código fuente. En el
ejemplo siguiente, Visual Basic convierte implícitamente el valor de k en un valor de punto
flotante de precisión sencilla antes de asignarlo a q.
VBCopiar
Dim k As Integer
Dim q As Double
' Integer widens to Double, so you can do this with Option Strict On.
k = 432
q=k
Una conversión explícita usa una palabra clave de conversión de tipos. Visual Basic
proporciona varias palabras clave de este tipo, las cuales convierten una expresión entre
paréntesis al tipo de datos deseado. Estas palabras clave actúan como funciones, pero el
compilador genera el código alineado, por lo que la ejecución es ligeramente más rápida
que con una llamada de función.
En la siguiente extensión del ejemplo anterior, la palabra clave CInt convierte el valor
de q de nuevo en un entero antes de asignarlo a k.
VBCopiar
' q had been assigned the value 432 from k.
q = [Link](q)
k = CInt(q)
' k now has the value 21 (rounded square root of 432).
11-Reglas básicas para la conversión de tipo
Las reglas básicas para la conversión de tipos dependen del lenguaje de programación y
del tipo de conversión.
Reglas básicas para la conversión de tipos en Java
Si un número es de tipo double, el otro número también se convierte a double.
Si un número es de tipo flotante, el otro número también se convierte a flotante.
Si un número es de tipo long, el otro número también se convierte a long.
Si ninguno de los números es de los tipos anteriores, ambos se convierten a int.
Reglas básicas para la conversión de tipos en C++
El tipo de destino de la conversión debe declararse antes que la función de conversión.
Las funciones de conversión no toman argumentos.
Las funciones de conversión tienen un tipo de retorno que se especifica mediante el nombre
de la función.
Reglas básicas para la conversión de tipos en IBM
Las reglas de conversión forzada se aplican a expresiones y elementos de datos.
Cuando un operando no es del tipo requerido, se aplican reglas de conversión forzada para
convertirlo al tipo adecuado.
12-Lenguajes de Programación
.
12.1 Concepto
se conoce como lenguaje de programación a un programa destinado a la construcción de
otros programas informáticos. Su nombre se debe a que comprende un lenguaje formal que
está diseñado para organizar algoritmos y procesos lógicos que serán luego llevados a cabo
por un ordenador o sistema informático, permitiendo controlar así su comportamiento físico,
lógico y su comunicación con el usuario humano
12.2 – Tipos
Normalmente se distingue entre los siguientes tipos de lenguaje de programación:
Lenguajes de bajo nivel. Se trata de lenguajes de programación que están diseñados
para un hardware específico y que por lo tanto no pueden migrar o exportarse a
otros computadores. Sacan el mayor provecho posible al sistema para el que fueron
diseñados, pero no aplican para ningún otro.
Lenguajes de alto nivel. Se trata de lenguajes de programación que aspiran a ser un
lenguaje más universal, por lo que pueden emplearse indistintamente de la arquitectura
del hardware, es decir, en diversos tipos de sistemas. Los hay de propósito general y de
propósito específico.
Lenguajes de nivel medio. Este término no siempre es aceptado, que propone lenguajes
de programación que se ubican en un punto medio entre los dos anteriores: pues
permite operaciones de alto nivel y a la vez la gestión local de la arquitectura del
sistema.
Otra forma de clasificación a menudo es la siguiente:
Lenguajes imperativos. Menos flexibles, dada la secuencialidad en que construyen sus
instrucciones, estos lenguajes programan mediante órdenes condicionales y un bloque
de comandos al que retornan una vez llevada a cabo la función.
Lenguajes funcionales. También llamados procedimentales, estos lenguajes programan
mediante funciones que son invocadas conforme a la entrada recibida, que a su vez son
resultado de otras funciones.
1.5.3. - Indique al menos 8 lenguajes de
programación e indique su tipo en cada caso.
JavaScript
JavaScript, que se utiliza en desarrollo web, desarrollo de videojuegos, aplicaciones móviles
y construcción de servidores web, sigue siendo entonces el lenguaje de programación más
utilizado en la actualidad, en todo el mundo.
HTML
HTML es la sigla del inglés HyperText Markup Language (lenguaje de marcado de
hipertexto) y refiere al lenguaje de marcado para la elaboración de páginas web.
Python
Python es otro lenguaje de programación para propósitos generales, el cual permite a los
desarrolladores utilizar varios estilos de programación diferentes al crear programas. Se
emplea para el desarrollo de Back end, ciencia de datos y desarrollo de aplicaciones.
SQL
SQL, sigla del inglés Structured Query Language (lenguaje de consulta estructurada), es un
lenguaje que permite a los programadores consultar y manipular bases de datos.
Java
El quinto lenguaje de programación más utilizado y demandado en la actualidad es
Java (35,35 %), otro de los lenguajes de uso general y uno de los más antiguos en
esta lista.
C#
También referido como C Sharp, es un lenguaje de programación moderno y
multiparadigma, basado en objetos y con seguridad de tipos. C# permite a los
desarrolladores crear diferentes tipos de aplicaciones seguras que se ejecutan en
.NET.
NoSQL
Si bien no es un lenguaje de programación, NoSQL se refiere a una amplia clase de
sistemas de gestión de bases de datos que se diferencian de los modelos
relacionales tradicionales.
Rust
Rust es un lenguaje de programación compilado, de propósito general y
multiparadigma, desarrollado por la Fundación Mozilla. Se utiliza para el desarrollo
de sistemas operativos, realidad virtual y navegadores web.