0% encontró este documento útil (0 votos)
15 vistas6 páginas

Fundamentos de Programación en C+/-

Uned fundamentos de Programación Tema 2

Cargado por

davidqm14
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)
15 vistas6 páginas

Fundamentos de Programación en C+/-

Uned fundamentos de Programación Tema 2

Cargado por

davidqm14
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

FUNDAMENTOS DE LA PROGRAMACIÓN

CURSO PRIMERO- 1º CUATRIMESTRE

TABLA DE CONTENIDOS Y ORGANIZACIÓN


Lenguaje C± .
Notación BNF.
Valores y tipos.
Representación de valores constantes.
Valores numéricos enteros.
Valores numéricos reales.
Caracteres .
Cadenas de caracteres (strings).
Tipos predefinidos.
El tipo entero (int).
El tipo real (float).
El tipo carácter (char).
Expresiones aritméticas.
Operaciones de escritura simples.
El procedimiento printf.
Estructura de un programa completo.
Uso de comentarios.
Ejemplos de programas.
Escribir una fecha.
Suma de números consecutivos.
Área y volumen de un cilindro.
TEMA 2 – ELEMENTOS BÁSICOS DE PROGRAMACIÓN
Fundamentos de la programación

LENGUAJE DE PROGRAMACIÓN C+/-


El lenguaje de programación C+/- está constituido por un subconjunto del vocabulario de los
lenguajes C y C++. Los ficheros fuente que contengan los programas C +/- deberán tener la
extensión .cpp

NOTACIÓN BNF (BACKUS-NAUR FORM)


La notación BNF está basada en la descripción de cada elemento gramatical en función de otros
más sencillos, según determinados esquemas o construcciones. Cada uno de estos esquemas se
define mediante una regla de producción.

Estas reglas sobre cómo han de escribirse los elementos del lenguaje en forma de símbolos
utilizan a su vez otros símbolos, que se denominan metasímbolos. Son los siguientes:

::= Metasímbolo de definición. Indica que el elemento de la izquierda puede desarrollarse según
el esquema de la derecha.

ǀ Metasímbolo de alternativa. Indica que puede elegirse uno y sólo uno de los elementos
separados por este metasímbolo.

{} Metasímbolos de repetición. Indican que los elementos incluidos en su interior se pueden


repetir cero o más veces.

[] Metasímbolos de opción. Indican que los elementos incluidos dentro de ellos pueden ser
utilizados o no.

() Metasímbolos de agrupación. Agrupan los elementos incluidos en su interior.

También se emplearán distintos estilos de letra para distinguir los elementos


simbólicos siguientes:

Elemento_no_terminal Elemento_terminal
Este estilo se emplea para escribir el nombre Este estilo se emplea para representar los
de un elemento gramatical que habrá de ser elementos que forman parte del lenguaje C
definido por alguna regla. Cualquier +/-, es decir, que constituyen el texto de un
elemento a la izquierda del metasímbolo ::= programa. Si aparecen en una regla deberán
será no terminal y aparecerá con este estilo. escribirse exactamente como se indica.

VALORES Y TIPOS
Un dato es un elemento de información que puede tomar un valor entre varios posibles. Si el
dato siempre tiene un valor fijo, se denomina constante. Los valores de los datos pueden ser de
diferentes clases. En general un dato solo puede tomar valores de una clase.

En programación a las distintas clases de valores se les denomina tipos. El conjunto de valores
que pueden tomar los datos de ese tipo como las operaciones significativas que pueden hacerse
con dichos valores se les denomina, tipos abstractos de datos.
Por ejemplo, aunque podemos representar los meses del año mediante números enteros del 1
al 12, los meses no son números enteros, pues no tiene sentido, por ejemplo, sumar Enero (1) y
Marzo (3) para obtener Abril (4).

REPRESENTACIONES DE VALORES CONSTANTES


Reglas particulares del lenguaje C +/- para la representación de valores básicos:

Valores numéricos enteros


Los valores enteros representan el número exacto de unidades, y no pueden tener parte
fraccionaria. Un valor entero se escribe mediante una secuencia de dígitos entre el 0 y el
9 sin separadores y precedidos opcionalmente de los símbolos + y –

Usando la notación BNF:


Valor_entero ::= [+|-] Secuencia_dígitos Secuencia_dígitos ::= Dígito { Dígito }
Dígito ::= 0|1|2|3|4|5|6|7|8|9
NUMÉRICOS

Valores numéricos reales

Los valores numéricos reales permiten expresar cualquier cantidad, incluyendo fracciones
de unidad. Se pueden representar en dos maneras distintas:
Notación decimal: parte entera terminada siempre por un punto.
Notación científica: el número real se escribe como una mantisa, que es el número
real en notación decimal habitual, seguida de un factor de escala que se escribe
como la letra E seguida del exponente entero de una potencia de 10 por la que se
multiplica la mantisa.

Usando la notación BNF:


Valor_real ::= valor_entero . [Secuencia_dígitos] [Escala]
Escala ::= E valor_entero 1- Factor Escala

Caracteres

El valor de un carácter concreto se escribe poniendo dicho carácter entre apóstrofos (‘).
Solo se pueden representar de esta forma los caracteres que tengan asociado un símbolo
gráfico (letra, dígito, signo de puntuación).

Espacio en blanco: (´ ´)
TEXTO

Los caracteres de control que no tienen símbolo gráfico, se representan mediante una
secuencia de escape con la siguiente notación:
´\n´ Salto al comienzo de una nueva línea de lectura.
´\r´ Retorno al comienzo de la misma línea de lectura.
´\´´ Apóstrofo.
´\t´ Tabulación.
´\\´ Barra inclinada.
2- Símbolo gráfico
´\f´ Salto a una nueva página o borrado de pantalla.
Cadena de caracteres (Strings)
Una cadena de caracteres se escribe como una secuencia de caracteres incluidos entre
comillas (“”).
TEXTO

