Documente Academic
Documente Profesional
Documente Cultură
Desarrollo de un programa:
Escriba el programa fuente en el editor:
// saludo.c, autor C. Bazn, enero 20XX
#include<stdio.h>
void main(void){
char gente[ ]= Mundo!;
printf(Hola %s\n, gente);
}
Notas:
1)
2)
3)
4)
Escribir el programa en forma ORDENADA, lo cual no solo es una cuestin de estilo, sino que sirve para hacerlo legible (suelen
ser una chorrera de letras y cosas raras encapsuladas unas dentro de otras y usted no sabe donde comienzan y terminan, ni
para qu sirven, ni a quien referirse). El orden hace visible el rango de las instrucciones, atento:
Preferentemente escriba una instruccin en cada lnea
Indente usando el tabulador, no la barra espaciadora
El orden es un tem para la calificacin de las pruebas.
La distincin entre letras maysculas y minsculas es muy importante; por ejemplo: include es algo totalmente distinto a Include;
Las palabras toman colores distintos, por qu ser?
Comentarios: Son textos, dentro del programa, que sirven para hacer aclaraciones al lector humano; pero no son ledos por el
computador (son invisibles para l), Hay dos tipos de comentarios:
De fin de lnea:
#include<stdio.h>
// esto es un comentario de fin de lnea
De varias lneas:
/* El comentario inicia ac
sigue varias lneas, al final cierra.
*/
Definiciones:
A cada lnea (o ms de una) que termina en ; se le llama instruccin o sentencia (viene del ingls sentence). Los comentarios
solo aparecen en este libro.
Programas
Programa fuente
: Conjunto de instrucciones, en lenguaje C, entendibles por el usuario, parecido a saludo.c
Programa Objeto
: Conjunto de instrucciones entendibles por el sistema operativo, le falta otros programas auxiliares que
estn en libreras
Programa Ejecutable : Conjunto de instrucciones completo listo para ejecutar.
PGINA: 1
Programa Fuente
(source program)
Errores de sintaxis
Programa Objeto
(Object program)
Orden de ejecutar
Programa Ejecutable
(Executable program)
Computador ejecuta
Resultado de la ejecucin
Comprobar resultados
Programacin estructurada
Es un paradigma (forma) de programar similar al ejemplo anterior; en general usa 4 tipos de instruccin:
1) instrucciones que se ejecutan en secuencia como en saludo.c
2) Instrucciones de decisin:
if (a==0) b= 1;
// Si a = 0
b= 1;
else
b = 2;
// En caso contrario b = 2;
Segn el valor de a decide si b= 1 2.
PGINA: 2
4)
Tipos de datos
Variables
Constantes
Palabras reservadas
operadores
Expresiones
Expresin condicional
Alcance de variables y
constantes
Instruccin
Programa
Ejemplo
// mundo, autor C. Bazn, enero 20XX
#include<stdio.h> // incluye rutinas de entrada/salida estndar
#include<math.h> // incluye rutinas para clculos matemticos
#define PI 3.1416
int m, n;
int miFuncion(float x);
Ejercicio: Identifique
todos la estructura del
programa
circunferencia.c
Elementos de
programacin
void main(void){
Inicio
char gente[ ]= Mundo!;
Cuerpo
printf(Hola %s\n, gente);
}
Fin
int miFuncion(float x) { }
Definicin
Ejemplos
Secuencia de letras maysculas y minsculas (no , ni acentos),
gente, n, N, n1, n1A, n1_a,
subguin _ y nmeros. No comienza en nmero. Son sensibles al tipo
suma, masGrande, _a
de letra: ma es distinto de Ma
NO: 12abc, $uno
Un identificador identifica datos y funciones.
Entero, real, carcter
int, float, char
Dato que vara
char gente;
Dato que no vara
#define PI 3.1416
Palabras que no pueden ser usadas como identificadores; al escribirlas
Int, char, float
toman un color
Signos que para operaciones
+ - / * % = < > >=
Combinacin de variables y operadores aritmticos
a+b
Combinacin de variables y operadores de relacin y/o lgicos, que da
a>b
un valor verdadero o falso
Las variables y constantes se definen en diferentes partes de un
void main(void){
programa y son alcanzables (leer y modificar) en esas partes:
char gente[ ]= Mundo!;
Fuera de las funciones: Su alcance es global (todo el programa)
printf(Hola %s\n, gente);
En el inicio de una funcin: Su alcance es local (en la funcin)
}
En el cuerpo de una funcin: Su alcance es la funcin
Dentro de un bloque: Solo el bloque
Orden para que el computador ejecute una accin; las instrucciones
printf(El nmero es: %d, n);
terminan en ;
En una sola lnea de programa se pueden escribir varias instrucciones:
inst1; inst2;
Una instruccin puede escribirse en ms de una lnea, se salta lnea con
<enter>
0, 1 ms instrucciones:
0 instrucciones: ;
1 instruccin:
printf(Hola);
1 ms instrucciones:
{ inst1;
Inst2;
}
Conjunto de instrucciones (y bloques) para ejecutar una tarea compleja
Depurar un programa
Depurar es, corregir los errores de un programa; para traducir al ingls se escribe debug y se pronuncia dibg; la traduccin literal en el
argot popular sera eliminar insectos o microbios (algo molestoso).
Ya hablamos anteriormente sobre la depuracin, esperamos un poco para que usted tenga ms material de computacin que le ayudar
a entender este tema.
Depurar es el proceso de corregir 4 tipos de error:
1) Anlisis y diseo: Especifica el qu hacer y cmo mostrarlo. Para hacer un programa intervienen, cuando menos: El usuario y el
desarrollador (programador); es frecuente que el usuario no especifique o no sepa con claridad lo que necesita; que no se entiendan
bien el usuario y el desarrollador, ya que son de formacin distinta; o que se equivoque el desarrollador. Los problemas suelen ser
de presentacin de resultados, errores en las frmulas, o lo ms grave, errores de tipo estructural en problemas complejos. Este
error se suele detectar al momento de la entrega del programa; para prevenirlo, haga participar al usuario en la medida que desarrolla,
para que se integren como un equipo de trabajo y para que confirme el buen desarrollo.
2) Sintaxis: Son errores de sintaxis que comete el desarrollador, los detecta el compilador y se muestran en la ventana inferior: Logs
& others Build log, los errores y la lnea donde ocurren se reportan en color rojo, haga click sobre el error y el cursor saltar a la
lnea de cdigo del programa donde est el error. No es necesario corregir todos los errores; ya que es muy frecuente que un error
de cdigo genere muchos errores de sintaxis; as es que corrija 1, 2, 3 errores de sintaxis y vuelva a compilar.
3) Ejecucin: El programa compila sin errores, al momento de ejecutar se pueden producir diferentes eventos, en muchos casos es
necesario escribir trazas en el programa. Una traza es un mensaje (que se imprime en pantalla y lo ves), se escribe en partes
estratgicas del programa, hay dos tipos:
De recorrido del programa: printf(1: aaaaaaa); printf(2: aaaaaaa); // usa cualquier smbolo repetido
El nmero sirve para identificar el mensaje.
El aaaaaaa sirve para distinguir en pantalla el mensaje, muchas aparecen un montn de letras y no se sabe donde
aparece el mensaje.
De valores: printf(aaaaaaa: x = %d, y = %d, x, y); // se usa para conocer los valores que toman las variables
Los eventos de error suelen ser:
a. El computador muestra errores: depure y recompile.
b. El programa no hace nada y termina: escriba trazas
c. El programa procesa y no termina nunca (se cuelga, entra en loop, ): Mtelo (en ingls se escribe kill it, al pronunciar las i
suenan pacidas a la e): presione las teclas ctrl+c y luego ponga trazas y recompile.
4) Lgica: El computador hace lo que usted ordena (escribe), no lo que usted quiere; este es el error ms frecuente y ms difcil de
resolver, ya que no hay mensaje de error y los resultados se muestran; pero son incorrectos y muchas veces usted no lo sabe. Para
superar este problema se suelen hacer dos procesos:
Revisar la lgica del programa, es mi preferido.
Preparar una matriz de casos de prueba con las entradas de casos lmite, por ejemplo, si su problema es ver si un nmero es
primo o no, la matriz sera:
Casos de Prueba
Caso
Entrada(s)
Salida(s)
Nmero
Resultado
1
-1
El nmero debe ser mayor que 0
2
0
El nmero debe ser mayor que 0
3
1
Si
4
2
No
5
3
Si
.
Ejecute el programa para cada caso de prueba: Ingrese los datos de entrada y verifique que la salida concuerda con la esperada. Si no
es as; corrija el programa, recompile, ejecute y verifique nuevamente los casos de prueba. Sea cuidadoso al depurar, ya que al corregir
un error puede producir otro y usted no lo sabe, lo cual quiere decir que debieran repetirse todos los casos de prueba; afortunadamente,
la experiencia y la buena lgica nos permiten correr el riesgo de no probarlo todo, una y otra vez: Atento, sea cuidadoso.
Al inicio la depuracin parece un proceso tedioso, pero con la prctica se facilita. Este proceso de control y correccin, en el mundo virtual
(el desarrollador tiene el poder de ordenar y tiene facilidades para convertirse en un trabaholico; la computadora obedece es rpida, pero
bruta, y muy trabajadora; el problema es complejo; se puede trabajar 24/24), consume tiempos y recursos y, es similar en la lgica, al que
ejecutamos en el mundo real, con la diferencia de que en el mundo real, los recursos son muy caros, y los tiempos son muy largos,
podemos sacar varias conclusiones, entre otras:
Programar y depurar es una gran herramienta que facilita el desarrollo del pensamiento organizado en el mundo real.
La velocidad del mundo virtual, revela con nitidez los problemas invisibilizados por la lentitud del mundo real.
PGINA: 5
Toda la batera de metodologas y pruebas desarrolladas garantizan velocidad y precisin en las soluciones.
Tomando en cuenta los indicadores adecuados, se puede recomendar virtualizar muchas actividades del mundo real.
Uso de internet
Internet, por medio de sus buscadores, es una gran fuente de informacin, sobre temas puntuales de computacin, inclusive ofrece libros.
Por ejemplo para buscar informacin sobre tipo de datos, visite google y teclee:
Lenguaje C tipo de dato
Aparecer una gran lista de ayudas. El mayor inconveniente con internet es que la ayuda suministrada no suele integrar conceptos, y
obviamente no hay interacciones.
Ejercicios
Escriba, compile y ejecute programas que hagan lo siguiente:
1)
Solicite la temperatura en grados Celcius tgc, luego calcule la temperatura en grados Farenheit tgf mediante la frmula: tgf = 1.8 *
tgc + 32 y finalmente la muestre.
Sugerencia:
Defina tgc y tgf
Lea tgc, calcule tgf, imprima tgc y tgf
2)
Solicite la temperatura en grados Farenheit tgf, luego calcule la temperatura en grados Celcius tgc mediante la frmula: tgf = 1.8 *
tgc + 32 y finalmente la muestre.
Sugerencia:
Defina tgf y tgc
Lea tgf, calcule tgc, imprima tgf y tgc
3)
Lea un nmero entero ne de tres cifras y muestre las unidades u, decenas d, y centenas c.
Sugerencia, si: ne = 437;
u = ne%10;
// 7
ne = (ne u)/10; d = ne%10
// 43, 3
c = ne/10
// 4
4)
Solicite un nmero de segundos nst y reporte el nmero de horas nh, minutos nm y segundos ns equivalentes.
Sugerencia, si: ns = 4560:
nh = nst/3600;
// 1
nsf = nst nh * 3600;
nm = nst/60;
// 962; 16
ns = ns nm * 60
// 2
5)
Solicite un nmero flotante x y calcule e imprima x, su cuadrado y su raz. Utilice el include #include<math.h>
PGINA: 6