GWBASIC
TURBO C++
GWBASIC Ventana Principal
GWBASIC Ventana Principal LIST RUN LOAD SAVE xyz Save xyz.txt Save xyz.txt,a
GWBASIC Ventana Principal List xx- auto renum Edit xx cls Ctrl l
GWBASIC Ventana Principal Cont LPT1 TRON TROFF KEY SCREEN
Instrucciones en GWBASIC Delete xx Borra lineas shell abc exit Vuelve al medio ambiente de MS-DOS sin abandonar GWBASIC Vuelve al medio ambiente de CWBASIC Ctrl + PAUSA ó Ctrl + z Finaliza el modo de edición System Termina la sesión de GWBASIC
TURBO C++ Ventana Principal
TURBO C++ Menu
TURBO C++ Menu
TURBO C++ Menu
TURBO C++ Menu
TURBO C++ Menu
TURBO C++ Menu
TURBO C++ Menu
TURBO C++ Menu
TURBO C++ Menu
TURBO C++ Menu
Partes de un programa Inicio Entrada de Datos Proceso o Cálculo Salida de resultados Fin.
Instrucciones en GWBASIC REM INPUT LET PRINT END
Encabezado en TURBO C /* Comentario */ #Include<librerias.h> Declaración de función void main(){
Entrada de datos en TURBO C Declaración de variables. scanf(... ); fscanf(... );
Proceso en TURBO C Ausencia de comando A=B+C A=B*C A=B/C A=A+1 A =sin(a)
Salida de datos en TURBO C printf fprintf
} Fin de bloques o programa en TURBO C
Encabezado (Comnetario) REM o Es abreviatura de REMARK (Comentario). /* Comentario */ Documentación del programa.
INPUT (Entrada o Introducir) INPUT#n INP scanf fscanf Entrada de datos. Permite enviar datos numéricos o literales a la computadora.
Instrucciones de proceso LET (Dejar o Suponer) Ausencia de comandos. for... next while... wend If... then... Indica operaciones o procesos.
Instrucciones de proceso Ausencia de comandos. for(...) {... } while(...) {... } If(...) {... } Indica operaciones o procesos.
Salida de resultados PRINT (Imprimir) PRINT#n, LPRINT OUT printf fprintf Permite la salida de datos o resultados de un proceso, puede ser numéricos o literales.
Instrucciones en GWBASIC STOP END } Indica que el programa ha terminado.
Programa en GWBASIC 10 Programa 1 20 cls 30 PRINT Dame los sumandos a y b ; 40 INPUT a,b 50 c = a + b 60 PRINT La suma es c = ; c 70 END
Programa en TURBO C++ /*Programa 1*/ #include<stdio.h> #include<conio.h> void main (){ float a,b,c; clrscr(); printf("dame los sumandos a y b : "); scanf("%f,%f",&a,&b); c=a+b; printf("\nla suma es c= %d\n",c); }
Instrucciones en GWBASIC FOR j=a TO 20 STEP 2 INSTRUCCIONES NEXT
Instrucciones en TURBO C for(j=a;j<=20;j=j+2){ Instrucciones }
Instrucciones en GWBASIC 5 PROGRMA 2 10 CLS 20 PRINT DAME EL VALOR INICIAL ; 30 INPUT A 40 FOR I=A TO 20 STEP 2 50 PRINT I 60 NEXT I 70 END
Instrucciones en TURBO C /*Programa 2*/ #include<stdio.h> #include<conio.h> void main (){ int a,j; clrscr(); printf("dame el valor inicial: "); scanf("%i",&a); for(j=a;j<=20;j=j+2){ printf("%i\n",j); } }
Instrucciones en GWBASIC 10 PROGRAMA 3 20 CLS 30 PRINT DAME UN NUMERO ENTRE 1 Y 10 40 INPUT A 50 CLS 60 PRINT TABLA DE MULTIPLICAR DEL ;A 70 FOR I=1 TO 10 80 PRINT A; X ; I; = A*I 90 NEXT I 100 END
Instrucciones en TURBO C /*Programa 3*/ #include<stdio.h> #include<conio.h> void main (){ int a,b,j; clrscr(); printf("dame el valor entre 1 Y 10 "); scanf("%i",&a); printf("\ntabla de multiplicar del %i\n",a); for(j=1;j<=10;j=j+1){ b=a*j; printf("%i X %i = %i\n",a,j,b); } }
Instrucciones en GWBASIC IF Condición THEN línea SI Condición ENTONCES línea GOTO línea VE A línea
Diagrama de Flujo
Instrucciones en GWBASIC 5 Programa 4. Resuelve una ecuación de segundo grado. 10 CLS limpia la pantalla 15 PRINT Dame los coeficientes A, B, y C de la ecuación: ; Pide los datos de entrada 20 INPUT A,B,C 30 IF A=0 THEN 160 Verifica si la ecuación es lineal 40 T=B/(2*A) Construye los términos del discriminante 50 R=C/A 60 D=T^2-R Calcula el discriminante 70 IF D<0 THEN 120 Verifica el signo del discriminante 80 X1=-T+D^.5 Si el discriminante es positivo, las raíces son reales y 90 X2=-T-D^.5 las calcula. 100 PRINT "X1=" X1, "x2=" X2 Muestra en pantalla ambas raíces reales. 110 GOTO 190 salta al final del programa. 120 D=ABS(D) El discriminante es negativo, calcula el valor absoluto de D 130 PRINT "x1="; -T "+"D^.5;"i Muestra en pantalla las dos raíces complejas 140 PRINT "x2=";-t"-"d^.5;"i" 150 GOTO 190 Va al final del programa 160 PRINT " La ecuación es lineal La ecuación es lineal 170 X=-C/B Calcula la raíz de la ecuación lineal 180 PRINT X Imprime la raíz. 190 END Termina el programa
Instrucciones en GWBASIC 5 Programa 4a. Resuelve una ecuación de segundo grado. 10 CLS limpia la pantalla 15 PRINT Dame los coeficientes A, B, y C de la ecuación: ; Pide los datos de entrada 20 INPUT A,B,C 30 IF A=0 THEN 160 Verifica si la ecuación es lineal 40 T=B/(2*A) Construye los términos del discriminante 50 R=C/A 60 D=T^2-R Calcula el discriminante 70 IF D<0 THEN 120 Verifica el signo del discriminante 75 IF D=0 THEN 112 80 X1=-T+D^.5 Si el discriminante es positivo, las raíces son reales 90 X2=-T-D^.5 y las calcula. 100 PRINT "X1=" X1, "x2=" X2 Muestra en pantalla ambas raíces reales. 110 GOTO 190 salta al final del programa. 112 PRINT X= T 114 GOTO 190
Instrucciones en GWBASIC 120 D=ABS(D) El discriminante es negativo, calcula el valor absoluto de D 130 PRINT "x1="; -T "+"D^.5;"i Muestra en pantalla las dos raíces complejas 140 PRINT "x2=";-t"-"d^.5;"i" 150 GOTO 190 Va al final del programa 160 PRINT " La ecuación es lineal La ecuación es lineal 170 X=-C/B Calcula la raíz de la ecuación lineal 180 PRINT X Imprime la raíz. 190 END Termina el programa
Instrucciones en GWBASIC 5 Programa 4b. Resuelve una ecuación de segundo grado. 10 CLS limpia la pantalla 15 PRINT Dame los coeficientes A, B, y C de la ecuación: ; Pide los datos de entrada 20 INPUT A,B,C 30 IF A=0 THEN 160 Verifica si la ecuación es lineal 40 T=B/(2*A) Construye los términos del discriminante 50 R=C/A 60 D=T^2-R Calcula el discriminante 70 IF D<0 THEN 120 Verifica el signo del discriminante 75 IF D=0 THEN PRINT X= -T : END 80 X1=-T+D^.5 Si el discriminante es positivo, las raíces son reales y 90 X2=-T-D^.5 las calcula. 100 PRINT "X1=" X1, "x2=" X2 Muestra en pantalla ambas raíces reales. 110 GOTO 190 salta al final del programa. 120 D=ABS(D) El discriminante es negativo, calcula el valor absoluto de D 130 PRINT "x1="; -T "+"D^.5;"i Muestra en pantalla las dos raíces complejas 140 PRINT "x2=";-t"-"d^.5;"i" 150 GOTO 190 Va al final del programa 160 PRINT " La ecuación es lineal La ecuación es lineal 170 X=-C/B Calcula la raíz de la ecuación lineal 180 PRINT X Imprime la raíz. 190 END Termina el programa
Instrucciones en TURBO C /*programa 4*/ /*Programa que resuelve una ecuación de segundo grado*/ #include<stdio.h> #include<conio.h> #include<math.h> void main(){ float A,B,C,D,S,T,R,S1,S2; clrscr(); /*limpia la pantalla*/ printf("\ Dame los coeficientes A, B, y C de la ecuación"); scanf("%f,%f,%f",&a,&b,&c); if(a==0){ /*Verifica si la ecuación es lineal*/ S=-C/B; /*Calcula la raíz de la ecuación lineal*/ printf("\n\nla ecuación es lineal y su solución es: "); printf("\nx= %f\n\n,s); }else
Instrucciones en TURBO C { T=B/(2*A); /*Construye los términos del discriminante*/ R=C/A; D=T*T-R; /*Calcula el discriminante*/ if(d<0){ D=fabs(D); printf("\n\nlas raíces son complejas X1 = %f + %fi \n",-t,d); printf(" X2 = %f - %fi \n\n",-t,d); }else if(d==0){ S=-T; printf("\n\nla raíz de la ecuación es %f\n\n",s); }else
Instrucciones en TURBO C { } S1=-T+sqrt(D); S2=-T-sqrt(D); printf("\n\nlas raíces de la ecuación son X1=%f y X2=%f\n\n",S1,S2); } }
Instrucciones en GWBASIC WHILE Condición MIENTRAS WEND FIN del MIENTRAS
Instrucciones en GWBASIC 5 Programa 5 10 CLS 15 PRINT Iniciando tabla 20 WHILE I<=5 30 PRINT I, I^2, SIN(I) 40 I=I+1 50 WEND 60 PRINT LLEGUE AL FINAL 70 END.
Instrucciones en TURBO C /*Programa 5*/ #include <stdio.h> #include <math.h> #include <conio.h> void main(){ int num, c; float d; num=0; clrscr(); printf("\n\niniciando tabla\n");
Instrucciones en TURBO C while (num<=5){ c=num*num; d=sin(num); printf("\n\n%i,%i,%f",num,c,d); num=num+1; } printf("\llegue al final\n"); }
Instrucciones en TURBO C /*Programa 6*/ #include <stdio.h> #include <math.h> #include <conio.h> void main(){ int num, c; float d; num=0; clrscr(); printf("\n\niniciando tabla\n");
Instrucciones en TURBO C for(num=1;num<=5;num=num+1){ c=num*num; d=sin(num); printf("\n\n%i,%i,%f",num,c,d); } printf("\llegue al final\n"); }
Instrucciones en GWBASIC 5 Programa 6 10 CLS 15 PRINT Iniciando tabla 20 FOR I=1 TO 5 30 PRINT I, I^2, SIN(I) 40 NEXT I 50 END
DIM Instrucciones en GWBASIC Dimensión de vector o matriz DEF FNF(X) = función Define una función de x
Instrucciones en TURBO C++ Funciones (sub-rutinas) Declaración. Definición. Llamado. Definición: Subproceso RETURN
Instrucciones en GWBASIC GOSUB línea VE A LA SUBRRUTINA EN línea Subproceso RETURN REGRESA
Instrucciones en GWBASIC 5 Programa 7a 10 'programa que muestra el uso de DIM y DEF FNF 20 DIM A(4,4) 'definimos una matriz de 4 x 4 30 DEF FNF(I)=I+J 'definimos una función de i, j 40 FOR I=1 TO 4 50 FOR J=1 TO 4 Se asignan valores a cada 60 A(I,J)=FNF(I) componente de la matriz 70 PRINT A(I,J); Se imprime un reglón de A 80 NEXT J 90 PRINT CHR$(13) Imprime un CR 100 NEXT I Imprime otro renglón 110 END Fin del programa.
Instrucciones en GWBASIC 10 'programa 7 20 CLS Limpia pantalla 30 DEF FNP(X)=X*(X*(X-9)+9)-8 Define la función polinomial 40 FOR I=1 TO 10 Lo hace de 1 a 10 50 PRINT "P("I")", FNP(I) Evalúa el polinomio 60 NEXT I 70 END Fin de programa
Instrucciones en TURBO C++ /*programa 7*/ #include<stdio.h> #include<math.h> #include<conio.h> float pol(float a); /*Declara la función polinomial*/ float main(void){ int i; /*Define variables*/ float a,e; clrscr(); /*Limpia pantalla*/ for(i=0;i<=10;i++) /*Lo hace de 1 a 10*/ { e=pol(i); /* Llama a la función y evalúa el polinomio*/ printf("\p(%i) = %f \n\n",i,e); } return 0; }
Instrucciones en TURBO C++ float pol(float a) /*Define la función*/ { float e; /*Define variables*/ e=a*(a*(a-9)+9)-8; /*Evalua el Polinomio*/ return e; }
Uso de subrrutinas
Instrucciones en GWBASIC 5 Programa 8 10 'programa que resuelve un sistema de ecuaciones 20 'por el método de determinantes. 30 CLS 40 DIM A(2,3), B(2,3) Define 2 matrices, inicialmente iguales 50 PRINT "dame los coeficientes del sistema Solicita los coeficientes del sistema 60 FOR I=1 TO 2 70 FOR J=1 TO 3 80 PRINT "coeficiente" I","J; Indica cual coeficiente requiere 90 INPUT B(I,J) 100 A(I,J)=B(I,J) A=B para no perder los datos 110 NEXT J 120 NEXT I 130 GOSUB 300 Va a Calcular el determinante de A 140 DELTA=DET Determinante de A = delta 145 IF DELTA = 0 THEN 290 Verifica la existencia de solución 150 FOR I=1 TO 2 Sustituye los términos independientes de B 160 A(I,1)=B(I,3) en la primera columna de A 170 NEXT I
Instrucciones en GWBASIC 180 GOSUB 300 Va a calcular el nuevo determinante de A 190 DELTAX=DET Determinante de A = deltax 200 FOR I=1 TO 2 Retoma la matriz A y sustituye los 210 A(I,1)=B(I,1) términos independientes de B en la 220 A(I,2)=B(I,3) segunda columna de A 230 NEXT I 240 GOSUB 300 Calcula el determinante de A 250 DELTAY=DET Determinante de A = deltay 260 X=DELTAX/DELTA Evalua X 270 Y=DELTAY/DELTA Evalua Y 280 PRINT " La solucion del sistema es ; Imprime la solución del sistema 285 PRINT x= x, y= y 290 END Fin de programa 300 'Subrrutina que evalúa un determinante. Subrrutina 310 DET=A(1,1)*A(2,2)-A(2,1)*A(1,2) Calcula el determinante de A 320 RETURN Fin de subrrutina
Instrucciones en TURBO C /*Programa 8*/ #include<stdio.h> #include<math.h> float det(float a, float b, float c, float d); float main(void){ int i,j; float delta,deltax,deltay,e,x,y; float ma[2][3]; clrscr();
Instrucciones en TURBO C for(i=0;i<=1;i++) { for(j=0;j<=2;j++) { printf("\nintroduce el elemento %i,%i ",i+1,j+1); scanf("%f",&ma[i][j]); } }
Instrucciones en TURBO C } e=det(ma[0][0],ma[0][1],ma[1][0],ma[1][1]); delta=e; e=det(ma[0][2],ma[0][1],ma[1][2],ma[1][1]); deltax=e; e=det(ma[0][0],ma[0][2],ma[1][0],ma[1][2]); deltay=e; x=deltax/delta; y=deltay/delta; printf("\nla solucion es x=%f y y=%f ",x,y); return 0;
Instrucciones en TURBO C float det(float a,float b, float c, float d) { float e; e=a*d-b*c; return e; }
Instrucciones en GWBASIC OPEN nombre" FOR OUTPUT AS #1 PRINT#1, resultado
Instrucciones en GWBASIC 5 Programa 9 10 CLS 20 OPEN "mario.txt" FOR OUTPUT AS #1 30 WHILE I=<5 40 PRINT#1, I, I^2, SIN(I) 50 I=I+1 60 WEND 70 PRINT LLEGUE AL FINAL 80 END.
Instrucciones en GWBASIC 5 Programa 10 10 CLS 20 OPEN "mario.txt" FOR OUTPUT AS #1 25 PRINT#1, Inicia la tabla 27 PRINT#1, I, I*I, seno(i) 30 FOR I=1 TO 5 40 PRINT#1, I, I^2, SIN(I) 50 NEXT I 55 PRINT LLEGUE AL FINAL 60 END
Instrucciones en GWBASIC 5 Programa 11 10 CLS 20 OPEN "mario.txt" FOR OUTPUT AS #1 30 I=1 40 IF I>5 THEN 60 50 PRINT#1, I, I^2, SIN(I) 60 I=I+1 70 GOTO 40 80 PRINT LLEGUE AL FINAL 90 END.
Instrucciones en TURBO C /*Programa 10*/ #include <stdio.h> #include <math.h> #include <stdlib.h> void main(){ int num, c; float d; FILE *archivo; char nombre[10] = mario.txt"; archivo = fopen( nombre, "w" ); num=0;
Instrucciones en TURBO C clrscr(); fprintf(archivo, "\n\niniciando tabla\n"); fprintf(archivo, "\n\ni, I*I, seno(i)\n"); for(num=1;num<=5;num=num+1){ c=num*num; d=sin(num); fprintf(archivo, "\n\n%i,%i,%f",num,c,d); } }
Punto fijo en GWBASIC 10 'metodo de punto fijo 20 DEF FNF(X)=(12*X+300)/(X+13) Se define la funcion 30 INPUT "dame el valor x0, el error y cuentamax";x0,eps, CM 40 C=1 Inicia el contador 50 XN=FNF(X0) Evalua la funcion en x0 60 ER=ABS(XN-X0) Calcula el error 70 IF ER<EPS THEN 120 80 X0=XN Actualiza la x 90 IF C>CM THEN PRINT "no llegue" : END verifica contador 100 C=C+1 Incrementa contador 110 GOTO 50 Inicia siguiente iteracion 120 PRINT "la raiz es "; X0 Imprime la raiz 130 END
Punto fijo en TURBO C /*Metodo de Punto fijo*/ #include<stdio.h> #include<math.h> #include<conio.h> float fun(float x); float main(void){ int i; float x,e,eps,er; clrscr(); er=1; printf("\dame X0, error\n\n"); scanf("%f,%f",&x,&eps);
Punto fijo en TURBO C while(er>eps){ } e=fun(x); er=fabs(e-x); x=e; } printf("\la raiz es = %f \n\n",e); return 0;
Punto fijo en TURBO C float fun(float x) { float e; e=(12*x+300)/(x+13); return e; }
Referencias bibliográficas http://informaticos53.webcindario.com/programacion.htm http://decsai.ugr.es/~jfv/ed1/c/cdrom/cap3/f_cap34.htm http://en.wikibooks.org/wiki/c_programming/procedures_and_functions http://platea.pntic.mec.es/jdelucas/basic.htm