Programas. Estructura de un programa simple



Documentos relacionados
EJERCICIOS DE PROGRAMACIÓN EN C. DIBUJAR UN ROMBO O DIAMANTE. CALCULAR SUMATORIOS. (CU00542F)

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Programas. Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial:

TIPOS DE DATOS BASICOS EN LENGUAJE C

Programación 1 Tema 3. Información, datos, operaciones y expresiones

E/S POR CONSOLA DE C++ Parte I. Elementos Básicos Dr. Oldemar Rodríguez R.

Datos y tipos de datos

Tema 3 Constantes, Variables y Tipos

Introducción a la programación. El lenguaje de programación C

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES

1. Lenguajes de programación. 2. Compilador. 3. Mi primer programa. EDM. Introducción al lenguaje C _ 1

Expresiones y sentencias

El lenguaje C. if (a>3) { printf("hola"); // bloque printf("%d",a); // de getch(); //código } Partes de un programa en C.

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

Elementos de un programa en C

Introducción a la Programación

UNIDAD 2 Descripción de un programa

Cristian Blanco

Fundamentos de Programación 2017-I

Prof. Dr. Paul Bustamante

3. Tipos primitivos de dato

4. El código BCD utiliza para codificar cada símbolo decimal: a) 4 bits b) 6 bits c) 8 bits d) ninguna de las anteriores es correcta

Tema 4 Operadores y Expresiones. Fundamentos de Informática

Práctica 2. Desarrollo de programas. Entrada y salida estándar en C.

Introducción general al Lenguaje C (2010/2011)

Lenguajes de programación

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Estructuras de control y DFDs

Autor: Ing. Nahuel González INTRODUCCIÓN A C. Clase 1

Expresiones y sentencias

Programación Digital I

El lenguaje C. hace que prog lea el contenido de infile en vez de leer del teclado. Otro ejemplo:

Tipos de datos y Operadores Básicos

UNIDAD I. ALGORITMOS

Apuntadores en C y C++

Curso de Programación Avanzada en C

Está basado en el álgebra y en el cálculo relacional.

Estructuras de control condicionales

Tema 3. Entrada y Salida

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Introducción a C++ y Code::Blocks

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Declaración de variables. Sentencias de entrada/salida

Operadores aritméticos

Examen de Fundamentos de la Programación (Modelo 1)

Introducción a las sentencias de control

Programación I Teoría I.

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C

Tema 05: Elementos de un programa en C

Informática Ingeniería en Electrónica y Automática Industrial

Capítulo 11 INTRODUCCIÓN A LA CODIFICACIÓN EN C. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Introducción a Funciones

1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv

Definición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas

Cuales son los tipos de instrucciones que se utilizan en la programación?

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

Autoestudio 2: Variables y Operadores

Proposiciones Condicionales

Programación Básica Estructuras de Datos y Funciones en C

INDICE Capitulo 1. El Turbo C++ y el Lenguaje C Capitulo 2. Declaración e inicialización de variables Capitulo 3. Funciones de entrada y salida

Conceptos Básicos. Programación

EJERCICIOS BÁSICOS DE PROGRAMACIÓN EN C RESUELTOS. VARIABLES, PRINTF, SCANF, CÁLCULOS. (CU00527F)

Introducción a la. Programación con

Sintaxis y Semántica del Lenguaje. Gramáticas

Los números naturales

Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado.

Lenguaje de programación C. Introducción

Fundamentos de Informática 4. Primeros Programas, Primeros Diseños

SISTEMAS DE NUMERACIÓN

Tema 2: Elementos básicos de un programa. Tipos de datos, variables y constantes Asignación Operadores y expresiones

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

Programación En Lenguaje C

Lenguaje de Programación: C++ Repaso de Material C++

Fundamentos de Programación 2017-I

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

µ-c: Manual de referencia del lenguaje Micro-C

Introducción al análisis numérico

Objetivo N 2. Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez


Expresión, Operador, Operando, Asignación, Prioridad

José A. Jiménez Nieto

CURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance

Transcripción:

Programas Estructura de un programa simple Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial: Entrada de datos Procesamiento de los datos Salida de resultados La función main El punto de entrada de un programa en C es la función main: int main (int argc, char *argv[]) { Declaraciones y sentencias escritas en C } return 0; Las llaves {} delimitan bloques de código en C (conjuntos de declaraciones y sentencias). La ejecución de un programa escrito en C comienza invocando a la función main(). Introducción a la Programación: C - 51 - Fernando Berzal

