Tarea 2

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

Licenciatura en Informática Gerencial

ASIGNATURA:

Programación I

FACILITADOR:

Geury Guzmán

PARTICIPANTE:

Miguel Ángel Acosta Hilario

MATRICULA:

100064236

TEMA:

Tarea II

FECHA:

22/11/2023
Introducción

El lenguaje de programación C fue desarrollado por Dennis Ritchie en los


Laboratorios Bell de la empresa de comunicaciones AT&T, en 1972. C fue
creado inicialmente con un propósito muy concreto: el diseño del sistema
operativo UNIX. Sin embargo, pronto se reveló como un lenguaje muy
potente y flexible, lo que provocó que su uso se extendiese rápidamente,
incluso fuera de los Laboratorios Bell.

En la siguiente tarea vamos a conocer la estructura general de un programa


en el lenguaje de programación C. Un programa puede entenderse como la
forma de expresar la solución a un problema de manera que sea
comprensible para el ordenador. En otras palabras, un programa es un
conjunto ordenado de instrucciones que se dan a la computadora indicando
el conjunto de operaciones o tareas que se desea llevar a cabo

También algunos ejemplos de cómo utilizar printf y la función scanf,


también los tipos de datos que se utilizan en este lenguaje de programación
y algunas diferencias entre las funciones principales.
1) Investiga en la web y elabora un informe acerca de los siguientes
temas:

Estructura general de un programa en C.


Un programa en C es un conjunto de funciones, definiciones de tipos de
datos y declaraciones de variables contenidos en un conjunto de ficheros.
Un programa en C siempre comienza a ejecutar por la función con
nombre main. Cualquier función puede llamar a cualquier función, y las
variables declaradas fuera de las funciones tienen ámbito global o local al
fichero que las contiene (si se declaran con el prefijo static). La siguiente
figura ilustra la estructura de un programa en C contenido en varios
ficheros.

El compilador es el programa encargado de traducir un conjunto de


funciones, definiciones y declaraciones en múltiples ficheros a un fichero
ejecutable. El compilador de C tiene un comportamiento sorprendentemente
sencillo y realiza mucho menos trabajo del que se está acostumbrado con
otros compiladores como el de Java. Para crear un ejecutable, el compilador
procesa los ficheros de código uno a uno de forma independiente, de forma
que las definiciones de variables y funciones de un fichero no las recuerda
cuando procesa el fichero siguiente. Además, el compilador realiza una
única pasada por el texto, por lo que cuando se traduce un fichero, en un
punto concreto del texto, sólo se dispone de las definiciones que se han
encontrado hasta ese punto.

Como consecuencia de este comportamiento, una variable no puede ser


utilizada, a no ser que se haya declarado previamente en ese mismo
fichero. Igualmente, una función no puede ser invocada a no ser que se
haya incluido previamente en el mismo fichero. Para poder dividir
igualmente el código en múltiples ficheros el lenguaje permite la definición
de “prototipos de funciones” (el tipo del resultado que devuelven, seguido
del nombre de la función y del tipo de sus parámetros entre paréntesis) sin
incluir el código, y además permite la definición de variables
como “externas”, es decir, que están en otro fichero. A continuación se
muestran dos ficheros en los que la función fill_in y la variable table están
definidas en un fichero pero las utiliza la función main en el otro fichero.

La línea 3 en Fichero2.c notifica al compilador que existe una tabla de 100


enteros con nombre table definida en otro fichero. La línea 6 es un prototipo
de función. Contiene el tipo del resultado (void) seguido del nombre de la
función (fill_in) y de los nombres y tipos de los parámetros entre paréntesis
(int *t, int size). Esta línea informa al compilador que una función de estas
características está definida en otro lugar de del programa. Gracias a estas
definiciones la línea 11 es correcta. La función fill_in puede ser invocada, y
la variable table es conocida.
Los argumentos son símbolos que representan información que se le pasa a
la función desde otra parte del programa. (También se llaman parámetros a
los argumentos).
Cada sentencia compuesta se encierra con un par de llaves, {….}. Las
llaves pueden contener combinaciones de sentencias elementales
(denominadas sentencias de expresión) y otras sentencias compuestas. Así
las sentencias compuestas pueden estar anidadas, una dentro de otra. Cada
sentencia de expresión debe acabar en punto y coma (;).
Los comentarios pueden aparecer en cualquier parte del programa,
mientras estén situados entre los delimitadores /* ................ */ (por
ejemplo: /*esto es un ejemplo*/). Los comentarios son útiles para identificar
los elementos principales de un programa o simplemente para orientar a un
posible usuario de ese código.

Todo fichero fuente en C sigue la siguiente estructura; para verla más


