1 TÉCNICAS DE PROGRAMACIÓN Lenguaje C Tercera Clase (Segunda de C)

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

Lenguaje C++.
PROGRAMACIÓN EN C.
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Tema 5 Sentencias básicas. Sentencia –Línea de código en C Básicas –Entrada de datos desde el teclado –Salida de datos por la pantalla –Asignación de.
Pippy (Python para niños)‏ 1.
Informática I – 4to año Volumen II.
MANUAL EXPRESS DE C J.M.sevilla.
Te presento a Python Qué es Python? Lenguaje interpretado
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Tema 2: Lenguaje PHP básico
FUNCIONES EN C.
INFORMATICA I Funciones CLASE 13.
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Introducción al lenguaje C++
Aprende C en una lluviosa tarde de domingo (en algo más de un par de horas) Sintaxis del lenguaje C para implementar un programa imperativo.
ESTRUCTURAS DE SECUENCIA
Una breve introducción
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
En Java las estructuras de repetición son las mismas que en C/C++.
Tema 3 Entrada y Salida.
Archivos y Búsqueda Secuencial
Archivos Programación.
Lenguaje C.
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Tema 2: Los tipos de datos
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Archivos.
Programación I Teoría VIII: Entrada/Salida
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
Capítulo 1 “Elementos de Programación”
Informática Ingeniería en Electrónica y Automática Industrial
CAPITULO 1 - INTRODUCCIÓN Comenzaremos con una rápida introducción al lenguaje C. Mostraremos algunos elementos esenciales del lenguaje en programas reales,
Tipo de Datos Básicos.
Ma. Anabell Covarrubias D.C.
ESTRUCTURA DE DATOS ESD-243
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
INTRODUCCION. LOS LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación herramientas que nos permiten crear programas y software. EL LENGUAJE DE MAQUINA.
Programación en Lenguaje C
© Autores V1.1 Informática Ingeniería en Electrónica y Automática Industrial Introducción al lenguaje C.
INTEGRANTES LINA JIMÉNEZ LOZANO ROSA ELENA REINA CARLOS VILLADIEGO MARIANO SEPULVEDA.
Elementos básicos del lenguaje
Introducción a la Ingeniería de Sistemas
Programación Técnica1UVM Tipos de Datos. Programación Técnica2UVM.
Lenguaje de Programación  Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan.
Elementos básicos del lenguaje
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
INTRODUCCIÓN A ARDUINO
FUNDAMENTOS DE PROGRAMACIÓN
HERAMIENTAS DE PRODUCCIÓN
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
Pelando la cebolla 1. Aquí discutiremos lo necesario del lenguaje necesario para implementar una metodología que llamo “pelando la cebolla”. Permite abordar.
PRINCIPIOS DE PROGRAMACIÓN

Elaboración de algoritmos usando lógica de programación
Fundamentos de Programación
Introducción al lenguaje PROCESSING para ARDUINO
Algoritmo.
Lenguaje de programación c
Clase 1 Gabriela Araya Baez.. Char: Variable que almacena caracteres. Int: Variable que almacena enteros. Float: Variable que almacena decimales. Doble:
EL TIPO DE DATO LOGICO y constantes.
Informática Ingeniería en Electrónica y Automática Industrial
Características de “C” Esta conformado por un Ambiente Integrado. Es un Lenguaje de Nivel medio.Es un compilador. Contiene un conjunto de palabras reservadas.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
Transcripción de la presentación:

1 TÉCNICAS DE PROGRAMACIÓN Lenguaje C Tercera Clase (Segunda de C)

Daniel Finol 2 while: el cuerpo de una instrucción while puede consistir de Una o más instrucciones encerradas entre llaves; o Una sola instrucción sin llaves. En todo caso, para que el código sea fácil de leer y entender (para el lector humano), se debe sangrar (indent) el cuerpo del while (así como cualquier sub-bloque de código) para resaltar la estructura lógica del programa. Posición de las llaves. Punto y coma(;) - 1 instrucción por línea.

Daniel Finol 3 Si sustituimos la línea: printf("%d\t%d\n", fahr, celsius); por: printf("%3d %6d\n", fahr, celsius); la tabla se imprimirá con justificación a la derecha: en vez de

Daniel Finol 4 Para tener más precisión en los datos de la tabla de conversión necesitamos trabajar con números fraccionarios en vez de enteros. Entonces la variables fahr y celsius deben cambiarse a float, sustituyendo: int fahr, celsius; por float fahr, celsius;

Daniel Finol 5 El programa quedaría así: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperatuire scale */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; }

Daniel Finol 6 El programa quedaría así: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperatuire scale */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; }

Daniel Finol 7 #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperatuire scale */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } Operandos enteros -> Operación Entera Operandos de punto flotante -> Operación de Punto Foltante

Daniel Finol 8 El programa quedaría así: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperatuire scale */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } Si uno de los operandos es de punto flotante y el otro entero,el entero se transforma en punto flotante.

