0% encontró este documento útil (0 votos)
91 vistas12 páginas

Taller1 Tec-Programacion

Este documento presenta una introducción al lenguaje de programación C. Explica la clasificación de los lenguajes de programación, la historia y características del lenguaje C, e introduce los entornos de desarrollo integrados.

Cargado por

Stephanie Grace
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
91 vistas12 páginas

Taller1 Tec-Programacion

Este documento presenta una introducción al lenguaje de programación C. Explica la clasificación de los lenguajes de programación, la historia y características del lenguaje C, e introduce los entornos de desarrollo integrados.

Cargado por

Stephanie Grace
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA

VICERRECTORADO ACADÉMICO
COORDINACIÓN GENERAL DE PREGRADO
COORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
SEMESTRE 2020 I
SECCIÓN 2

Técnicas de programación I
TALLER I

Profesor: Alumno:
Ennis Urbaez Becerra Stephanie C.I: 29.907.330

Ciudad Guayana, 16/6/2021


1. Lenguaje de programación.
Es un lenguaje formal que, le proporciona a un programador la capacidad de escribir un
conjunto de órdenes en forma de algoritmos de forma que, pueden usarse para crear
programas que controlen el comportamiento físico y lógico de un sistema informático, de
manera que se puedan obtener diversas clases de datos o ejecutar determinadas tareas.

Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su


estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe,
se prueba, se depura, se compila y se mantiene el código fuente de un programa informático
se le llama programación.

2. Clasificación de los lenguajes de programación.


2.1. Clasificación histórica

A medida que surgían nuevos lenguajes que permitían nuevos estilos de programación más
expresiva, se distinguieron dichos estilos en una serie de generaciones, cada una
representando lenguajes de programación surgidos en una época similar y con características
genéricas comunes.

- Lenguajes de programación de primera generación: el lenguaje máquina (basado en


el sistema binario)

- Lenguajes de programación de segunda generación: los lenguajes simbólicos,


asimismo propios de la máquina, simplifican la escritura de las instrucciones y las
hacen más legibles. Se refiere al lenguaje ensamblador ensamblado a través de un
macroensamblador. Es el lenguaje de máquina combinado con una serie de poderosas
macros que permiten declarar estructuras de datos y de control complejas.

- Lenguajes de programación de tercera generación: los lenguajes de alto nivel


sustituyen las instrucciones simbólicas por códigos independientes de la máquina,
parecidas al lenguaje humano o al de las Matemáticas. Se crearon para que el usuario
común pudiese solucionar un problema de procesamiento de datos de una manera
más fácil y rápida. Son usados en ámbitos computacionales donde se logra un alto
rendimiento con respecto a lenguajes de generaciones anteriores. Entre ellos se
encuentran C, Fortran, Smalltalk, Ada, C++, C#, Cobol, Delphi, Java y PHP, entre
otros.

- Lenguajes de programación de cuarta generación: Se ha dado este nombre a ciertas


herramientas que permiten construir aplicaciones sencillas combinando piezas
prefabricadas. Son usados en aplicaciones de gestión y manejo de bases de datos
(NATURAL, SQL).
- Lenguajes de programación de quinta generación: creados para la inteligencia
artificial y para el procesamiento de lenguajes naturales (LISP, PROLOG).

2.2.Lenguajes de alto y de bajo nivel

Los lenguajes de programación se suelen clasificar dentro de dos amplias categorías que se
refieren a su "nivel de abstracción", es decir, en cuanto a lo específico o general que es
respecto a la arquitectura de computación inherente al sistema que se está utilizando.

- Lenguajes de programación de bajo nivel: A estos lenguajes se les denomina así


porque sus instrucciones ejercen un control directo sobre el hardware y están
condicionados por la estructura física de las computadoras que lo soportan. Dado que
este tipo de lenguaje se acerca mucho más a la lógica de la máquina que a la humana,
es mucho más complicado programar con él. Es decir, cada modelo de ordenador
tiene su propia estructura interna a la hora de programarse.

- Lenguajes de programación de alto nivel: Este tipo de lenguajes de programación son


independientes de la máquina, los podemos usar en cualquier computador con muy
pocas modificaciones o sin ellas, son muy similares al lenguaje humano, pero
precisan de un programa interprete o compilador que traduzca este lenguaje de
programación de alto nivel a uno de bajo nivel como el lenguaje de máquina que la
computadora pueda entender. Los lenguajes de programación de alto nivel son más
fáciles de aprender porque se usan palabras o comandos del lenguaje natural,
generalmente del inglés.

2.3.Clasificación por paradigmas

Los paradigmas de programación distinguen distintos modelos de cómputo y de estilos de


estructurar y organizar las tareas que debe realizar un programa. Un lenguaje de
programación puede ofrecer soporte a uno o varios paradigmas de programación, total o
parcialmente. Siguiendo este criterio, los lenguajes pueden ser:

