Instrucciones en GWBASIC

Anuncio
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 xxauto
renum
Edit xx
cls
Ctrl l
GWBASIC Ventana Principal
•
•
•
•
•
•
Cont
LPT1
TRON
TROFF
KEY
SCREEN
Instrucciones en GWBASIC
• Delete xx
– Borra lineas
• shell “abc
– Vuelve al medio ambiente de MS-DOS sin abandonar
GWBASIC
• exit
– 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.
Entrada de datos.
• INPUT (Entrada o Introducir)
• INPUT#n
• INP
• scanf
• fscanf
• 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"
‘Va al final del programa
150 GOTO 190
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
‘Calcula el discriminante
60 D=T^2-R
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"
‘Va al final del programa
150 GOTO 190
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);
/*Verifica si la ecuación es lineal*/
if(A==0){
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
Instrucciones en GWBASIC
• DIM
• 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
‘Limpia pantalla
20 CLS
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)
{
float e;
e=a*(a*(a-9)+9)-8;
return e;
}
/*Define la función*/
/*Define variables*/
/*Evalua el Polinomio*/
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
‘Va a Calcular el determinante de A
130 GOSUB 300
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
‘Inicia el contador
40 C=1
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
Descargar