Bienvenidos a un nuevo curso. Ahora estoy en el ciclo de grado superior: Desarrollo de aplicaciones multiplataforma. Y voy a ser parte del experimento de la formación dual. Estaré haciendo practicas durante un año, y a la vez finalizando la formación.

Deseadme suerte.

jueves, 16 de octubre de 2014

0

validación de una fecha
int fecha_correcta (int día, int mes, int agno)
     return (día_correcta(día, mes, agno) && mes_correcto(mes));
int mes_correcto (int mes)
     return (mes>0 && mes<13).
int día_correcto (int día, int mes, int agno)
     return (dia>0 && dia<=dias_mes(mes, agno));
int bisisesto (int agno)
     return (agno%3==0 && agno%100!=0) || agno%400==0);
int días_mes (int m, int a)
{
     switch (m)
    {
         case1
         case3
         case5
         case7
         case8
         case10
         case12 return (31);
         break;
         case4
         case6
         case9
         case11 return(30);
         break;
         case2 if (bisiesto(a))
                       return (29);
                   else
                       return (28);
         break;
         default return (0);
    }
}
Validación de una fecha (y2)
main ()
{
...
    pedir_fecha (...);
/* Pon lo necesario para que esa función pueda pedir al usuario un día, un mes y un año guardándolos en las variables oportunas */
while(!fecha_correcta (d,m,a))
     pedir_fecha(...);
}

Números aleatorios
Incluir <stdlib.h> y <time.h>
sran(8unsigned int) time(NULL)); 
random=rand()%26; /* número de 0 a 25*/

Tamaños de los tipos: sizeof()
#include <stdio.h>
main ()
{
    long  double tipo;
    printf("El tamaño del tipo long double es: %d bytes \n, sizeof(tipo));
}

Selección múltiple: sintáxis y semántica
switch (variable)
{
     case valor1:...;...;...;... break;
     case valor2:...;...;...;... break;
     ...
     default:...;...;...;
}

El default es obligatorio.
En cuanto el valor de la variable coincide con el valor, se ejecutan TODAS las instrucciones que se encuentran a continuación HASTA QUE APARECE UN break.

Comosición iterativa indexada
     for(...;...;...){...}
Tres partes:
- Inicialización: Se ejecuta una vez al principio.
- Condición para terminar: Se ejecuta el bucle mientras esa condición es cierta.
- Cada vez: Esta parte se ejecuta cada vez que se ejecuta el contenido del bucle.
Ejemplos:
- for(i=1; i<MAX; i++) {...}
- for (i=1, j=o; i<MAX; i++,j--){...}
- for (i=1, j=0; i<MAX && j>0; i++, j--) {...}

Otras formas de iterar
Condición al final: do{}while() Primero ejecuta y luego chequea una condición para ver si sigue ejecutando. Siempre se ejecuta al menos una vez.
Lo que jamás hay que usar (pero C lo permite):
- etiqueta:...;...;...;...; goto etiqueta
Dos instrucciones especiales en el interior de bucles:
- break; Fuerza la salida del bucle aunque se cumpla la condición.
- continue; Se salta todo lo que queda de bucle y pasa a la siguiente iteración.
En cualquier caso, usando cualquiera de las formas de iterar que hemos visto podemos hacer de todo. No es necesario usarlas todas para programar. Los programadores de C suelen usar el for por su flexibilidad.




Related Posts:

  • Tema 8c 2 TADs génericos y algoritmos genéricos Se puede definir TADs genéricos (o tipos parametrizados) con algunas caracteristicas indefinidas. Estas carac… Read More
  • Tema 8c Tipos abstractos de datos (continuación de EDD con una visión desde Ada) Concepto de abstracción El concepto de abstracción en el proceso de compresión de un problema, lle… Read More
  • Punteros Ada Punteros en Ada type celda; type enlace is access celda; type celda is             record … Read More
  • Post request Curl Como enviar un post con un pedido xml con PrestaShop. Aquí os dejo un ejemplo que me han dejado en las prácticas, muy útil! <?php $service_ur… Read More
  • Sintaxis en Ada 2 Vectores Definiciones restringidas type t1 is array (1..10) of boolean; //tipo t1 es un vector de 10 posiciones de booleanos; type t2 is array (di… Read More

0 comentarios:

Publicar un comentario

Etiquetas actuales

BD (67) DEF (64) PROG (64) SQL (44) Java (29) PRACTICAS (20) php (18) DI (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) HTML (13) SGE (12) ERP (9) CONSULTAS (8) css (8) Linux (5) XML (5) Android (4) PDM (4) C (3) NetBeans (3) PSP (3) SMARTY (3) comandos (3) HOOK (2) POST (2) XSD (2) cURL (2) JS (1) MEDIA-QUERYS (1) PDO (1) RESPONSIVE (1) TPL (1) TRADUCCIÓN (1) app_inventor (1)

Todas las etiquetas

EJER (78) BD (67) DEF (64) PROG (64) SQL (44) c# (40) Programación (39) Ficheros (36) Java (29) bases de datos (21) PRACTICAS (20) lenguajes de marcas (19) AD (18) Entorno de desarrollo (18) php (18) PROCEDIMIENTOS (17) DI (16) FORM (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) lenguaje C (16) E/R (14) HTML (13) SGE (12) Sistemas informáticos (10) ERP (9) CONSULTAS (8) TRANSACCIONES (8) TRIGGER (8) VISUAL BASIC (8) css (8) FUNCIONES (7) html5 (6) Ada (5) EXAMEN (5) Linux (5) XML (5) estructuras (5) Android (4) DISEÑO (4) INTERFAZ (4) LOG (4) OpenBravo (4) PDM (4) ACTUALIZAR (3) C (3) DIAGRAMA (3) Directorios (3) NEW (3) NOR (3) NetBeans (3) OLD (3) PSP (3) SMARTY (3) comandos (3) css3 (3) AISLAMIENTOS (2) C++ (2) CONTROLERRORES (2) ELIMINAR (2) HOOK (2) INSERTAR (2) INST (2) MULTITABLA (2) POST (2) RECURSIVIDAD (2) SUBCONSULTAS (2) VISTAS (2) XSD (2) cURL (2) punteros (2) AJENA (1) BLOQUEOS (1) Byte (1) CREACION (1) CRM (1) Configuración (1) Controles (1) Datos (1) GOTFOCUS (1) IMAGENES (1) INDICES (1) JS (1) Lenght (1) MEDIA-QUERYS (1) Mingw (1) MonoDeveloped (1) OPTIMISTA (1) PDO (1) PESIMISTA (1) RESPONSIVE (1) SPEAK (1) Scanner (1) Serializacion (1) Streams (1) System (1) TPL (1) TRADUCCIÓN (1) USUARIOS (1) UseSystemPasswordChar (1) app_inventor (1) char (1) examenes (1) libreoffice (1) make (1) redes (1)