- Multiparadigma: Son lenguajes en los que se puede programar de varias maneras. Entre
los más conocidos están Python, PHP y JavaScript.

- Orientados a objetos (POO): La programación orientada a objetos consiste en partir la


programación en pedazos llamados objetos que tienen datos y comportamientos
diferentes. Por ejemplo, en una red social un usuario tiene características como nombre
y edad, pero también tiene funciones como comentar o compartir una publicación. Aquí
agrupamos a Java, Kotlin, C++, C# y Go.
2.4 Clasificación por propósito

Se distinguen los lenguajes de programación de propósito general de aquellos de propósito


específico.

- Propósito general: Con un lenguaje de propósito general puedes resolver múltiples


problemas. Aquí hablaríamos de los que conocemos comúnmente como Java,
JavaScript, PHP, C, C#, Python.

- Propósito específico (DSL): Estos lenguajes están creados para un uso en particular,
fuera de su ámbito no funcionan. Por ejemplo: SQL, usado para crear tablas y
consultar información en las bases de datos.

3. Historia del lenguaje C.


Todo comenzó en el año de 1970, en el laboratorio de la empresa Bell, cuando Dennis Ritchie
junto a Brian Kernighan empezaron a crear el lenguaje C. Ritchie era colaborador de Ken
Thompson, informático que para entonces trabajaba en UNIX (sistema operativo) y quien
también había creado el lenguaje B.

Pero, ¿por qué se creó el lenguaje de programación C? El objetivo era encontrar un


compilador que garantizará la consistencia y la velocidad de cada terminal, y entender mejor
el sistema operativo Unix. En pocas palabras, lo que se quería era un sistema operativo
eficiente que pudiera evolucionar sin sufrir vergonzosas ralentizaciones.

Y como todos los mejores descubrimientos, ocurrió uno por casualidad. Estos programadores
unieron el BCPL, lenguaje sencillo y rápido, con el B, que en cambio era lento porque estaba
lleno de instrucciones. El resultado fue el lenguaje C, y permitió a Thompson abandonar y
reescribir completamente a UNIX.

Aunque, en 1972 fue el año más productivo de desarrollo y probablemente cuando se bautizó
C. Fue para el año de 1973, que el lenguaje C estaba lo suficientemente maduro como para
que el 90% de UNIX pudiera reescribirse con él. Y en 1974, los laboratorios Bell concedieron
la licencia de UNIX a las universidades, y así fue como se empezó a distribuir el lenguaje C.

Luego de que comenzará a distribuirse el lenguaje, se hizo necesario algunos cambios


importantes:

Ritchie con la colaboración de Brian Kernighan, en 1978, publicó el libro “El lenguaje de
programación C”. Este libro, también conocido como K & R, sirvió de base informal para
todos aquellos que querían empezar a programar con este nuevo lenguaje.

En 1983, el ANSI, que es una de las organizaciones de normalización más importantes de


Estados Unidos, formó su propio comité con el fin de convertir a C en un estándar.
Pero no fue hasta 1989 que el ANSI ratificó esta norma y, por lo tanto, la versión ANSI de C
también se le conoce como C89.

En 1990, la norma C ANSI también fue tratada por la ISO, el organismo internacional de
normalización. Esta versión, que es prácticamente idéntica a la versión ANSI, se le llamó
C90.

Otra revisión del lenguaje, que con el paso de los años fue adquiriendo nuevas características
respecto a las versiones iniciales, se ha convertido en otra norma ISO; más o menos entre
1999-2000, por eso se habla de C99.

En 2011 se ratificó como estándar una nueva revisión del lenguaje C, que incluye otras
actualizaciones que se han producido con el tiempo, y se llama C11.

Actualmente, la versión más estable del lenguaje C, es la C18, la cual fue lanzada en junio
de 2018.

4. Características del lenguaje C.


- Núcleo de lenguaje simple que incluye funciones matemáticas y de manejo de
archivos proporcionadas por bibliotecas.
- Lenguaje flexible que permitía programar de manera estructurada y no estructurada.
- Inclusión de un sistema de tipos que impedía la realización de operaciones sin sentido.
- Acceso a memoria de bajo nivel mediante el uso de punteros.
- Conjunto reducido de palabras reservadas.
- Paso de parámetros a funciones por valor.
- Tipos de datos agregados (struct) que permitían combinar, bajo un mismo tipo, datos
de tipos distintos y manejarlos como uno solo.

5. IDE
Un entorno de desarrollo integrado o entorno de desarrollo interactivo, en inglés Integrated
Development Environment, es una aplicación informática que proporciona servicios
integrales para facilitarle al desarrollador o programador el desarrollo de software. En pocas
palabras, un IDE es un editor de texto con potentes funciones de gestión de proyectos que
incluyen herramientas como: automatización de la compilación, un depurador y un intérprete.
La mayoría de los IDE tienen auto-completado inteligente de código (IntelliSense). Algunos
IDE contienen un compilador, un intérprete, o ambos.