Daniel Finol 9 El programa quedaría así: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperatuire scale */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } Así que lo podemos poner de esta manera.

Daniel Finol 10 El programa quedaría así: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperatuire scale */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } Con estos dos tampoco hay problema.

Daniel Finol 11 %f – imprime como punto flotante. %6f – igual pero con por lo menos 3 caracteres de amplitud. %6.1f – igual pero con una cifra después del punto. %.2 – imprime como punto flotante con dos cifras después del punto decimal.

Daniel Finol 12 printf("%3.0f %6.1f\n", fahr, celsius); imprime de esta manera:

Daniel Finol 13 Sustitución de variables por constantes... #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperatuire scale */ upper = 300; /* upper limit */ step = 20; /* step size */ fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; }

Daniel Finol 14 Sustitución de variables por constantes: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; fahr = 0; while (fahr <= 300) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + 20; }

Daniel Finol 15 Sustitución de variable por expresión... #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr, celsius; fahr = 0; while (fahr <= 300) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + 20; } En cualquier contexto en el que se permita usar el valor de una variable es posible usar una expresión del mismo tipo.

Daniel Finol 16 Sustitución de variable por expresión: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr; fahr = 0; while (fahr <= 300) { printf("%3.0f %6.1f\n", fahr, (5.0/9.0) * (fahr-32)); fahr = fahr + 20; } En cualquier contexto en el que se permita usar el valor de una variable es posible usar una expresión del mismo tipo que la variable.

Daniel Finol 17 fahr -> int... #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { float fahr; fahr = 0; while (fahr <= 300) { printf("%3.0f %6.1f\n", fahr, (5.0/9.0) * (fahr-32)); fahr = fahr + 20; }

Daniel Finol 18 fahr -> int: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { int fahr; fahr = 0; while (fahr <= 300) { printf("%3.0f %6.1f\n", fahr, (5.0/9.0) * (fahr-32)); fahr = fahr + 20; }

Daniel Finol 19 while -> for... #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { int fahr; fahr = 0; while (fahr <= 300) { printf("%3.0f %6.1f\n", fahr, (5.0/9.0) * (fahr-32)); fahr = fahr + 20; }

Daniel Finol 20 while -> for: #include /* print Fahrenheit-Celsius table for fahr = 0, 20,..., 300; floating-point version */ main() { int fahr; for (fahr = 0; fahr <= 300; fahr = fahr + 20) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32)); }

Daniel Finol 21 for(inicialización; condición; incremento) cuerpo; for (fahr = 0; fahr <= 300; fahr = fahr + 20) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));

Daniel Finol 22 Es una mala práctica usar “constantes literales” como: #include main() { int fahr; for (fahr = 0; fahr <= 300; fahr = fahr + 20) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32)); }

Daniel Finol 23 Es mejor usar “CONSTANTES SIMBÓLICAS” como: #include #define LOWER 0 /* lower limit of table */ #define UPPER 300 /* upper limit */ #define STEP 20 /* step size */ main() { int fahr; for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32)); }

Daniel Finol 24 Toda entrada y salida de texto se trata como un “flujo (stream) de caracteres” Un “flujo de texto” es una secuencia de texo dividido entre líneas; cada línea consta de cero o más caracteres seguidos de un carácter “nueva línea”.

Daniel Finol 25 La función getchar (de la biblioteca estándar) lee el siguiente carácter de la entrada de una secuencia de texto y lo devuelve como su valor: c = getchar(); La función putchar escribe el contenido de una variable entera como un carácter en la salida (generalmente la pantalla). putchar(c);

Daniel Finol 26 #include /* copy input to output; 1st version */ main() { int c; c = getchar(); while (c != EOF) { putchar(c); c = getchar(); }

Daniel Finol 27 #include /* copy input to output; 2nd version */ main() { int c; while ((c = getchar()) != EOF) putchar(c); }

Daniel Finol 28 #include /* count characters in input; 1st version */ main() { long nc; nc = 0; while (getchar() != EOF) ++nc; printf("%ld\n", nc); }

Daniel Finol 29 #include /* count characters in input; 2nd version */ main() { double nc; for (nc = 0; gechar() != EOF; ++nc) ; printf("%.0f\n", nc); }

Daniel Finol 30 #include /* count lines in input */ main() { int c, nl; nl = 0; while ((c = getchar()) != EOF) if (c == '\n') ++nl; printf("%d\n", nl); }

Daniel Finol 31 #include #define IN 1 /* inside a word */ #define OUT 0 /* outside a word */ /* count lines, words, and characters in input */ main() { int c, nl, nw, nc, state; state = OUT; nl = nw = nc = 0; while ((c = getchar()) != EOF) { ++nc; if (c == '\n') ++nl; if (c == ' ' || c == '\n' || c = '\t') state = OUT; else if (state == OUT) { state = IN; ++nw; } printf("%d %d %d\n", nl, nw, nc); }