TEMA 2. Elementos basicos de programacion - copia PDF

Title TEMA 2. Elementos basicos de programacion - copia
Author Alvaro Blay
Course Fundamentos de Programación
Institution UNED
Pages 4
File Size 157.4 KB
File Type PDF
Total Downloads 113
Total Views 135

Summary

Tema 2...


Description

TEMA_2 --------------- Elementos_básicos 1. Notación BNF (Backus-Naur Form) Es el conjunto de reglas gramaticales en las que se basa un lenguaje de programación. Para describir estas reglas se utilizan una serie de metasímbolos: :: = Metasímbolo de definición | Metasímbolo de alternativa { } Metasímbolo de repetición [ ] Metasímbolo de opción ( ) Metasímbolo de agrupación Las reglas BNF tendrán dos tipos de elementos: • Elemento_terminal: Son elementos que forman parte del lenguaje C+• Elemento_no_terminal: Están definidos a partir de los elementos terminales a partir de las reglas de producción. Ejemplo: Elementos básicos BNF (Pág 435 del libro) Valor_entero ::= [+ | -] secuencia_dígitos Secuencia_digitos ::= Digito {Digito} Digito ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 Valor_real ::= Valor_entero [Secuencia_digitos] [Escala] Escala ::= E Valor_entero Etc, ... 2. Valores y tipos Datos de entrada  Programa  Datos de salida

1

3. Tipos predefinidos Tipo entero (int) Este tipo puede tomar valores positivos y negativos. El rango de valores que puede tomar depende de la plataforma (combinación de procesador, sistema operativo y compilador) utilizada. Tamaño de palabra Rango de valores enteros 16 bits -32768 ... 0 ... 32768 32 bits -2147483648 ... 0 ... 2147483648 64 bits -9223372036854775808 ... 0 ... 9223372036854775808 Para poder controlar los valores máximo y mínimo que podemos utilizar no es preciso recordar estos valores, podemos utilizar las constantes INT_MAX y INT_MIN que están en la librería Las operaciones que podemos hacer con estos datos son: Ejemplo x%y x/y x*y x-y x+y

Significado Módulo o resto División Multiplicación Resto Suma

Operador % / * +

Con los enteros se cumplirá siempre: a = b * (a / b) + (a% b) Tipo real (float) Este tipo puede tomar valores positivos y negativos, y puede tener una parte decimal. Es una representación no exacta. El rango de valores que puede tomar depende de la plataforma (combinación de procesador, sistema operativo y compilador) utilizada. Tamaño de palabra y precisión 32 bits; 6 cifras decimales

Rango de valores enteros -3.4E +38 ..- 1.2E-38 O 1.2E-38 .. +3.4 E +38

64 bits; 15 cifras decimales

-1.7E +308 ..- 2.3E-308 O +2.3 E-308 .. +1.7 E +308

Para valores reales no se cumple siempre que: (a / b) * b = a Tipo carácter (char) Lo utilizaremos para manejar caracteres imprimibles: "A", "a", "B", "b", ... ."@","{", .... y no imprimibles: RETURN, ESCAPE, F1, F2, .... Incluye la práctica totalidad de caracteres utilizados en el Mundo Para hacer referencia a un carácter de la mesa del código ascii podemos hacer uso de la función char(x): char(13)  Tecla Return char(27)  tecla ESCAPE char(65)  letra "A" También podemos hacer referencia al lugar de la tabla que ocupa un carácter en uso de la función int(c): 2

int ("A")  65

int ("Z")  90

Evidentemente se cumplirá: char (int (c)) = c int (char (x)) = x

Si hacemos uso de la librería podemos utilizar las siguientes funciones para a manejar caracteres: isalpha(c)  Comprueba si c es una letra o no isascii(c)  Comprueba si c es un carácter ASCII isblank(c)  Comprueba si c es un espacio en blanco o tabulación iscntrl(c)  Comprueba si c es un carácter de control o no isdigit(c)  Comprueba si c es un dígito decimal (0 .. 9) o no tolower(c)  Pasa a minúscula el carácter c toupper(c)  Pasa a mayúscula el carácter c 4. Expresiones aritméticas Si no se utilizan paréntesis el orden de prioridad en una expresión es: 1º. Operadores multiplicativos * / % 2º. Operadores aditivos + Ejemplos: 5 * 30 + 5 = 155 float (45) = 45.0

334 / 6 % 4 * 5 = 15 int (56.8) = 56

-5 * 10% 3 / 2 = -1 nt (33.7) / 5 = 6

33 / int(5.3) = 6 25 * int (3.5) = 75

5. Operaciones de escritura simples El procedimiento printf está en la librería y sirve para mostrar o escribir por pantalla un valor: Ejemplos: printf ("Introduce tu nombre:"); printf ("---- Bienvenido a este programa --- \ n "); Cuando a parte de texto queremos mostrar valores numéricos, la función printf necesita saber el tipo de datos que tiene que escribir para saber cómo las ha de escribir. El formato o forma de utilizar esta función es: printf ("cadena con formatos", valor1, valor3, ... valorN); El especificador de formato tendrá el siguiente aspecto: % [Flags] [largo] [. Ruego] [h | l | L] tipo Nota: no es obligatorio el signo de % de principio del especificador, y el tipo de datos que se quiere mostrar. Esto es lo más normal y lo que se ve en esta asignatura. En caso de que se quiera especificar más los datos de salida se utilizan los demás parámetros, que están entre "corchetes". Ejemplos: printf ("%d", 120/12)  10 printf ("Resultado = %d", 120/12)  Resultado = 10 printf ("Datos: %d # %d", 23 * 67, -50)  Datos: 1541 # -50 printf ("Resultado = %5d", 120/12)  Resultado = ... 10 printf ("Resultado = %3d", 100 * 34)  Resultado = 34000 printf ("Datos: %7d # %5d", 23 * 6, -50)  Datos: ... .138 # ..- 50 printf ("Resultado = %10.3f", 1.2)  Resultado = ... .. 1.200 printf (Resultado = %10.4e ", 23.1 * 67.4)  Resultado = 0.1557E +04 printf ("Resultado =% 15.3g",-50.6E-6)  Resultado = ... ..- 0.506E-04 3

Los tipos habituales: Una cadena de caracteres: s Un carácter: c Valor real con / o sin notación exponencial, con un número dado de decimales de precisión .Los ceros y puntos decimal salen si es necesario: g Valor real con notación exponencial e [+/-] ddd. e Valor real (punto fijo) de la forma [-] dddd.dddd. f Entero decimal (un entero): d Nota: %10.3f real en coma fija que reserva 10 espacios y una precisión de 3 decimales 6. ESTRUCTURA DE UN PROGRAMA EN C / C + CABECERA DEL PROGRAMA / * Nombre del programa. Autor * / / * Descripción del programa * / LLAMADAS EN LIBRERÍAS Y #include DEFINICIONES DE CONSTANTES const tipo nombre_constante = valor DECLARACIÓN DE FUNCIONES tipo_dato función A (parámetros) tipo_dato función B (parámetros) DECLARACIÓN DE VAIABLES GLOBALES int a; float b; FUNCIÓN PRINCIPAL tipo_dato main () { instrucciones } De momento la estructura que utilizaremos será esta: / * Comentario del que hace el programa y el autor * / LIBRERIA STANDARD DE ENTRADA Y SALIDA #include FUNCIÓN O BLOQUE PRINCIPAL int main () { instrucciones } Ejemplo: /************************************* Programa que muestra una frase por pantalla Autor: Xavi Fontana *************************************/ #include int main () { printf ("Introduce tu nombre: "); }

4...


Similar Free PDFs