INSTRUCCIONES PARA PROGRAMAR EN BASIC 1. VARIABLES Y CONSTANTES Sirven para almacenar numero, texto,etc Para nombrar variables no usaremos espacios en blanco, caracteres especiales(/ ª ñ) ni ninguna palabra reservada de Basic A=5 PI = 3.1416 Variables de texto A = “5” Nombre = “Jose” En este caso no podemos usar A = ‘5’ para operar matemáticamente con la variable A. Para ello debemos pasar a variable numérica VAL Sirve para pasar variables de texto a numéricas El siguiente programa dará como resultado => 12 STR Sirve para pasar variables de número a texto El siguiente programa dará como resultado => 57 Comentarios de texto Se pone delante una comilla simple. Sirve para hacer anotaciones en el programa 2. ENTRADA Y SALIDA DE DATOS PRINT Sirve para imprimir datos en pantalla. Para imprimir texto lo ponemos entre comillas y si queremos imprimir una variable lo separamos por ‘,’ Ejemplo de programa Resultado PRINT TAB(n) Nos imprime tabulado n espacios Programa Resultado INPUT Sirve para introducir datos por teclado y almacenarlos en una variable Ejemplo Salida Si introducimos 7 por teclado, se le asigna a A el valor 7 Podemos introducir 2 datos dentro de una instrucción INPUT, en este caso introducimos los 2 numeros separados por ‘,’ Ejemplo Salida 3. OPERADORES MATEMÁTICOS Suma (+) A+B Resta(-) A-B Producto(*) A*B División(/) A/B Resto (MOD) A MOD B SQR(n) Nos halla la raíz cuadrada de n POW(A, B) Nos eleva el número A a la potencia B ROUND(A, n) Nos redondea el número A con n decimales INT(A) Nos halla la parte entera de A ABS(A) Nos halla el valor absoluto de A SGN(A) Nos halla el signo de A : positivos => 1 Nos devuelve el resto de dividir A entre B negativos=> -1 4. OPERADORES DE COMPARACIÓN Y LÓGICOS Igual = Mayor > Menor < Mayor igual >= Menor igual <= AND A AND B OR A OR B NOT NOT A Ejemplo 1 Resultado: como no se cunplen las 2 condiciones => imprime “no ok” Ejemplo2 Resultado: Como se cumple “una” de las 2 condiciones => A <10 imprime “ok” Ejemplo3 Resultado: Como se cumplen las 2 condiciones A<10 y NOT(B<2) => imprime “ok” 5. DECISIÓN IF… Si se cumple una condición se ejecuta una acción. Se puede poner en una línea o en varias. Si se pone en varias debemos finalizar if… endif Ejemplos IF… ELSE…ENDIF Si se cumple una condición se ejecuta una acción1 en caso contrario se ejecuta una acción 2 Ejemplo IF…ELIF…ELSE Cuando hay varias condiciones IF anidadas se puede recurrir a esta condición Ejemplo Evalúa la 1ª condición, sino se cumple evalúa la 2ª condición, sino se cumple evalúa la 3ª condición. Sino se cumple ninguna se ejecuta ELSE SELECT CASE Cuando deseamos evaluar varias condiciones podemos sustituir el if por la instrucción SELECT CASE Ejemplo 6. ETIQUETAS LABEL GOTO LABEL Creamos una etiqueta label main Podemos enviar el programa a esa etiqueta con goto main Ejemplo El siguiente programa en la línea 3 lo ‘envía’ a la línea 5. Por tanto la instrucción print a+b no se ejecutará. 7. BUCLE FOR Cuando deseemos que se repita una orden un número de veces recurrimos al bucle for. La sintaxis es for <inicio variable> to <fin variable> step >incremento Acción Next Ejemplo El programa imprime los números del 1 al 10 El siguiente programa imprime los números impares del 1 al 50 8. BUCLE WHILE El bucle se ejecuta mientras se cumpla la condición. Si no se cumple la condición no entra en el bucle o se saldrá cuando termine Ejemplo: el bucle se ejecuta mientras a <= 5 el resultado del programa será 9. CADENAS DE CARACTERES Las principales funciones para manejar cadenas de caracteres son LEN(nombre) -> nos da la longitud de una cadena LEFT(nombre,n) -> extrae n caracteres por la izquierda de la cadena nombre RIGHT(nombre,n) -> extrae n caracteres por la derecha de la cadena nombre MID(nombre,m,n) -> extrae n caracteres de la cadena nombre a partir de la posición m INSTR(nombre,”a”,m) -> nos da la posición del carácter ‘a’ en la cadena nombre comenzando en la posición m LCASE(nombre) ->nos convierte la cadena nombre a minúsculas UCASE(nombre) ->nos convierte la cadena nombre a mayusculas 10. 1. EJERCICIOS Ejercicios Iniciación 1.1. Escribir un programa que permita introducir una medida en centímetros y muestre la medida equivalente en pulgadas (una pulgada mide 2,54 centímetros). 1.2. Escribir un programa que reciba el radio de un círculo y que muestre en pantalla el diámetro, la longitud de la circunferencia y el área de ese círculo. 1.3. Al principio de un viaje en automóvil, el conductor se asegura de que el depósito de combustible esté lleno y anota la lectura del cuentakilómetros. Al terminar su viaje, anota la nueva lectura y la cantidad de combustible que se requirió para volver a llenar el depósito. Desarrollar un programa que calcule el consumo de combustible (por cada 100 Km.), con una precisión de tres decimales, a partir de esta información. 1.4. Escribir un programa que tras pedirle al usuario un precio en euros lo escriba en la pantalla en pesetas (1 euro = 166.83 pesetas). 1.5. Escribir un programa que tras pedirle al usuario un precio en pesetas lo escriba en la pantalla en euros. 1.6. Escribir un programa que reciba el precio neto de cierta mercancía comprada y la tasa de impuesto al valor añadido (IVA) como un porcentaje, y que muestre en pantalla el importe del IVA y el total a pagar en una forma correctamente anotada. 1.7. La distancia que recorre un objeto cuando se le deja caer desde cierta altura después de cierto tiempo se calcula mediante la siguiente fórmula de gravitación s = 1/2 g t2 con (g=9.81 m/s2). La distancia recorrida es el cuadrado del tiempo transcurrido desde el comienzo de la caída multiplicado por la mitad de la aceleración debida a la gravedad (9,81 metros por segundo al cuadrado). Pidiendo al usuario del programa el tiempo después de haberse soltado un objeto, calcúlense tanto la distancia recorrida como la velocidad media durante ese tiempo. 1.8. Escribir un programa para calcular el salario bruto semanal de un empleado pidiendo por teclado la tarifa que se le paga por hora por su trabajo y el número de horas normales y extra trabajadas durante la semana. Las horas normales se pagan según la tarifa estándar y cualquier tiempo extra se paga a 1,5 veces la tarifa estándar por hora. 1.9. Un constructor necesita calcular la cantidad de ladrillos y cemento que necesita para construir una pared cuyas dimensiones (longitud, altura y grosor) se proporcionan por teclado. Requiere 650 ladrillos y 70 kilogramos de cemento para construir un metro cúbico de pared. 1.10 Dadas dos variables hacer un algoritmo que intercambie sus contenidos. El programa pedirá al usuario dos variables y escribirá en la pantalla esas mismas dos variables con los contenidos intercambiados. Suponiendo que el usuario introduce dos valores numéricos, intercambiarlos sin usar una variable temporal auxiliar. 1.11. Hacer un programa que calcule la media de tres notas introducidas por teclado. Escribirá el resultado en la pantalla. 2. DECISIÓN …. IF 2.1. Hacer un programa que lea del usuario dos números enteros y escriba el mayor de ellos en la pantalla. 2.2. Hacer un programa que lea del usuario tres números enteros y diga si están en orden. 2.3. Hacer un programa que lea del usuario tres números enteros y escriba el mayor de ellos en la pantalla. 2.4. Programa que lea un número entero y diga si es o no par. 2.5. Programa que lea dos números y diga si el segundo divide al primero. 2.6. Programa que lea tres números reales (a, b, c) y, después de comprobar que están en orden (a >= b >= c), diga si forman un triángulo: a>b+c => no forman triángulo a=b=c => equilatero a*a = b*b +c*c => rectángulo a*a < b*b +c*c => agudo a*a > b*b +c*c => obtuso 2.7. Programa que resuelva una ecuación de tipo ax2 + bx + c = 0 3. DECISIONES Y BUCLES 3.1. Hacer un programa que te pida un número y genere la tabla de multiplicar de dicho número 3.2. Programa que te genere una sucesión aritmética. Debe de preguntarte: primer término, diferencia y número de términos 3.3. Programa que te genere una sucesión geométrica. Debe de preguntarte: primer término, razón y número de términos 3.4. Programa que te pregunte un número. Te genere la tabla de multiplicar de dicho número (sin imprimir el resultado). Te pregunte el resultado. Si el resultado está mal (debe de presentar el resultado correcto). Al finalizar dirá el número de aciertos y errores 3.5. Programa que te halle el factorial de un número 5! = 5.4.3.2.1 = 120 3.6. Programa que te diga si un número es primo o no 3.7. Programa que te descomponga un número en factores primos 3.8. Programa que te halle el MCD y el MCM de dos números. Usar el algoritmo de Euclides 3.9. Hacer un programa calculadora: pedir una operación (s)eno, (c)oseno, (t)angente, etc. y uno o dos números, según la operación y que escriba el resultado. 3.11. Hacer un programa que nos genere una primitiva: 7 números aleatorios entre 1 y 49 3.12. Hacer un programa que juegue a acertar un número entre 1 y 100. Contar el número de intentos hasta el acierto. 4) Ejercicios varios 4.1. Programa que nos pregunte un ángulo en radianes y nos de su valor en grados, minutos y segundos 4.2. Programa que nos pida un número de 4 cifras. Validarlo sino tiene 4 cifras y nos diga si es capicúa o no 4.3. Programa para calcular resistencias en paralelo. Nos debe de preguntar el número de resistencias. A continuación nos pide sus valores. No debe de valer 0 ( muestra un mensaje de error). Las calcularemos con la siguiente formula: El procedimiento será el siguiente: cuando introduzcamos una resistencia valida (≠ 0): calculamos su inversa 1/R, a continuación las vamos sumando (denominador). Cuando tengamos el denominador completo, hallamos nuevamente su inversa. 4.4. Programa que nos pregunte el importe de una factura. Tendrá que realizar los siguientes descuentos: 4.5. Si el importe es menor de 20€ el 10% 4.6. Si está entre 20 y 50€ incluidos el 20% 4.7. Si es superior el 25% A continuación calcular el IVA 18% y el total. Imprimir con 2 decimales: el importe, descuento, subtotal, iva y total 4.8. Escribir un programa que permita convertir grados Fahrenheit a Celsius y grados Celsius a Fahrenheit. El programa presentará el siguiente menú: 1. Conversión de Celsius a Fahrenheit 2. Conversión de Fahrenheit a Celsius 0. Salir del programa. Nota: Cada conversión se efectuará por medio de funciones, una que convertirá de grados Celsius a grados Fahrenheit y otra que haga justo lo contrario. 4.9. Programa que nos valide una dirección de correo electrónico. Será válida sin contiene el carácter (@) solo una vez y no tiene espacios en blanco. Si la dirección es válida nos debe de calcular el usuario e imprimirlo. El usuario será los caracteres que van a la izquierda de (@) 4.10. Programa para generar una pasword de 4 cifras aleatoria. 4.11. Escribir un programa que pida como entrada un año y saque por pantalla la fecha del Domingo de Pascua para ese año. La fecha de cualquier Domingo de Pascua se calcula de la siguiente forma: Sea X el año para el que se quiere calcular la fecha. Sea A el resto de la división de X entre 19 Sea B el resto de la división de X entre 4 Sea C el resto de la división de X entre 7 Sea D el resto de la división de (19 * A + 24) entre 30 Sea E el resto de la división de (2 * B + 4 * C + 6 * D + 5) entre 7 La fecha para el Domingo de Pascua es el día (22 + D + E) de Marzo (obsérvese que puede dar una fecha en mes de Abril)