6. Diferencia entre un IDE y un editor de texto.


Sabiendo la definición de un IDE, pasamos a definir lo que es un editor de texto. Un editor
de texto es un programa diseñado para escribir y editar código y la gran mayoría de los
editores de texto tienen funciones que facilitan la escritura y edición de este. De hecho, una
de las cosas más simples que hacen es el resaltar diferentes partes de tu código con colores
para que puedas reconocer y diferenciar strings, métodos o clases.

La diferencia principal con el IDE es que el IDE trabaja con proyectos enteros, mientras que
el editor ligero no, solo para archivos concretos, por esto lo hace más rápido.

7. Sintaxis en programación.
Es el conjunto de reglas que define las combinaciones de símbolos que se consideran
declaraciones o expresiones correctamente estructuradas en ese lenguaje. Esto se aplica tanto
a los lenguajes de programación, donde el documento representa el código fuente, como a
los lenguajes de marcado, donde el documento representa datos.

La sintaxis de un lenguaje define su forma superficial. Los lenguajes informáticos basados


en texto se basan en secuencias de caracteres, mientras que los lenguajes de programación
visual se basan en el diseño espacial y las conexiones entre símbolos (que pueden ser
textuales o gráficos). Por tanto, la sintaxis se refiere a la forma del código y se contrasta con
la semántica: el significado.

8. Biblioteca (library).
Es un conjunto de implementaciones funcionales, codificadas en un lenguaje de
programación, que ofrece una interfaz bien definida para la funcionalidad que se invoca. Son
un grupo de archivos que tienen una funcionalidad pre-construida por terceros, y que puede
ser usadas por cualquier ejecutable. Las librerías contienen en su interior variables y
funciones, se conoce como librerías (o bibliotecas) a cierto tipo de archivos que podemos
importar o incluir en nuestro programa. Estos archivos contienen las especificaciones de
diferentes funcionalidades ya construidas y utilizables, como por ejemplo leer del teclado o
mostrar algo por pantalla entre muchas otras más. al poder incluir estas librerías con
definiciones de diferentes funcionalidades podremos ahorrarnos gran cantidad de cosas.

A diferencia de un programa ejecutable, el comportamiento que implementa una biblioteca


no espera ser utilizada de forma autónoma (un programa sí: tiene un punto de entrada
principal), sino que su fin es ser utilizada por otros programas, independientes y de forma
simultánea. Por otra parte, el comportamiento de una biblioteca no tiene por qué diferenciarse
demasiado del que pudiera especificarse en un programa. Es más, unas bibliotecas pueden
requerir de otras para funcionar, pues el comportamiento que definen refina, o altera, el
comportamiento de la biblioteca original; o bien la hace disponible para otra tecnología o
lenguaje de programación.

9. Operadores * (indirección) y & (dirección de memoria) en C.


El Operador de Indirección ( * ), toma la dirección de una variable y regresa el dato que
contiene esa dirección. En C la indirección se denota con el operador * seguido del nombre
de una variable de tipo puntero. Su significado es “accede al contenido al que apunta el
puntero”.

El Operador de Dirección (&) regresa la dirección de una variable.

10. Bibliotecas y sus funciones. (minimo 4 bibliotecas y 10 fun c/u)


10.1. math.h: La biblioteca math.h define varias funciones matemáticas y una macro. Todas
las funciones disponibles en esta biblioteca consideran a double como argumento y regresan
un double como resultado.

FUNCIONES

double acos(double x) = Esta función retorna el arc coseno de x en radianes

double asin(double x) = Esta otra regresa el arc seno de x en radianes

double atan(double x) = Esta retorna el arc tangente de x en radianes

double atan2(double y, double x) = Esta retorna el arc tangente en radianes de x/y basado en
los signos de ambos valores para determinar el cuadrante correcto.

double cos(double x) = Retorna el coseno de un ángulo x en radianes

double cosh(double x) = Retorna el coseno hiperbólico de x.

double sin(double x) = Retorna el seno de un ángulo x en radianes.

double sinh(double x) = Retorna el seno hiperbólico de x

double tanh(double x) = Retorna la tangente hiperbólica de x.

double exp(double x) = Retorna el valor de x elevado a la enésima potencia.

double ldexp(double x, int exponent) = Retorna x multiplicado por 2 elevado al poder del
exponente.

double log(double x) = Regresa el logaritmo natural de x.

double log10(double x) = Regresa el logaritmo común (logaritmo basado en 10) de x.

double modf(double x, double *integer) = El valor retornado es un componente fraccionario


(la parte después del decimal) y coloca un entero en el componente entero.

