Está en la página 1de 12

TEMA 7: ESTRUCTURA

GENERAL DE UN PROGRA MA
Concepto de programa. Partes constitutivas de un programa. El Lenguaje.
Estructura general de un programa. Fases en la creación y ejecución de programas.
Tipos de datos primitivos. Variables y constantes. Operadores y expresiones.
Entradas y salidas.

7.1 CONCEPTO DE PROGRAMA

Programa es un concepto con numerosas acepciones. Puede tratarse de una planificación,


un temario, un cronograma, una unidad temática o una emisión de radio o televisión, por
citar algunas posibilidades.

Cuando hablamos específicamente de programa en informática, estamos haciendo


referencia a un software. Se trata de aplicaciones y recursos que permiten desarrollar
diferentes tareas en una computadora (ordenador), un teléfono, placas u otros equipos
tecnológicos.

Entonces, un programa informático o programa de computadora es una secuencia de


instrucciones, escritas para realizar una tarea específica en una computadora.

7.2 PARTES CONSTITUTIVAS DE UN PROGRAMA.

Tomada la decisión de realizar un programa, el programador debe establecer conjunto de


especificaciones que debe contener el programa: entrada, salida y algoritmo de resolución,
que es el que va a incluir las técnicas para obtener las salidas a partir de las entradas.

Conceptualmente un programa puede ser considerado como una caja negra. La caja negra
o el algoritmo de resolución, en realidad, es el conjunto de códigos que transforman las
entradas del programa (datos) en salidas (resultados).

Bloques de un programa

El programador debe establecer de donde provienen las entradas del programa. Las
entradas, en cualquier caso, procederán de un dispositivo de entrada (teclado, disco, etc.-).
El proceso de introducir la información de entrada (datos) en la memoria de la
computadora se denomina entrada de dados, operación de lectura o acción de leer.

Las salidas de datos se deben presentar en dispositivos periféricos de salida: pantalla,


impresoras, discos, et.-. La operación de salida de datos se conoce como escritura o acción

Informática – Año 2020 Página 1


Tema 7: Estructura general de un programa

de escribir. Estos conceptos fueros dados en el tema 5.3 Tratamiento de la información,


apartado 5.5.3- 5.5.4

7.3 EL LENGUAJE

Para desarrollar un programa informático, se necesita apelar a los lenguajes de


programación que posibilitan el control de las máquinas. A través de diversas reglas
semánticas y sintácticas, estos lenguajes especifican los datos que transmite el software y
que tendrá que operar la computadora.

¿Qué es C?

C es un lenguaje de programación de alto nivel de propósito general asociado, de modo


universal, al sistema operativo UNIX. Fue desarrollado en el año 1972. Sin embargo, la
popularidad, eficacia y potencia de C se ha producido porque este lenguaje no está
prácticamente asociado a ningún sistema operativo, ni a ninguna máquina en especial.
Esta es la razón fundamental por la que C es conocido como el lenguaje de programación
de sistemas por excelencia.

En la actualidad, el lenguaje C sigue siendo uno de los más utilizados en la industria del
software, así como en institutos tecnológicos, escuelas de ingeniería y universidades.

Prácticamente todos los fabricantes de sistemas operativos (tomando en cuenta a: UNIX,


Linux, MacOS, Solaris, Windows, entre otros.), soportan diferentes tipos de compiladores
de lenguaje C.

El lenguaje C tiene una gran cantidad de ventajas sobre otros lenguajes y constituyen
precisamente la razón fundamental que C siga siendo uno de los lenguajes más populares,
utilizados en empresas, organizaciones y fábricas de software de todo el mundo. La
legibilidad, facilidad de mantenimiento y la portabilidad son algunas de las ventajas de
este lenguaje, además que permite descender a nivel de hardware, característica la que le
da más potencia y dominio sobre los recursos del sistema.
Entre una de las características más importantes de C está la portabilidad, esto es, un
programa escrito en C se puede trasladar fácilmente entre distintos sistemas operativos
como Windows, DOS o Linux.
El lenguaje C está formado por un conjunto pequeño de palabras claves (reservadas) o
comandos (keywords), y una serie de operadores. Todas las palabras claves de C están en
minúsculas (C distingue entre las mayúsculas y minúsculas).
Algunas de estas palabras son:
auto break case char const continue default
do double else enum extern float for
goto if int long register return short
signed sizeof static struct typedef union unsigned
void volatile while

