Elementos básicos de programación

En este tema se presenta un conjunto mínimo de elementos de un lenguaje de programación imperativo.

Este conjunto se particulariza para el lenguaje C±.

Con los elementos presentados se podrán construir programas completos aunque con una estructura muy simple, ya que sólo pueden estar formados por una secuencia de sentencias.

Para que estos primeros programas produzcan resultados, se introducen también varios mecanismos de escritura simple.

El objetivo que trata de alcanzar este tema es permitir el desarrollo de programas completos desde el principio.

Estos programas se podrán realizar como prácticas con el computador de manera inmediata y directa utilizando un compilador de C/C++.

 

Lenguaje C±

El lenguaje de programación C± , que se utilizará para introducir los diferentes conceptos de programación , está constituido por un subconjunto del vocabulario de los lenguajes C y C++.

Cualquier programa escrito en el lenguaje C± se podrá editar, compilar y ejecutar en un entorno de desarrollo para C++ que incluya como subconjunto al lenguaje C.

Conviene señalar que los ficheros fuente que contengan los programas C± deberán tener extensión . cpp como si fueran programas en C++.

El objetivo fundamental de utilizar el lenguaje C± es la introducción de los conceptos fundamentales de programación de una manera progresiva, sistemática y sin ambigüedades con el fin de que se adquiera una buena metodología de programación.

El lenguaje C± se irá presentando de manera simultánea a ia introducción de los conceptos según se avance en el curso.

La presentación de cada nuevo elemento de C± se realizará formalmente mediante la notación BNF  (Backus-Naur form (BNF), Backus-Naur formalism)notacion bnf

 

Siguiendo las pautas de buenas prácticas de ingeniería de software, cualquier empresa o equipo de desarrollo de software debe disponer antes del inicio de cada desarrollo de un Manual de Estilo.

Para lograr la adecuada claridad, homogeneidad y manteníbilidad de los programas, en el Manual de Estilo, se establecen prohibiciones expresas de uso de algunas estructuras del lenguaje de programación empleado, el formato de escritura de cada sentencia, recomendaciones de uso de los distintos elementos del lenguaje (constantes, variables, tipos y subprogramas) y otros muchos aspectos.

Para garantizar que todo el desarrollo sigue estas pautas establecidas, una o varias personas del departamento de calidad son las encargadas del garantizar la calidad requerida de todos los programas y para ello tienen la potestad de exigir las correcciones o modificaciones que consideren necesarias a los programadores.

 

Notación BNF

Un lenguaje de programación sigue unas reglas gramaticales similares a las de cualquier idioma humano, aunque más estrictas.

Para la definición formal de dichas reglas sintácticas utilizaremos la notación BNF (Backus-Naur Form) 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 a su 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 dentro de ellos 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.

Estos metasímbolos se escriben con el tipo de letra especial indicado para distinguirlos de los paréntesis, corchetes, etc. que forman parte del lenguaje C±.

notacion bnf

 

 

 

 

 

 

 

 

 

 

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/2017-10-29-21_02_20-Notación-de-Backus-Naur-Wikipedia-la-enciclopedia-libre2.png

También se emplearán distintos estilos de letra para distinguir los elementos simbólicos siguientes:

 

Elemento_no_terminal

Este estilo se emplea para escribir el nombre de un elemento gramatical que habrá de ser definido por alguna regla. Cual­quier elemento a la izquierda del metasímbolo ::= será no terminal y aparecerá con este estilo.

Elemento_terminal

Este estilo se emplea para representar los elementos que forman parte del lenguaje C±, es decir, que constituyen el texto de un programa. Si aparecen en una regla deberán escribirse exactamente como se indica.

 

Valores y tipos

El computador, como máquina de tratamiento de información, manipula di­ferentes datos.

Un dato es un elemento de información que puede tomar un valor entre varios posibles.

Si un dato tiene siempre necesariamente un valor fijo, diremos que es una constante.

Los valores de los datos pueden ser de diferentes clases.

En general un dato sólo puede tornar valores de una clase.

Por ejemplo, la estatura de una persona no puede tornar el valor “Felipe”, ni el nombre de una persona puede ser “175”.

En programación a las distintas clases de valores se les denomina tipos.

Un dato tiene asociado un tipo, que representa la clase de valores que puede tomar.

Por ejemplo, son tipos diferentes:

  • Los números enteros.
  • Los días de la semana.
  • Los meses del año.
  • Los títulos de libros.
  • … etc. …

Es importante destacar que el concepto de tipo es algo abstracto, e indepen­diente de los símbolos concretos que se emplean para representar los valores.

Por ejemplo, aunque podemos representar los meses del año mediante números enteros de 1 a 12, los meses no son números enteros, pues no tiene sentido, por ejemplo, sumar Enero (1) y Marzo (3) para obtener Abril (4)¿

Con más precisión se habla, de tipos abstractos de datos, que identifican tan­to el conjunto de valores que pueden tomar los datos de ese tipo como las operaciones significativas que pueden hacerse con dichos valores.

En la comunicación humana usamos habitualmente dos grandes clases de va­lores:

Los números y los textos.

Los lenguajes de programación llevan incluidas formas de representación concretas de estas clases de valores, que se traducen en la existencia de tipos de datos predefinidos, ya incorporados al lenguaje, y que pueden usarse, en su caso, para representar también valores de otros nuevos tipos de datos definidos por el programador.

Aunque en la práctica los números han de escribirse externamente en forma de texto para poder ser leídos por las personas, desde el punto de vista abstracto son valores de tipos diferentes a las de los caracteres que los representan.

https://es.wikipedia.org/wiki/Tipo_de_dato