claramente pondremos un ejemplo con sus correspondientes comentarios,
que nos vayan explicando cada una de las partes, muchas de las cosas que
se vean, no se conocen aún, pero nos servirán para hacernos una idea de
cómo se estructura un programa:
Ejemplo:

#include <stdio.h>
#include <conio.h>
/*#include del sistema: Se deben especificar todos los ficheros de
cabecera (ficheros con extensión .h) correspondientes a las librerías
de funciones utilizadas.
Son librerías implementadas y listas para que nosotros las usemos,
con sólo llamar a la función que tenga implementada dentro dicha
librería. Por ejemplo: la instrucción printf está incluida dentro de
stdio.h, por tanto, cuando decidamos usarla, tendremos que poner en
esta sección:
#include <stdio.h> */
#include <lista.h>
/* #include de la aplicación: Ficheros de cabecera creados para el
fichero fuente. Se puede decir que estos son los que yo he creado,
que son invocados escribiendo su nombre seguido de .h. Si lo pongo
entre signos: < > (como lo tenemos en este ejemplo), dicha librería
será buscada en el directorio del compilador INCLUDE que contiene
las librerías. Si por el contrario pongo: #include "lista.h", entonces,
dicha librería será buscada 1º en el directorio actual, y luego, si no
está, será buscada en el directorio del compilador INCLUDE*/
extern void salida(void); /* externvariables globales externas: A
salida le hemos asignado el tipo de almacenamiento extern, pues
tiene que ser accedida desde otro archivo distinto de aquel en que
es definida; por tanto, ha de ser una función externa. */

#define CIERTO 1
#define FALSO 0

/* #define definición de macros y constantes simbólicas.*/

typedef struct {
int
dia;
int
mes;
int
ano;
} FECHA;
/* typedef definición de tipos: me sirve para crearme un tipo
distinto de los preestablecidos de partida.*/

int suma (int , int);

/* Declaración de los prototipos de las funciones


implementados en este módulo: La declaración de una
función le da información al compilador de una función que
va a ser utilizada pero que todavía no ha sido
implementada. En particular le dice al compilador qué tipo
de datos requiere y cuál devuelve la función. En el ejemplo,
la función con nombre suma
recibe dos números enteros y da como salida otro número entero.*/
extern int a,b,c;

/* Declaración de variables globales de este módulo:


extern declaración de funciones externas a este módulo:
Funciones que se utilizan en este módulo y que están
implementadas en otro módulo.
static declaración de las funciones internas no visibles para
otros módulos: Funciones que se implementan en este módulo
y que no pueden ser utilizadas en otros módulos. */

main(){
}
int suma(int x,int y){
}
/* Implementación de las funciones: Se implementan todas
las funciones del módulo incluida la función main().*/

NOTA: En un segundo archivo encontraríamos la definición de la función


externa declarada en este primer archivo de encima (extern void
salida(void);), esta definición será:

extern void salida(void)


{
printf("¡Hola!");
return; /* salimos de la función, y volvemos al lugar donde se le llamó
sin devolver nada.*/
}

Concepto de variable.
Una variable es donde se almacenan y se recuperan los datos de un
programa. Así de simple. En programación, la utilizamos para guardar datos
y estados, asignar ciertos valores de variables a otras, representar valores
de expresiones matemáticas y mostrar valores por pantallas.
Las variables se expresan así:
Como un objeto
Como un texto
Como un número
Como un dato abstracto
Ejemplos en programación
Algunos tipos de variables podemos usar cuando estamos programando con
lenguajes.
Variable auxiliar: las conocidas como variables temporales, las que
necesitamos para ejecutar algo de forma temporal. O, en otras palabras, las
variables que no necesitas cuando cumples el objetivo en programación.
Variable de estado: como su propio nombre indica, se utilizan para conocer
el estado de un objeto en cada momento de la programación. Pueden ser
variables booleanas, con valor de verdadero o falso.

Tipos de datos en lenguaje C


función printf()
La función printf (que deriva su nombre de “print formatted”) imprime un
mensaje por pantalla utilizando una “cadena de formato” que incluye las
instrucciones para mezclar múltiples cadenas en la cadena final a mostrar
por pantalla.
función scanf()

La función scanf permite leer varios tipos de datos de una sola vez, tales
como enteros, números decimales o cadenas de caracteres.
#include <stdio.h> int scanf(const char *format,...);
Aquí se pueden indicar varios especificadores de formato en la variable de
tipo puntero format, dependiendo del tipo que se quiere leer, como con
printf. Si todo va bien, devuelve el número de datos leídos. Si hay algún
error, devuelve EOF.

Si usamos el especificador %s para leer una cadena, la función lee