double pow(double x, double y) = Retorna x elevado al poder de y.

double sqrt(double x) = Retorna la raiz cuadrada de x.


double ceil(double x) = Retorna el valor entero mas pequeño mas grande o igual a x.

double fabs(double x) = Retorna el valor absoluto de x.

10.2. complex.h: Es un archivo de cabecera de la Biblioteca estándar de C, en el que se


definen funciones para el manejo de números complejos. A continuación se muestran
las funciones declaradas en complex.h, cada función cuenta con una versión para
manejar cada uno de los 3 tipos de punto flotante (float, double y long double), en la
tabla siguiente solamente se muestra la versión para double. Para llamar a la versión float
o long double es necesario agregar f o l, respectivamente, al final del nombre de la
función (Por ejemplo cabsf ().

10.3. stdio.h: Que significa "standard input-output header" (cabecera estándar E/S), es el
archivo de cabecera que contiene las definiciones de las macros, las constantes, las
declaraciones de funciones de la biblioteca estándar del lenguaje de programación C para
hacer operaciones, estándar, de entrada y salida, así como la definición de tipos
necesarias para dichas operaciones. Por motivos de compatibilidad, el lenguaje de
programación C++ (derivado de C) también tiene su propia implementación de estas
funciones, que son declaradas con el archivo de cabecera cstdio.
Las funciones declaradas en stdio.h pueden clasificarse en dos categorías: funciones de
manipulación de ficheros y funciones de manipulación de entradas y salidas. Algunas de
esas funciones son:

10.4. stdlib.h (std-lib: standard library o biblioteca estándar). Es el archivo de cabecera de


la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los
prototipos de funciones de C para gestión de memoria dinámica, control de procesos y
otras. Las funciones que pertenecen a stdlib.h pueden clasificarse en las siguientes
categorías: conversión, memoria, control de procesos, ordenación y búsqueda,
matemáticas.
11. Uso del scanf.
Mediante la función scanf podemos introducir cualquier combinación de valores numéricos,
caracteres sueltos y cadenas de caracteres a través del teclado. En definitiva, scanf lee datos
formateados de la entrada estándar. Cuando hablamos de datos formateados, nos referimos a
que los datos se pueden presentar en distintos formatos. La función devolverá el número de
datos que se han introducido correctamente.

12. Uso del printf.


La función printf transporta datos desde la memoria a la pantalla, a diferencia de scanf, que
envía datos desde el teclado para almacenarlos en la memoria. La función printf devuelve
cualquier combinación de valores numéricos, caracteres sueltos y cadenas de caracteres a
través del teclado. Si devuelve un valor negativo indica que se ha producido un error.

13. Tipos de datos en lenguaje C.

- Tipo entero: Se usan para representar números enteros. Pero siempre se pueden
encontrar otras aplicaciones para los números enteros. En general se pueden usar para
representar cualquier variable discreta.

Los tipos de datos enteros son: short, int, long y long long, cada uno representando
un número entero de un tamaño o capacidad determinado. Según el compilador y la
plataforma de hardware, cada uno de estos tipos de dato puede ocupar desde 1 byte
hasta 8 bytes en memoria.
Algunos ejemplos de declaraciones de enteros:
int a;
unsigned int a;
signed long a;
signed long long a = 10000000;

- Tipo real: Los tipos de datos que representan a los números reales, ya que utilizan un
sistema de representación basado en la técnica de coma flotante, que permite operar
con números reales de diversas magnitudes, mediante un número decimal llamado
mantisa y un exponente que indica el orden de magnitud. El tipo de dato flotante en
lenguaje C sólo tiene dos tamaños: el float y el double, que son 4 bytes y 8 bytes
respectivamente. Se los puede utilizar tanto para representar números decimales,
como para representar números enteros con un orden de magnitud muy grande.
Algunos ejemplos:
float a;
double a = 1e23;
double a = 3.1416;
float a = 4e-9;
double a = -78;

- Tipo carácter: Los caracteres se representan utilizando el tipo char, que tiene sólo 1
byte de tamaño. Este tipo se utiliza para representar los 256 caracteres de la tabla de
caracteres del sistema. El tipo char es también un tipo entero, ya que puede tomar
valores de 0 a 255. Por lo tanto también puede ser signed o unsigned.
Ejemplos:
char a;
char a = 's';
unsigned char a = 48;
Se le puede asignar un número a una variable char, ya que se trata de un tipo entero.
En muchas situaciones se utiliza el tipo char para almacenar números pequeños, ya
que ocupa en memoria sólamente un byte.
14. Operadores unsigned y signed del lenguaje C.
En el lenguaje C, en los datos tipo entero se hace la distinción de si el entero es con signo
(signed) o sin signo (unsigned). En caso de que no se declare si es con signo o sin signo, se
toma con signo.

También podría gustarte