El preprocesador de C #include Inclusión de ficheros de cabecera #include <stdio.h> #include biblioteca.h #define Definición de constantes simbólicas y macros #define CONSTANTE expresión #define MAX(a,b) ( ((a)>(b))? (a):(b) ) #ifndef #endif Usado en ficheros de cabecera para no incluir lo mismo dos veces #ifndef XXX #define XXX #endif Introducción a la Programación: C - 52 - Fernando Berzal

Estructura general de un fichero de código en C #includes de ficheros de cabecera (bibliotecas) #defines (constantes simbólicas y macros) Declaración e implementación de funciones Funcionamiento del preprocesador Fichero de entrada al compilador Introducción a la Programación: C - 53 - Fernando Berzal

Operaciones de entrada/salida Salida por pantalla con la función printf La función printf, que forma parte de la biblioteca estándar de funciones de entrada/salida <stdio.h>, nos permite mostrar mensajes de texto en la pantalla cuando ejecutamos un programa: #include <stdio.h> int main (int argc, char *argv[]) { printf( Mi programa v1.0 ); } Mostrar datos en función de su tipo char c; printf ( %c, c); float f; printf ( %f, f); int i; printf ( %d, i); double d; printf ( %lf, d); long x; printf ( %ld, x); long double r; printf ( %Lf, r); Mostrar mensajes en distintas líneas printf ( Una línea de texto.\n ); printf ( Otra línea de texto.\n ); Introducción a la Programación: C - 54 - Fernando Berzal

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 suministrarle datos de entrada a un programa: #include <stdio.h> int main (int argc, char *argv[]) { scanf( %d,&dato); } Leer datos en función de su tipo char c; scanf ( %c, &c); float f; scanf ( %f, &f); int i; scanf ( %d, &i); double d; scanf ( %lf, &d); long x; scanf ( %ld, &x); long double r; scanf ( %Lf, &r); Operaciones de entrada/salida printf( plantilla de formato, lista de variables); scanf( plantilla de formato, lista de referencias a variables); Introducción a la Programación: C - 55 - Fernando Berzal

Salida de datos con formato Al representar un número o una cadena, podemos especificar cómo deseamos hacerlo: Sintaxis general %-n.mx El número n indica el número de caracteres que se utilizarán como mínimo para reprentar el dato (número total de dígitos en el caso de los números, tanto enteros como reales). El número.m indica el número máximo de caracteres que se utilizarán para representar el dato. En el caso de los números reales, indica el número de decimales que se mostrarán. El signo menos (-) es opcional y lo usaremos para indicar que el texto ha de justificarse a la izquierda. X indica el tipo del dato: %d Número entero en decimal %x Número entero en hexadecimal %o Número entero en octal %c Carácter %s Cadena de caracteres %f Número real %e Número real en notación científica Introducción a la Programación: C - 56 - Fernando Berzal

Ejemplos Introducción a la Programación: C - 57 - Fernando Berzal

Ejemplo Longitud de la hipotenusa de un triángulo rectángulo /* */ Hipotenusa de un triángulo rectángulo calculada según el teorema de Pitágoras #include <stdio.h> #include <math.h> int main () { // Declaraciones float lado1, lado2, hipotenusa; // Entrada de datos printf( Cálculo de la hipotenusa \n ); printf( de un triángulo rectángulo\n ); printf( --------------------------\n ); printf( Primer lado: ); scanf( %f, &lado1); printf( Segundo lado: ); scanf( %f, &lado2); // Cálculos hipotenusa = sqrt(lado1*lado1 + lado2*lado2); // Salida de resultados printf ( La hipotenusa mide %f.\n, hipotenusa); } return 0; Introducción a la Programación: C - 58 - Fernando Berzal

Ejemplo Programa para comprobar si un año es bisiesto o no Un año es bisiesto si es divisible por 4 pero no por 100, o bien es divisible por 400. #include <stdio.h> int main () { // Declaración de variables int year; int bisiesto; // Entrada de datos printf( Introduzca un año: ); scanf( %d, &year); // Cálculos bisiesto = ((year%4==0) && (year%100!=0)) (year%400==0); // Salida de resultados if (bisiesto) { printf ( El año es bisiesto. ); } else { printf ( El año no es bisiesto. ); } } return 0; NOTA: La sentencia if nos permite controlar la ejecución de un conjunto de sentencias en función de que se cumpla una condición. Introducción a la Programación: C - 59 - Fernando Berzal

#include <stdio.h> #include <math.h> Ejemplo Cuota de una hipoteca interésmensual (δ) = interésanual / 12 cuotamensual int main () { // Declaración de variables } = cantidad δ 1 (1 + δ ) 1 años 12 double cantidad; // en euros double interes; // en porcentaje (anual) int tiempo; // en años double cuota; // en euros (mensual) double interesmensual; // en tanto por uno // Entrada de datos printf("importe de la hipoteca ( ): "); scanf("%lf", &cantidad); printf("tipo de interés (%): "); scanf("%lf", &interes); printf("período de amortización (años)"); scanf("%d", &tiempo); // Cálculo de la cuota mensual interesmensual = interes/(12*100); cuota = (cantidad*interesmensual) / (1.0-1/pow(1+interesMensual,tiempo*12)); // Resultado printf("cuota mensual: %.2lf ", cuota); return 0; Introducción a la Programación: C - 60 - Fernando Berzal