caracteres hasta encontrar un espacio, un intro, un tabulador, un tabulador
vertical o un retorno de carro. Los caracteres que lee se guardan en un
array que debe ser lo suficientemente grande como para almacenarlos.
Añade el carácter nulo al final automáticamente.
El siguiente programa muestra el uso de scanf para distintos
especificadores de formato.

1 #include <stdio.h>
2 #define TAM_MAXIMO 80
3
4 int main(void)
5 {
6 char cadena[TAM_MAXIMO];
7 int entero1, entero2;
8 float decimal;
9
10 printf("Introduce dos enteros separados por un espacio:
11 \n");
12 scanf("%d %d", &entero1, &entero2);

13 printf("Introduce un número decimal:\n");

14 scanf("%f", &decimal);

15 printf("Introduce una cadena:\n");

16 scanf("%s",cadena);

17 printf("Esto es todo lo que has escrito:\n");

18 printf("%d %d %f %s\n",entero1,entero2,decimal,cadena);

19 return 0;
}

Diferencias entre printf() y scanf()


En su utilización más normal printf se usa para mostrar en pantalla algún
texto o variable, y scanf se usa para leer algo del teclado (salida y entrada
estándar respectivamente).
2) Declarar 3 variables del tipo entero: cantidad_1,
cantidad_2 y resultado

#include <stdio.h>

#include <stdlib.h>

/* Declarar 3 variables del tipo entero*/

int main(int argc, char *argv[]) {

int a,b,c;

a=8;

b=5;

c=a+b;

printf("la suma de %d+%d=%d",a,b,c);

return 0;

}
3) Mostrar y leer lo siguiente:
Entre primera cantidad ...:
Entre segunda cantidad ..:
Leer a cantidad_1 y cantidad_2 y mostrarlo en resultado mediante
las siguientes salidas:
1) resultado = cantidad_1 + cantidad_2 imprimir el resultado.
2) resultado = cantidad_1 - cantidad_2 imprimir el resultado.
3) resultado = cantidad_1 * cantidad_2 imprimir el resultado.
4) resultado = cantidad_1 / cantidad_2 imprimir el resultado.
#include<stdio.h>
#include <stdlib.h>
/*
Pedir por pantalla 2 numero, sumarlo y mostrar el
resultado*/ int main ()
{
int num1, num2;
float res;
printf("INGRESAR UN NUMERO\n");
scanf("%d", &num1);
printf("INGRESAR UN NUMERO\n");
scanf("%d", &num2);
res= num1+(float)num2;
printf ("EL RESULTADO DE LA SUMA ES % .2f \n", res);
return 0;
}
#include<stdio.h>
#include <stdlib.h>
/*
Pedir por pantalla 2 numero, restarlo y mostrar el
resultado*/ int main ()
{
int num1, num2;
float res;
printf("INGRESAR UN NUMERO\n");
scanf("%d", &num1);
printf("INGRESAR UN NUMERO\n");
scanf("%d", &num2);
res= num1-(float)num2;
printf ("EL RESULTADO DE LA RESTA ES % .2f \n", res);
return 0;
}
#include<stdio.h>
#include <stdlib.h>
/*
Pedir por pantalla 2 números, multiplicarlo y mostrar
el resultado*/ int main ()
{
int num1,
num2; float
res;
printf("INGRESAR UN NUMERO\n");
scanf("%d", &num1);
printf("INGRESAR UN NUMERO\n");
scanf("%d", &num2);
res= num1*(float)num2;
printf ("EL RESULTADO DE LA MULTIPLICACION ES % .2f \n", res);
return 0;
}
#include<stdio.h>
#include <stdlib.h>
/*
Pedir por pantalla 2 números, dividirlo y mostrar el resultado*/ int main ()
{
int num1,
num2; float
res;
printf("INGRESAR UN NUMERO\n");
scanf("%d", &num1);
printf("INGRESAR UN NUMERO\n");
scanf("%d", &num2);
res= num1*(float)num2;
printf ("EL RESULTADO DE LA DIVISION ES % .2f \n", res);
return 0;
Conclusión

Me ha costado un poco encontrarle la lógica a lo que es el lenguaje de


programación, pero ya entiendo cómo se relacionan las variables, como
dividirlas y como obtener resultados de números enteros y flotantes los
cuales hay que saber la cantidad de decimales que se requiere, al principio
es complejo, pero con práctica y dedicación sé que puedo entender todo el
contenido que se está impartiendo.

Es muy complejo empezar a programar por eso quiero reforzar mis


conocimientos en lo básico para entender la lógica de porque cada proceso,
como utilizarlo en otras materias y en trabajos futuros que se estarán
presentando en esta materia.

También podría gustarte