Si una cadena incluye comillas en su interior se escribirá mediante \”


Cadena vacía (“).

Una cadena puede contener cualquier número de caracteres y puede incluir cualquier
carácter alfabético o de puntuación que sea representable dentro del texto del programa.

TIPOS PREDEFINIDOS
En el lenguaje C +/- hay cuatro tipos de datos predefinidos, que se designan con los nombres
int, float, char, bool (lo explicaremos más adelante):

Tipo Tipo
entero real
(Int) (float)

Valores numéricos enteros positivos y Valores numéricos reales positivos y


negativos. El rango de valores del tipo int negativos (puede no ser exacta). El rango de
depende de la plataforma que se esté valores del tipo float depende de la
utilizando. plataforma que se esté utilizando.

Las operaciones predefinidas entre valores Las operaciones predefinidas entre valores
enteros son las operaciones aritméticas reales son las operaciones aritméticas
básicas, que se realizan entre enteros y básicas, que se realizan entre reales y
devuelven como resultado valores enteros. devuelven como resultado valores reales.
Para invocar estas operaciones se dispone Para invocar estas operaciones se dispone
de los siguientes símbolos de operación u de los siguientes símbolos de operación u
operadores: operadores:
+ Suma de enteros. + Suma de enteros.
- Resta de enteros. - Resta de enteros.
* Multiplicación de enteros. * Multiplicación de enteros.
/ División de enteros. / División de enteros.
% Resto de la división. + Identidad de un entero.
+ Identidad de un entero. - Cambio de signo.
- Cambio de signo.

Los valores de tipo char ocupan 8 bits e incluyen el repertorio ASCII, es


decir, incluye caracteres alfabéticos, numéricos, de puntuación y
caracteres de control. Además, incluyen otros caracteres NO-ASCII que
dependen de la tabla de caracteres establecida.
Tipo
carácter También se pude representar un carácter tipo char mediante la
(char) notación char(x), siendo x el código del carácter. En sentido inverso, el
código numérico de un determinado carácter c se expresa como int (c).
EXPRESIONES ARITMÉTICAS
Una expresión aritmética es un cálculo a realizar entre valores numéricos. Además, es una
combinación entre operandos y operadores.
La utilización de paréntesis: Indica orden.
No utilización de paréntesis: jerarquía entre los operadores
1º Operadores multiplicativos: * / %
2º Operadores adictivos: + -
Las operaciones se ejecutan en el orden de izquierda a derecha. Para realizar operaciones
combinadas de diferentes tipos de clases, se realizará una conversión de la siguiente forma:

TIPO DE DATO (VALOR)

Valores enteros (int)


Valores reales (float) Valor a convertir

Se recomienda convertir previamente de manera automática todos los valores de una misma
expresión al tipo de valor con mayor rango de precisión, mediante la siguiente regla implícita
del manual de estilo:

OPERACIONES DE ESCRITURA SIMPLE


Las acciones que envían resultados al exterior se llaman, operaciones de escritura.
EL PROCEDIMIENTO PRINTF
Este procedimiento pertenece al módulo stdio (cabecera <stdio.h> ). La forma más
sencilla de invocarlo es:

printf (cadena-de-caracteres) ;
(No olvidarse)
El procedimiento printf escribe en la pantalla del computador la cadena de caracteres.
En el caso de que solo se quiera escribir la representación como texto de una serie de
valores de cualquier tipo se debe realizar de la siguiente forma:

printf (cadena-con-formatos, valor1, valor2, …, valorn) ;

La forma más simple de especificar un formato es mediante %x , es decir, usando el


carácter fijo % seguido de una letra de código que indica el tipo de formato a aplicar.
Los más habituales son:

CÓDIGO NEMOTÉCNICO TIPO DE VALOR


(INGLÉS)
d Decimal entero
f Float real
e Exponential Real con notación exponencial
g General Real con/sin notación exponencial
c character Un carácter
s String Una cadena de caracteres
Si se quiere separar con espacios en blanco hay que incluirlos en el formato. Para hacerlo
hay que indicar cuántos caracteres quieres que ocupe dicho valor. Se hace de la
siguiente manera:

% (número de caracteres) código de formato

Si queremos dar por terminada una línea de resultados y pasar a escribir en la siguiente
bastará con incluir en el punto adecuado la secuencia de escape \n.

ESTRUCTURA DE UN PROGRAMA COMPLETO


Un programa en C+/- se engloba dentro de una estructura principal o main (). Un ejemplo de un
programa muy sencillo es el siguiente:

/** Programa: Hola */


/* Este programa escribe “Hola” */

#include <stdio.h>

Int main () {
printf(“Hola\n”);
}

Podemos observar en el texto del programa que aparece una línea precedida del símbolo #. Con
este símbolo comienzan lo que se llaman directivas para el compilador. En concreto con la
directiva #include se indica al compilador que utilice el módulo de la librería stdio (cabecera
<stdio.h>) para las operaciones de escritura que se utilizarán en el programa.

El cuerpo del programa contiene las sentencias ejecutables correspondientes a realizar, escritas
entre los símbolos { de comienzo y } final. Cada sentencia del programa termina con ; .

USO DE COMENTARIOS
Los comentarios que se introducen en el texto del programa, facilitan su compresión.
Estos comentarios sirven para documentar el programa fuente y son ignorados por el
compilador. En C+/- los comentarios se incluyen dentro de los símbolos /* y */.

También podría gustarte