Documentación del código Comentarios Los comentarios sirven para incluir aclaraciones en el código. ANSI C permite dos tipos de comentarios: // Comentarios de una línea /* Comentarios de varias líneas */ Es bueno incluir comentarios que expliquen lo que hace el programa y sus características claves (p.ej. autor, fecha, algoritmos utilizados, estructuras de datos, peculiaridades ). // Cálculo del MCD // usando el algoritmo de Euclides // Fernando Berzal, 2004 Los comentarios nunca han de limitarse a decir en lenguaje natural lo que ya está escrito en el código: Jamás se utilizarán para parafrasear el código y repetir lo que es obvio. i++; // Incrementa el contador Los comentarios han de aclarar; esto es, ayudar al lector en las partes difíciles (y no confundirle). Si es posible, escriba código fácil de entender por sí mismo: cuanto mejor lo haga, menos comentarios necesitará. int mes; // Mes int mes; // Mes del año (1..12) ax = 0x723; /* RIP L.v.B. */ NB: Beethoven murió en 1827 (0x723 en hexadecimal). Introducción a la Programación: C - 61 - Fernando Berzal

Sangrías Conviene utilizar espacios en blanco o separadores para delimitar el ámbito de las estructuras de control de nuestros programas. Líneas en blanco Para delimitar claramente los distintos segmentos de código en nuestros programas dejaremos líneas en blanco entre ellos. Identificadores Los identificadores deben ser descriptivos (reflejar su significado). p, i, s precio, izquierda, suma Declaraciones Usualmente, declararemos una única variable por línea. Nunca mezclaremos en una misma línea la declaración de variables que sean de distintos tipos o que se utilicen en el programa para distintos fines. Constantes Se considera una mala costumbre incluir literales de tipo numérico ( números mágicos ) en medio del código. Se prefiere la definición de constantes simbólicas (mediante la directiva #define del preprocesador de C). Introducción a la Programación: C - 62 - Fernando Berzal

Expresiones Uso de paréntesis: Aunque las normas de precedencia de los operadores vienen definidas en el lenguaje, no abusaremos de ellas. Siempre resulta más fácil interpretar una expresión si ésta tiene los paréntesis apropiados. Además, éstos eliminan cualquier tipo de ambigüedad. Uso de espacios en blanco: Resulta más fácil leer una expresión con espacios que separen los distintos operadores y operandos involucrados en la expresión. a%x*c/b-1 ( (a%x) * c ) / b - 1 Expresiones booleanas: Es aconsejable escribirlas como se dirían en voz alta.!(bloque<actual) ( bloque >= actual ) Expresiones complejas: Es aconsejable dividirlas para mejorar su legibilidad Claridad: Siempre buscaremos la forma más simple de escribir una expresión. key = key >> ( bits ((bits>>3)<<3)); key >>= bits & 0x7; Conversiones de tipo (castings): Evitaremos las conversiones implícitas de tipo. Cuando queramos realizar una conversión de tipo, lo indicaremos explícitamente. i = (int) f; Siempre se han de evitar los efectos colaterales (modificaciones no deseadas pueden afectar a la ejecución del programa sin que nos demos cuenta de ello). Introducción a la Programación: C - 63 - Fernando Berzal

IDEA CLAVE Escribimos código para que lo puedan leer otras personas, no sólo para que lo traduzca el compilador (si no fuese así, podríamos seguir escribiendo nuestros programas en binario). No comente el código malo (uso de construcciones extrañas, expresiones confusas, sentencias poco legibles): Reescríbalo. No contradiga al código: Los comentarios suelen coincidir con el código cuando se escriben, pero a medida que se corrigen errores y el programa evoluciona, los comentarios suelen dejarse en su forma original y aparecen discrepancias. Si cambia el código, asegúrese de que los comentarios sigan siendo correctos. El código bien escrito es más fácil de leer, entender y mantener (además, seguramente tiene menos errores) Errores de programación Errores sintácticos Errores detectados por el compilador en tiempo de compilación. Errores semánticos Sólo se detectan en tiempo de ejecución: Causan que el programa finalice inesperadamente su ejecución (p.ej. división por cero) o que el programa proporcione resultados incorrectos. Introducción a la Programación: C - 64 - Fernando Berzal