https://es.wikipedia.org/wiki/Variable_(programaci%C3%B3n)

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/2017-10-29-21_32_50-https___upload.wikimedia.org_wikipedia_commons_6_6d_Data_types_-_en.svg_.png

 

 

 

 

 

 

 

 

 

 

 

 

 

Representación de valores constantes

Uno de los objetivos de los lenguajes de programación es evitar las ambigüe­dades o imprecisiones que existen en los lenguajes humanos.

Por ejemplo, la representación de valores numéricos en los países anglosajones se realiza separando por comas (,) los millares. Así, trescientos cuarenta y ocho mil quinientos treinta y seis se representa de la siguiente manera:

348,536

Nosotros utilizamos la coma para separar la parte entera de la parte decimal de un número no entero.

Por lo tanto, la interpretación con esta regla del número anterior sería: trescientos cuarenta y ocho con quinientas treinta y seis milésimas.

A continuación se indican las reglas particulares de C± para la representación de valores básicos, tanto numéricos como de texto.

 

Valores numéricos enteros

Los valores enteros representan un número exacto de unidades, y no pueden tener parte fraccionaria.

Un valor entero se escribe mediante una secuencia de uno o más dígitos del 0 al 9 sin separadores de ninguna clase entre ellos y precedidos opcionalmente de los símbolos más (+) o menos ( —).

Son enteros válidos los siguientes:

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/2017-10-29-21_42_51-Fundamentos-de-programación-en-C-.pdf-Adobe-Acrobat-Reader-DC.png

 

 

 

 

 

 

Sin embargo, no son valores enteros válidos los siguientes:

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/01-Fundamentos-de-programación-en-C-.pdf-Adobe-Acrobat-Reader-DC-1.png

 

 

 

 

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/02-Fundamentos-de-programación-en-C-.pdf-Adobe-Acrobat-Reader-DC.png

Valores numéricos reales

Los valores numéricos reales permiten expresar cualquier cantidad, incluyendo fracciones de unidad.

Se pueden representar de dos maneras distintas: en la notación decimal habitual, o en la notación científica.

En la notación decimal habitual un valor real se escribe con una parte entera terminada siempre por un punto (.), y seguida opcionalmente por una secuencia de dígitos que cons­tituyen la parte fraccionaria decimal.

De acuerdo con ello son valores reales válidos las siguientes:

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/203-Fundamentos-de-programación-en-C-.pdf-Adobe-Acrobat-Reader-DC.pn

 

 

 

 

 

 

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/220px-Archimedes_Idealportrait.jpg
Matemático y filósofo griego Arquímedes

En la notación científica un número real se escribe corno una mantisa, que es un número real en la 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.

 

 

 

 

 

Son valores reales válidos en notación científica

2004--Fundamentos de programación en C+-.pdf - Adobe Acrobat Reader DC

 

 

 

 

 

Sin embargo, no son valores reales válidos los siguientes:

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/005-Fundamentos-de-programación-en-C-.pdf-Adobe-Acrobat-Reader-DC.png

 

 

 

 

http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/006-Fundamentos-de-programación-en-C-.pdf-Adobe-Acrobat-Reader-DC.png

 

 

 

 

 

 

 

 

Caracteres

Además de los valores numéricos enteros o reales, empleados para la realización de cálculos numéricos, los lenguajes de programación nos deben permitir representar valores correspondientes a los caracteres de un texto, y que están
disponibles en cualquier teclado, pantalla o impresora.

Dentro del texto de un programa en C± el valor de un carácter concreto se escribe poniendo dicho carácter entre apóstrofos ( ‘ ).

 

Ejemplos:
http://cursodeprogramacionweb.designerwebcomputer.com/wp-content/uploads/2017/10/0001-Fundamentos-de-programación-en-C-.pdf-Adobe-Acrobat-Reader-DC.png

 

 

 

Es interesante hacer las siguientes observaciones:

• el espacio en blanco ( ‘ ‘ ) es un carácter válido como los demás

• hay que distinguir entre un valor entero de un dígito (p.ej. 7) y el carácter correspondiente a dicho dígito (p.ej. ‘7 ‘ )

La colección o juego de caracteres (charset) que pueden manipularse en un programa depende de la máquina que se esté usando.

Sólo se pueden representar de la forma indicada (escribiéndose entre apóstrofos) aquellos caracteres que tengan asociado un símbolo gráfico (letra, dígito, signo de puntuación, etc.) que pueda introducirse en el texto del programa.

Otros caracteres definidos, tales como 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 escritura

‘\r’  Retorno al comienzo de la misma línea de escritura

‘ \ t ‘  Tabulación

‘\ ”  Apóstrofo

‘ \ \ ‘  Barra inclinada

‘\f’ ‘ Salto a una nueva página o borrado de pantalla

 

Cadenas de caracteres (strings)

Es frecuente que los caracteres no se utilicen de forma aislada, sino formando palabras o frases.

Una cadena de caracteres (en inglés string) se escribe como una secuencia de caracteres incluidos entre comillas (“).

“Palabra”

“Este texto es una cadena de caracteres”

“&”

“El resultado de A+B es : ”

“Incluir  entre ‘apóstrofos’  el texto”

“Conteste \ “Si\” o ‘ ”No\ ””

“¿Año de fabricación?”

” ”

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

• no hay que confundir un valor de tipo carácter ( ‘ x ‘ ) con una cadena del mismo único carácter (“x”).

La distinción se produce por el delimitador utilizando comillas (“) para una cadena y apóstrofo ( ‘ ) para un carácter

• es posible definir una cadena vacía que no contenga ningún carácter,como en el último ejemplo.

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.

Aquí se aplican las mismas observaciones que se han hecho antes respecto al juego de caracteres particular de cada máquina.

 

 

 

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
Hola Bienvenido, envíame un mensaje
Enviar