abril 23, lunes 2018... · 2018-08-13 · declaraciones de variables ... conjunto de valores y...
TRANSCRIPT
![Page 1: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/1.jpg)
Abril23,Lunes
![Page 2: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/2.jpg)
Agendaparaestaclase� EstadosdeTrabajos� Intervalo� Expresiones&Iteraciones� Constantessimbólicas� TiposdeDatos� Funciones
Prof. Esp. Ing. José María Sola 114
![Page 3: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/3.jpg)
Prof. Esp. Ing. José María Sola 115
![Page 4: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/4.jpg)
![Page 5: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/5.jpg)
K&R1.2-1.3Variables,Tipodedatos,ExpresionesAritméticasylaSentenciaFor
![Page 6: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/6.jpg)
Problema–TablaFahrenheit-Celsius°C=5/9(°F–32)0 -17 20 -6 40 4 60 15 80 26 100 37 120 48 140 60 160 71 180 82 200 93 220 104 240 115 260 126 280 137 300 148
![Page 7: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/7.jpg)
/* F2C K&R 1988 */ #include <stdio.h> int main(void){ int fahr, celsius; int lower, upper, step; lower = 0; /*scale lower limit*/ upper = 300; /*upper limit*/ step = 20; /*step size*/ fahr = lower; while (fahr <= upper) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + step; } }
� Comentarios� Variables
� Abstraccióndedatos� Tipodedatos
� Declaracionesdevariables� Anunciodepropiedades� Asociación� DeclaraciónconvariosDeclaradores
� ComienzodelaEjecución(Cómputo)� Sentencias� "Sentenciadeasignación"� Sentenciawhile� Sentenciacompuesta� Indentación
� Estilosdecodificación� Secuencia� Expresionesaritméticas� Divisiónenterayreal� Formateodelasalida
� ¿Cómomejorarlaalineación?.
Resolución–Fahrenheit-Celsius°C=5/9(°F–32)
![Page 8: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/8.jpg)
F-C2–FormatoyPrecisión#include <stdio.h> int main(void){ float fahr, celsius; int lower, upper, step; lower = 0; /* lower limit of temperature 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; } }
![Page 9: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/9.jpg)
OtrosformatosparaprinH� DiferenciaentreValoryFormato
� 65 ,41,101,LXV,A� 1000001
� %d enterodecimal� %6d enterodecimal,porlomenosancho6� %f puntoflotante� %6f puntoflotante,porlomenosancho6� %.2f puntoflotantey2caracteresluegodelpunto� %6.2f puntoflotante,porlomenosancho6y
2caracteresluegodelpunto� %o octal� %x hexadecimal� %c carácter� %s string� %% porciento
Prof. Esp. Ing. José María Sola 121
![Page 10: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/10.jpg)
F-C3–ForgeneralizaWhileyuna"BestPracMce"
#include <stdio.h> int main(void){ float fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } }
#include <stdio.h> int main(void){ int fahr; for( fahr = 0; fahr <= 300; fahr = fahr + 20 ) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32) ); }
� forporwhile� Variable
celsiusreemplazadaporexpresión
Sentenciasfor
Sentenciaswhile
![Page 11: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/11.jpg)
Ejercicios� 1-3.Encabezadosobrelatabla� 1-4.C-F.
Prof. Esp. Ing. José María Sola 123
![Page 12: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/12.jpg)
K&R1.4ConstantesSimbólicas
![Page 13: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/13.jpg)
“Númerosmágicos”#include <stdio.h> int main(void){ int fahr; for( fahr = 0; fahr <= 300; fahr = fahr + 20 ) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32) ); return 0; }
![Page 14: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/14.jpg)
Constantes(oNombres)Simbólicas#include <stdio.h> #define LOWER 0 /* lower limit of table */ #define UPPER 300 /* upper limit */ #define STEP 20 /* step size */ int main(void){ int fahr; for( fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP ) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32) ); }
![Page 15: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/15.jpg)
int main(void){
const int LOWER = 0, // lower limit of table
UPPER = 300, // upper limit
STEP = 20; // step size
for (int fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
}
� Ejercicio1-5.Modifiqueelprogramaparaqueimprimalatablaenordeninverso,esdecir,desde300hasta0grados.
C11:CalificadorconstyDeclaraciónenfor
![Page 16: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/16.jpg)
FuncionesdelPreprocesador,ParteII� Yaconocidas
� Incluirarchivosencabezado,directiva#include� Reemplazarcomentariosporunespacio� Concatenarcadenasadyacentes.
� Nueva� Atenderdirectivas#definequedefinennombresmacroysulistadereemplazo
� Expandirlosnombresmacro� BestPractice
� Evitar,enlosposible,elusodefine,buscaralternativasmásabsatractasyconmismaeficiencia.� http://www.stroustrup.com/bs_faq2.html#macro
Prof. Esp. Ing. José María Sola 128
![Page 17: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/17.jpg)
Prof. Esp. Ing. José María Sola 129
![Page 18: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/18.jpg)
AlgunosMposdedatos� TiposEnteros,ordenadosporrango
� bool Lógico(C99,stdbool.h)� char Código� int Palabra� short Corto� long Largo
� TiposFlotantesReales,ordenadosporrango� float Simpleprecisión� double Dobleprecisión
� Eltamañodependedelamáquina,aunquehayrestriccionesymínimos
� Variantesdeint� unsigned� short� long� longlong(C99)
� Variantesdedouble� long
� TiposFlotantescomplejos� float_Complex
� double� _Complex� longdouble_Complex
� TiposAritméticos� TiposEnteros� TiposFlotantes,RealesyComplejos
� TiposBásicos� char� Tiposenteros� Tiposflotantes
� Enumeraciones� enum
� TiposDerivados(delosanteriores)� Arreglos� Estructuras� Uniones� Punterosatodosellos.
Prof. Esp. Ing. José María Sola 130
![Page 19: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/19.jpg)
� Declaración� Introduceunnombreenel
programa� Especificaeltipoparauna
entidadnombrada� Tipo
� Conjuntodevaloresyconjuntodeoperacionessobreesosvalores
� Objeto� Bloquedememoriaprincipal
quecontieneunvalordeuntipo
� Valor� Secuenciadebitsquese
interpretansegúnuntipo� Variable
� Objetonombrado
� AlgunostiposfundamentalesdeC� Entero(Z),porejemplo,1,42,y1066
� int
� Carácter(Σ),porejemplo, 'a', 'z',y'9' � char
� Booleano(𝔹):trueyfalse � bool
� Númerodepuntoflotantededobleprecisión(R),porejemplo,3.14y2999793.0 � double
� DeclaracionesEjemplo:� int i=42; � char c='9'; � bool b=true � double d=3.14;
Objetos:Tipos,DeclaracionesyVariables
Prof. Esp. Ing. José María Sola 131
Conjuntodevalores
Conjuntodeoperacionessobreesosvalores
Tipodedato
![Page 20: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/20.jpg)
K&R1.7-1.8FuncionesyArgumentos
![Page 21: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/21.jpg)
RepasodeFunciones� Programa
� Conjunto/Secuenciadefunciones� Abstracciónprocedural,inclusiveparafuncionesdeunalínea� QuéversusCómo
� RecomendablesyEficientes,inclusivecortas� Aplicarinclusiveparafuncionesdeunalínea� CALLf:PUSHIP,JMPf� RET:POPIP
� PrototipodefunciónoDeclaracióndeFunción� Definicióndefunción,encualquierordenyendiferentesfuentes
� Valorytiporetornado.Prof. Esp. Ing. José María Sola 133
![Page 22: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/22.jpg)
#include <stdio.h> int power(int m, int n); /* test power function */ int main(void){ int i; for( i=0; i<10; ++i ) printf( "%d %d %d\n", i, power(2,i), power(-3,i) ); }
/* power: raise base to n-th power; n >= 0 */ int power(int base,int n){ int i, p; p = 1; for( i=1 ; i<=n ; ++i ) p = p * base; return p; }
� Pruebaconprogramasimple(DriverProgram)
� Prototiposysusparámetros� Argumentossonexpresiones� Invocacionessonexpresiones� Ignorarvalordelainvocación� Argumentoversusparámetro
� Definicióndefunción� PrecondiciónyPoscondición,
DominioeImagen� Localidaddeparámetros� return expresión; � Controldeflujo.
RepasodeFunciones(cont.)
![Page 23: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/23.jpg)
/* power: raise base to n-th power; n >= 0; version 2 */ int power(int base, int n){
int p;
for( p=1 ; n>0 ; --n ) p = p * base;
return p;
}
� Noesdesventaja,esventaja� ¿Soloin?� Parámetrossonvariables� Efectodeladoacotado� Punterosparasimularelpasajeporreferencia
� Pasajedearreglos.
Pasajeporvalor(ocopia)
![Page 24: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/24.jpg)
Ejercicio� 1-15.Reescribaelprogramadeconversióndetemperaturadelasección1.2paraqueuseunafuncióndeconversión.
Prof. Esp. Ing. José María Sola 136
![Page 25: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/25.jpg)
Términosdelaclase#Definircadatérminoconlabibliograaa� Expresiones&Iteraciones
� Abstraccióndedatos� Declaraciones� Divisiónenterayreal� Operacióncerrada� Valordeunaexpresión� Efectodeladodeuna
expresión� Formateodevalor
� Constantessimbólicas� “Númerosmágicos”� Constantessimbólicasó
Nombressimbólicos� Directiva#define� Calificadorconst
� TiposdeDatos� TiposEnteros� TiposFlotantes� Variantesdetipo� TiposAritméticos� Tipos"Básicos"� TiposAritméticos� TiposDerivados
� Arreglos� Estructuras� Uniones� Punteros� Precisión:Moneda
� Funciones� Abstracciónprocedural� Función� PrototipooDeclaraciónde
función� ExpresióndeInvocación� Argumento� DefinicióndeFunción� Parámetro� Nomenclatura(estilo)� Precondición� Dominio� Poscondición� Imagen� Programadeprueba(Driver
Program)� Pasajeporvalor(copia)� Pasajeporvariable
(referencia)� Efectodeladodeunafunción� Localidaddeparámetros� Sentenciadesaltoreturn� Simulacióndepasajepor
referencia(variable).
05
Prof. Esp. Ing. José María Sola 137
![Page 26: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/26.jpg)
Tareasparalapróximaclase1. Resolverejercicio1-15.noseentrega,peroesbasedel
próximotrabajo.2. Repasarsobreenueraciones(enums).3. Leersorbreuniones(unions).4. Leersobremake.5. Leersobreinterfaces.
Prof. Esp. Ing. José María Sola 138
![Page 27: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/27.jpg)
![Page 28: Abril 23, Lunes 2018... · 2018-08-13 · Declaraciones de variables ... Conjunto de valores y conjunto de operaciones sobre esos ... Formateo de valor función Constantes simbólicas](https://reader030.vdocuments.net/reader030/viewer/2022020317/5bc550b909d3f260758cbc2c/html5/thumbnails/28.jpg)