A este conjunto de palabras se les denomina "palabras reservadas".

Características

Informática – Año 2019 Página 2


Tema 7: Estructura general de un programa

 Lenguaje de programación de propósito general


 Lenguaje estructurado
 Lenguaje pequeño
 Lenguaje muy eficiente
 Lenguaje portable (independiente de la máquina)
 A menudo es elegido para el desarrollo de software de sistemas: es un lenguaje de
programación caracterizado por su acusada proximidad a la máquina.
 Origen de muchos de los lenguajes usados actualmente. (C++, Java, C#...)

7.4 ESTRUCTURA GENERAL DE UN PROGRAMA EN C

Un programa en el lenguaje C consta de tres partes básicas. (visto en tema 5)


 Declaración de librerías o directivas. Aquí se declaran las librerías que vamos a
utilizar en el programa, para hacerlo se utiliza la línea “#include
<nombre.h>” donde nombre es el nombre de la librería y todas tienen una
extensión “.h”.
 La función principal “main”. Esta función es el componente más importante en el
lenguaje C, aquí es donde se inician todas las instrucciones programadas o inicia el
programa.
 Las sentencias. Esta parte es donde entra la programación, aquí se utilizan las
funciones o instrucciones que el lenguaje C nos proporciona en
las librerías antes mencionadas.
Veamos el típico ejemplo de hola mundo en lenguaje C.
#include <stdio.h> //declaramos las librerías

main() //declaramos la función principal

{
printf("hola mundo"); //zona de sentencias. Con la instrucción printf
imprimimos un mensaje en pantalla
}

#include <stdio.h>

Con esta línea le decimos al compilador que vamos a utilizar funciones o instrucciones que se
encuentran en el archivo “stdio.h”

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.

main()
{

}
Esta línea sirve para declarar la función principal y indicar el fin y el inicio del programa,
todas las instrucciones que vamos a programar se deben de poner entre los llaves { } los
cuales indican el fin e inicio del programa.

Informática – Año 2019 Página 3


Tema 7: Estructura general de un programa

printf("hola mundo");

Esta es una función del lenguaje C que se encuentra en la librería stdio.h, la función
printf permite insertar o imprimir un mensaje o cadena de caracteres o texto, en la
pantalla o el dispositivo de salida principal de la pc, que es la pantalla del ordenador.

El lenguaje C se caracteriza por que todas las sentencias, instrucciones o funciones que
programamos se deben separar por un punto y coma ” ; “.

LOS COMENTARIOS EN LENGUAJE C

El lenguaje C nos permite insertar comentarios o notas en nuestros códigos fuente. Esos
comentarios no interfieren con el funcionamiento del programa. En el lenguaje C existen
dos tipos de comentarios: una sola línea o de dos líneas.

Los comentarios de una sola línea se describen por la doble barra “//”.

//comentario de una sola línea

Los comentarios de dos líneas se describen por la barra / y el signo * .

/* comentarios que ocupan

VARIAS LÍNEAS DE CÓDIGO */


VIDEO 7.1

7.5 FASES EN LA CREACIÓN Y EJECUCIÓN DE PROGRAMAS EN C

Una vez creado un programa en C se debe ejecutar. ¿Cómo realizar esta tarea? Los pasos a
dar dependerán del compilador C que utilice, pero en general los pasos serian:

1. Utilizar un editor de texto para escribir el programa y grabarlo en un archivo.


Este archivo constituye el código fuente de un programa.
2. Compilar el código fuente. Se traduce el código fuente en un código objeto
(extensión .obj) (lenguaje de maquina entendible por la computadora). Un archivo
objeto contiene instrucciones en lenguaje de máquina que se pueden ejecutar por
una computadora. Los archivos estándar C y los de cabecera definidos por el
usuario son incluidos (#include) en su código fuente por el preprocesador. Los
archivos de cabecera contienen información necesaria para la compilación, como
es el caso de stdio.h que contiene información scanf() y printf().
3. Enlazar el código objeto con las bibliotecas correspondientes. Una biblioteca C
contiene código objeto de una colección de rutinas o funciones que realizan tareas,
como visualizar informaciones en pantalla o calcular la raíz cuadrada de un
número. El enlace del código objeto del programa con el objeto de las funciones
utilizadas y cualquier otro código empelado en el enlace, producirá un código
ejecutable.

Informática – Año 2019 Página 4


Tema 7: Estructura general de un programa
Archivo de
cabecera

Bibliotecas

El proceso de ejecución de un programa puede o no funcionar a la primera vez; es decir,


podría presentar errores de sintaxis o errores en tiempo de ejecución. El proceso de
detectar y corregir errores se denomina depuración o puesta a punto de un programa.

La figura muestra el proceso completo de puesta a punto de un programa.

Inicio

Editar programa Se comienza escribiendo el archivo fuente con el


editor.

Se compila el archivo fuente y se comprueban


Compilar programa mensaje de errores. Se retorna el editor y se
fijan los errores de sintaxis. Cuando el
compilador tiene éxito, el enlazador construye el
archivo ejecutable. Se corre el archivo
ejecutable. Si se encuentra un error, se puede
Errores de si activar el depurador para ejecutar sentencia a
sintaxis sentencia. Una vez que se encuentra la causa del
error, se vuelve al editor y se repite la
compilación.
no
El proceso de compilar, enlazar y ejecutar el
Comprobar errores
programa se repetirá hasta que no se produzcan
errores.

Errores en si
tiempo de
ejecución

no
Fin

Informática – Año 2019 Página 5


Tema 7: Estructura general de un programa

7.6 TIPOS DE DATOS PRIMITIVOS EN C

El lenguaje C no soporta gran números de tipos de datos predefinidos, pero tiene la


capacidad para crear sus propios tipos de datos (modificadores). Esencialmente son
numéricos. Ellos son:
- Enteros
- Numero de coma flotante (reales)
- Caracteres

Tamaño
Tipo de Dato Ejemplo Valor mínimo Valor máximo
en byte

char ‘C’ 1 0 255

Short -15 2 -128 127

Int 1024 2 - 32768 32768 (*)

Unsigned
42533 2 0 65535
int

Long 262145 4 - 2147483648 2147483648

Float 10.5 4 3.4 * (10 –38) 3.4 * (10 38)

double 0.0045 8 1.7 * (10 –308) 1.7 * (10 308)

Long double 1e-8 8 Igual que el doble Igual que el doble

(*) Ver tema 5. Página 10. Datos numéricos - enteros

Los tipos de datos fundamentales en C son:


Enteros: (números completos y sus negativos), de tipo int
Variantes de enteros: tipos short, long y unsigned
Reales: números decimales, tipos float, double o long double
Caracteres: letras, dígitos, símbolos y signos de puntuación, tipos char
Char, int, float, double, son palabras reservadas especificadores de tipo. Cada
tipo de dato tiene su propia lista de atributos que definen las características del tipo y
pueden variar de una maquina a otra.
Los tipos char int double tienen variaciones o modificadores de tipos de datos, tales
como short, long, signed y unsigned.

Informática – Año 2019 Página 6


Tema 7: Estructura general de un programa

7.7 VARIABLES Y CONSTANTES

VARIABLES

Una variable no es más que un nombre simbólico que identifica una dirección de memoria

total = cantidad1 + cantidad2 {“Suma cantidad1 y cantidad2 y lo almacena en total”}

Declaración de variables en C
<tipo> identificador;
<tipo> lista de identificadores;

Las variables se han de declarar antes de poder usarlas.

Los identificadores de las variables son los nombres que utilizaremos para referirnos a
ellas.

Al declarar una variable, hay que definir su tipo: la variable sólo admitirá valores del tipo
especificado.

En una misma declaración se pueden declarar varias variables, siempre que sean del
mismo tipo. En este caso, los identificadores de las variables se separan por comas.

Ejemplo

// Declaración una variable entera x de tipo int


int x;

// Declaración de una variable real r de tipo double


double r;

// Declaración de una variable c de tipo char


char c;

// Múltiples declaraciones en una sola línea


int i, j, k;

Inicialización de las variables


En una declaración, las variables se pueden inicializar:

int i = 0;

Informática – Año 2019 Página 7


Tema 7: Estructura general de un programa

double x = 1.0, y = 1.0;

CONSTANTES

Una constante hace referencia a un valor que no puede modificarse.

En las constantes definidas se utiliza la directiva #define del preprocesador de C:

#define <IDENTIFICADOR> <valor>

Convenciones
Los identificadores asociados a las constantes se suelen poner en mayúsculas.

#define PI 3.141592

Si el identificador está formado por varias palabras, las distintas palabras se separan con
un guión de subrayado.

#define ELECTRONIC_CHARGE 1.6E - 19

No se puede modificar el valor de una constante

Para las constantes declaradas se utiliza el cualificador const que permite dar nombres
simbólicos a constantes. El formato general es:

const tipo nombre = valor;

const char LETRA = “C”;

Diferencias entre const sobre #define

Las definiciones const especifican tipos de datos, terminan con ; y se inicializan como
variables. La directiva #define no especifica tipo de datos, no utiliza el operador de
asignación (=) y no termina con ;.

#define IDENTIFICADOR valor

#define LETRA = “C”

7.8 OPERADORES Y EXPRESIONES

Los programas en C constan de datos, sentencias de programas y expresiones. Una


expresión es normalmente una ecuación matemática, tal como 2+7. En esta expresión el
símbolo (+) es el operador de suma, y los números 2 y 7 se llaman operandos. En síntesis,
una expresión es una secuencia de operaciones y operandos que especifican un cálculo.

Sintaxis
Variable = expresión

Una expresión es un elemento de un programa que toma un valor. En algunos casos puede
tomar también una operación.

Informática – Año 2019 Página 8


Tema 7: Estructura general de un programa

Operador de Asignación
Al ejecutar una sentencia de asignación:
1. Se evalúa la expresión que aparece a la derecha del operador de asignación (=).
2. El valor que se obtiene como resultado de evaluar la expresión se almacena en la
variable que aparece a la izquierda del operador de asignación (=).
Ejemplo
x = x + 1;
int miVariable =20; // Declaración con inicialización
otraVariable =miVariable; // Operador de asignación

NOTA IMPORTANTE: Una sentencia de asignación no es una igualdad matemática

Operadores de Asignación en C

Símbolo Uso Descripción

= A=b Asigna el valor de b a A

*= A *= b Multiplica A por b y asigna el valor a la variable A

/= A /= b Divide A entre b y asigna el valor a la variable A

%= A %= b Fija A el resto de A/b

+= A += b Suma A y b y asigna el valor a la variable A

-= A -= b Resta b y de A y asigna el valor a la variable A

OPERADORES DE INCREMENTACIÓN Y DECREMANTACIÒN.


De las características que implementa el lenguaje C, una de las más útiles es el incremento
++ y decremento --, que suman o restan 1 a su argumento.

Por consiguiente

a++ es igual que a = a + 1

a-- es igual que a = a - 1

Ejemplos

int i = 10;
int j;
....
j = i++
El valor de J es 11, recibe el valor de 10 + 1

Los operadores aritméticos y relacionales son los mismos vistos en el Tema 5.

Informática – Año 2019 Página 9


Tema 7: Estructura general de un programa

7.9 ENTRADAS Y SALIDAS

Los programas interactúan con el exterior, a través de datos de entrada o datos de salida.
La biblioteca C proporciona facilidades para entrada y salida, para lo que todo programa
deberá tener el archivo de cabecera stdio.h.

SALIDA POR PANTALLA CON LA FUNCIÓN PRINTF


La salida de datos de un programa se puede dirigir a diversos dispositivos, pantalla,
impresora, archivos. La salida que se trata a continuación va a ser a pantalla, además será
formateada.
La función printf(), visualiza en la pantalla datos del programa.

#include <stdio.h>
main ()
{
suma = 0:
suma= suma + 10
printf(“%s %d”, “Suma =”, suma);
}
Se visualiza

Suma = 10

El número de argumentos de printf(), es indefinido, por lo que se pueden transmitir


cuantos datos se desee. Así suponiendo que
i=5 j = 12 c = ‘A’ n = 40.791512
la sentencia
printf(“%d %d %c %f, i,j,c,n);
visualizara en pantalla
5 12 A 40.791512
La forma general que tiene la función printf():
printf(cadena_de_control1, dato1, dato2,…..)
Cadena de control: contiene los tipos de datos y forma de mostrarlos.
Dato1,dato2…………….: variables, contantes, datos de salida.
Printf() convierte, da forma de salida a los datos y los escribe en pantalla. La cadena
de control contiene códigos de formato que se asocian uno a uno con los datos. Cada
código comienza con el carácter %, a continuación puede especificarse el ancho mínimo
del dato y termina con el carácter de conversión. Asi, suponiendo que
i = 11 j = 12 c = ‘A’ n = 40.791512
printf(“%x %3d %c %.3f, i,j,c,n); El primer dato es 11 en hexadecimal
(%x), el segundo es el numero
se visualizara en la pantalla entero 12 en un ancho de 3, le sigue
el carácter A y, por último, el
B 12 A 40.792 número real n redondeando a 3
cifras decimales (%.3f)

Informática – Año 2019 Página 10


Tema 7: Estructura general de un programa

Ejemplos: Mostrar datos en función de su tipo

char c; float f;
... ...
printf (“%c”, c); printf (“%f”, f);

int i; double d;
... ...
printf (“%d”, i); printf (“%lf”, d);

long x; long double r;


... ...
printf (“%ld”, x); printf (“%Lf”, r);

Mostrar mensajes en distintas líneas

printf (“Una línea de texto.\n”);


printf (“Otra línea de texto.\n”);

Los códigos de formatos más utilizados son:

%d El dato se convierte a entero decimal

%o El dato entero se convierte a octal

%x El dato entero se convierte a hexadecimal

%u El dato entero se convierte entero sin signo

%c El dato se considera de tipo carácter

%e El dato se considera de tipo float. Se convierte a notación científica

%f El dato se considera de tipo float. Se convierte a notación decimal

%g El dato se considera de tipo float. Se convierte a según código a una notación más
corta

%s El dato ha de ser una cadena de caracteres

%lf El dato se considera de tipo double.

ENTRADA DESDE EL TECLADO CON LA FUNCIÓN SCANF


La función scanf, de la biblioteca estándar de funciones de entrada/salida <stdio.h>,
nos permite leer datos desde el teclado para suministrar datos a un programa.

La forma general que tiene la función scanf():


scanf (cadena_de_control1, Var1,var2 ,…..)
Cadena de control: contiene los tipos de datos y y si se desea su anchura.
Var1,var2 …………….: variables del tipo de los código de control

Informática – Año 2019 Página 11


Tema 7: Estructura general de un programa

Los código de formato más comun son los ya indicados en la salida. Se pueden añadir,
como sufijo de código, ciertos modificadores como l o L. El significado es “largo”, aplicado a
float(%lf) indica tipo double, aplicado a int (%ld) indica entero largo.
int n; double x;
scanf(“%d %lf, &n &x);

La entrada tiene que ser de la forma: 134 -1.4E-4


En este caso la función scanf() devuelve n=134 x=-1.4E-4 (en doble precisión). Los
argumentos Var1,var2… de la función scanf() se pasan por dirección o referencia
pues van a ser modificados por la función para devolver los datos. Por ello necesita el
operador de dirección, el prefijo &.
scanf(“%lf, &x);
Las variables que se pasan a scanf() se transmiten por referencia para poder ser
modificadas y transmitir los datos de entrada, para ello se hace preceder de &.

Mostrar datos en función de su tipo

char c; float f;
... ...
scanf (“%c”, &c); printf (“%f”, &f);

int i; double d;
... ...
scanf (“%d”, &i); printf (“%lf”, &d);

long x; long double r;


... ...
scanf (“%ld”, &x); printf (“%Lf”, &r);

Ejemplo 7.1 : Leer un número y calcular su cuadrado y la cuarta parte del mismo.

#include <stdio.h>
#include <stdlib.h>
int num, c;
float cuar;

main()
{
printf(" \n Calcula el cuadrado de un número y su cuarta
parte ");
printf(" \n
************************************************** \n ");
printf(" \n Ingrese el Numero: ");scanf("%d",&num);
c=num*num; //hallo el cuadrado
cuar=num/4;
printf(" \n Su cuadrado es: %d \n ",c);
printf(" \n Su cuarta parte es: %.2f \n ",cuar);
printf(" \n");
system("pause");
return 0;
}

Informática – Año 2019 Página 12

También podría gustarte