• Like
  • Save
Geomática informática
Upcoming SlideShare
Loading in...5
×

Geomática informática

  • 186 views
Uploaded on

Tema 1 de la asignatura de geomática

Tema 1 de la asignatura de geomática

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
186
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Informática Tema 1. Conocimientos Básicos 1 / 104InformáticaGrado en Geomática y TopografíaTEORÍA
  • 2. Informática Tema 1. Conocimientos Básicos 2 / 104• Módulo 1. Conocimientos básicos de programación– Tema 1. Conocimientos básicos– Tema 2. Programación modular– Tema 3. Almacenamiento externo– Tema 4. Programación Orientada a Objetos• Módulo 2. Conocimientos básicos de informática– Tema 5. Introducción– Tema 6. Hardware de Computadoras– Tema 7. Software de un Ordenador– Tema 8. Redes y SeguridadContenido Teórico Asignatura
  • 3. Informática Tema 1. Conocimientos Básicos 3 / 104Módulo 1. Conocimientosbásicos de programaciónTema 1. Conocimientos básicos
  • 4. Informática Tema 1. Conocimientos Básicos 4 / 104• Conocer los conceptos básicos de informática. Elementosconstituyentes: Software y Hardware• Saber cómo se representa la información en el ordenador• Conocer el concepto de algoritmo y programa• Estudio de la notación básica de un lenguaje deprogramación estructurado– Tipos de datos simples y compuestos. Operaciones– Estructuras de control• Conocer cómo implementar programas que resuelvanproblemasObjetivos
  • 5. Informática Tema 1. Conocimientos Básicos 5 / 104Índice1. Conceptos básicos2. Representación de Información3. Metodología de la programación4. Tipos de Datos. Elementales y Estructurados (Arrays).5. Elementos de un programa6. Plantilla de un algoritmo/programa7. Estructuras secuenciales8. Estructuras condicionales9. Estructuras repetitivas10. Resumen
  • 6. Informática Tema 1. Conocimientos Básicos 6 / 1041. Conceptos básicos• Informática: INFORmación autoMÁTICA.– Tratamiento automático y racional de la información por medio deordenadores. Ciencia que abarca todos los aspectos del diseño y uso deordenadores• Información: conjunto de símbolos que representanhechos, objetos o ideas• Tipos de información:– Datos: conjuntos de símbolos que representan unainformación en forma adecuada para ser procesada– Instrucciones: indican al ordenador qué debe hacer y conqué datos (procesando los de entrada o produciendo losde salida)
  • 7. Informática Tema 1. Conocimientos Básicos 7 / 1041. Conceptos básicos• Ordenador: máquina acepta datos de entrada,realiza operaciones aritméticas y lógicas y obtienedatos de salida, bajo el control de un programapreviamente almacenado• Necesidad Hardware + SoftwareEntrada SalidaCálculosOperaciones aritméticasOperaciones lógicasPrograma
  • 8. Informática Tema 1. Conocimientos Básicos 8 / 1041. Conceptos básicos• Hardware o soporte físico: conjunto decomponentes físicos de distinta naturaleza(mecánica, electrónica,…)• Software o soporte lógico: conjunto de programasejecutables sobre el hardware junto con losdocumentos y datos asociados a los mismos• Ambos son necesarios para poder utilizar unordenador
  • 9. Informática Tema 1. Conocimientos Básicos 9 / 1041. Conceptos básicos• Esquema Von Neumann(1945)• Computadora Central– CPU (Procesador)– Memoria principal• PeriféricosMEMORIAMASIVAENTRADA SALIDAMEMORIA PRINCIPALDatos e instruccionesPROCESADOR CENTRAL (CPU)UNIDAD DECONTROLALU
  • 10. Informática Tema 1. Conocimientos Básicos 10 / 1041. Conceptos básicos• Algoritmo: conjunto finito de reglas y/o pasos quedescriben una secuencia de operaciones pararesolver un problema.• Programa: conjunto ordenado de sentencias que sedan a un ordenador indicando las operaciones que sedesea que realice• Tipos de sentencias:– Imperativas o instrucciones: representan una orden aejecutar (transferencias de datos, tratamiento dedatos, bifurcación y saltos)– Declarativas: proporcionan información sobre los datos
  • 11. Informática Tema 1. Conocimientos Básicos 11 / 1041. Conceptos básicos• Lenguaje de programación: lenguaje utilizado para laescritura de los programas• Elementos del lenguaje:– Léxico o vocabulario: conjunto de símbolos constitutivos(palabras)– Sintaxis o gramática: conjunto de reglas para laconstrucción de las sentencias correctas– Semántica: conjunto de reglas que asocian significado a lasconstrucciones correctas del lenguaje
  • 12. Informática Tema 1. Conocimientos Básicos 12 / 104Conceptos básicos• Conceptos básicos• Hardware + Software• Traductores: Compiladores e intérpretes• Representación de la información: código binarioTraducciónPrograma(L. alto nivel)(L. máquina)
  • 13. Informática Tema 1. Conocimientos Básicos 13 / 1041. Conceptos básicos• Traductor: Software que traduce programas escritosen un lenguaje de programación a otro• Tipos:– Compiladores: traducen globalmente un programa escritoen un determinado lenguaje (fuente) y producen comosalida el programa escrito en otro lenguaje (objeto)– Intérpretes: traducen y ejecutan una a una las sentenciasde un programa pero sin generar un nuevo programatraducido (no generan código o programa objeto)• Normalmente utilizamos lenguajes de alto nivel y losprogramas se han de traducir a lenguaje máquina
  • 14. Informática Tema 1. Conocimientos Básicos 14 / 1042. Representación de la información• Codificación en sistema binario {0,1}• Bit: unidad mínima de información. Representa lainformación correspondiente a la ocurrencia de unsuceso de entre dos posibilidades distintas• Byte: cantidad mínima de información pararepresentar un carácter. Se suele tomar 8 bits• Todos los datos se convierten a su representaciónbinaria.
  • 15. Informática Tema 1. Conocimientos Básicos 15 / 1042. Representación de la información• Múltiplos a partir del byte (8 bits)BytesKilobyte 210 1024 bytes ≈ 1 x 103 bytesMegabyte 220 210 Kilo 1024 KB ≈ 1 x 106 bytesGigabyte 230 210 Mega1024 MB ≈ 1 x 109 bytesTerabyte 240 210 Giga1024 GB ≈ 1 x 1012 bytes
  • 16. Informática Tema 1. Conocimientos Básicos 16 / 1042. Representación de la información• Código binario:19 = 10011 11010 = 26• n bits permiten representar 2n datos diferentes• Todos los datos se convierten a información numérica,luego a binario y se almacenan19 2222942111000*20 +1*21+0*22+1*23+1*241º02*digitosniiidigitodígito0
  • 17. Informática Tema 1. Conocimientos Básicos 17 / 1043. Metodología de la programación• El proceso de la programación es un proceso deresolución de problemas• Definición (¿Qué?)– Análisis del problema• Desarrollo (¿Cómo?)– Diseño (Algoritmo)– Codificación a un lenguaje de programación (Programa)– Pruebas: depuración, verificación y validación• Mantenimiento (Mejoras y correcciones)– MantenimientoIngeniería delSoftware
  • 18. Informática Tema 1. Conocimientos Básicos 18 / 104• Tener claro las Entradas, Salidas e intentar buscar larelación entre ellas• Una buena definición es esencial para obtener unasolución correcta• Ejemplo problema: Diseñar un algoritmo que calculeel área de un rectángulo3.1. Definición del problema‘ Programa AreaRectangulo‘ Entradas: la base y la altura del rectángulo‘ Salidas: el área del rectánguloRelación: el área es el producto de la base por la altura
  • 19. Informática Tema 1. Conocimientos Básicos 19 / 104• Diseño: desarrollo de un algoritmo o conjunto finitode acciones para resolver un problema (fundamentalen problemas complejos)• Codificación: expresar las acciones del algoritmo conun lenguaje de programación y así obtenemos unprograma (vamos a utilizar VBA)• Pruebas: ejecutar el programa dándole valor a losdatos de entrada para comprobar si devuelve bien lasalida (ver si resuelve el problema)3.2. Desarrollo
  • 20. Informática Tema 1. Conocimientos Básicos 20 / 104• Necesidad de realizar correcciones a erroresaparecidos cuando el software se está utilizando• Necesidad de ampliar las funcionalidades delsoftware• Necesidad de adaptación del software a nuevosentornos3.3. Mantenimiento
  • 21. Informática Tema 1. Conocimientos Básicos 21 / 1043.4. Características de los programas• Legibilidad: programa fácil de leer y entender• Portabilidad:– Algoritmo: fácil codificación en cualquier lenguaje– Programa: ejecución en cualquier sistema• Modificabilidad: facilidad para hacer correcciones ymejoras.• Eficiencia: aprovechamiento de los recursos delordenador• Modularidad: división en módulos con funciones biendefinidas• Estructuración: se ha de cumplir con las reglas de laProgramación Estructurada
  • 22. Informática Tema 1. Conocimientos Básicos 22 / 1043.5. Estilo de programación• Objetivo: hacer el algoritmo/programa más legible• Elementos de estilo:– Uso de comentarios– Código autodocumentado– Código con formato– Uso de constantes
  • 23. Informática Tema 1. Conocimientos Básicos 23 / 1044. Tipos de datos• Tipos de datos permiten manejar la información deforma sencilla ignorando los detalles de surepresentación interna• El tipo de dato determina:– Conjunto de posibles valores– Conjunto de posibles operaciones
  • 24. Informática Tema 1. Conocimientos Básicos 24 / 1044. Tipos de datos. Clasificación• Elementales o básicos:– Predefinidos: Existen ya definidos en los lenguajes deprogramación: entero, real, lógico, carácter– Definidos por el usuario: se ha de determinar el conjuntode valores y nombre de dicho tipo• Estructurados (estructuras de datos): agrupacioneslógicas de elementos:– Según el tipo de los elementos: Homogéneas /Heterogéneas– Según su gestión en memoria: Estáticas / Dinámicas– Según acceso a los elementos individuales: por Nombre /por Posición / por Clave
  • 25. Informática Tema 1. Conocimientos Básicos 25 / 104• Enteros: no tienen decimales. Tres tiposdependiendo de su tamaño: Byte, Integer, Long.– Con n bits se pueden representar desde el – 2n-1 hasta el2n-1-1– Problemas: desbordamiento (overflow)Tipo de datos elementalesTipo Descripción Tamaño enmemoriaRango de ValoresByte Números Enteros sin signo 8 bits 0 a 255Integer Números enteros con signo 16 bits -32.768 a 32.767Long Números enteros con signo 32 bits -2.147.483.648 a 2.147.483.647
  • 26. Informática Tema 1. Conocimientos Básicos 26 / 104• Reales: permiten decimales.– Dos tipos: Single y Double.– Representación: N=M*Be (1 bit signo, p1 bits para M y p2 para e)Problemas: a) Desbordamiento (overflow)b) Errores de redondeo (falta precisión en la representación)Tipo de datos elementalesTipo Descripción Tamaño enmemoriaRango de ValoresSingle Números reales con signo 32 bits 3,402823 * 1038 a 3,402823 * 1038Double Números reales con signo 64 bits 1,79769313486231 * 10308 a1,79769313486232 * 10308
  • 27. Informática Tema 1. Conocimientos Básicos 27 / 104Tipo de datos elementalesOperador Utilizable con TiposenterosUtilizable contipos realesComentario+ Sí Sí Suma- Sí Sí Resta* Sí Sí Multiplicación/ No Sí División Sí No Cociente de la divisiónMOD Sí No Resto de la división entera^ Sí Sí Potencia• Las operaciones permitidas para los tipos dedatos enteros y reales son:
  • 28. Informática Tema 1. Conocimientos Básicos 28 / 104• También pueden utilizarse los siguientes operadoresrelacionales para los tipos de datos enteros y reales• Su resultado es: Verdadero o FalsoTipos de datos elementalesOperador Comentario< Menor que> Mayor que<= Menor o igual>= Mayor o igual= Igual<> Distinto
  • 29. Informática Tema 1. Conocimientos Básicos 29 / 104Tipos de datos elementales• Lógico o Boolean: Sólo admite dos valores posibles{Verdadero /True, Falso/False}• Operaciones:– Relacionales: ==, <>– Operadores lógicos más importantes: AND(Y), Or (O), Not (NO), Xor (Oexcluyente)And Or XorV V V V FV F F V VF V F V VF F F F FNotV FF VEjemplo: Definición de la variable Encontrado,Dim encontrado As Boolean
  • 30. Informática Tema 1. Conocimientos Básicos 30 / 104• Cadena o String: El tipo de dato String almacenacadenas de caracteres.• Operador básico que se utiliza: & (concatenación)• Ejemplos:– “El coche ”– “ Rojo ”– “El coche ” & “Rojo ”  “El coche Rojo”Tipo de datos Elementales
  • 31. Informática Tema 1. Conocimientos Básicos 31 / 104• Agrupación de un número fijo de elementos delmismo tipo• Es homogénea, estática y de acceso por posición• Puede tener 1 o más dimensiones• El número de índices para acceder a uno de suselementos coincide con la dimensión del array• Operaciones con arrays a nivel de sus elementos• En su declaración se especifica el nombre, el tipo deelementos que lo forman y el número de ellosTipos de datos estructurados: Arrays
  • 32. Informática Tema 1. Conocimientos Básicos 32 / 104Tipos de datos estructurados:Arrays• Array unidimensional (vector):• Array bidimensional (matriz):1 9 2 8 31 2 3 4 5A(3)A1 13 9 15 511 2 14 4 610 12 3 7 81 2 3 4 5231BB(2,3)Se necesita:•Identificador (A, B)•Número de elementos:A (1 to 5),B (1 to 3, 1 to 5)•Índice para acceder alos elementos: A(3),B(2,3)
  • 33. Informática Tema 1. Conocimientos Básicos 33 / 104Elementos de un programa• Estructuras de control• Variables, constantes, valores constantes, expresiones– Variable:• Identificador (nombre)• Valor (puede ser cambiado)– Constante:• Identificador (nombre)• Valor (no puede ser cambiado)– Valor constante o literal:• Valor (no puede ser cambiado)– Expresión• Valor (resultado de evaluarla)ValorIdentificadorValor
  • 34. Informática Tema 1. Conocimientos Básicos 34 / 104Elementos de un programa• Todos tienen un tipo de dato asociado (o pertenecena un determinado tipo).• El tipo de dato determina el conjunto de valores y elconjunto de operaciones• Declaración: proceso mediante el cual se define cuálva a ser el tipo de los elementos con identificador• Inicialización: proceso mediante el cual se le asigna alos elementos con identificador un valor inicial
  • 35. Informática Tema 1. Conocimientos Básicos 35 / 104Elementos de un programa:Variables• Objeto de datos que posee un valor conocido a travésde un identificador• El valor que almacena es único pero se puedemodificar por medio de las instrucciones delprograma• En lenguajes tipificados, como VBA, es necesariodeclararlas en el programa. La sentencia dedeclaración de variables es:Dim <nombre de la variable> As <tipo de dato>
  • 36. Informática Tema 1. Conocimientos Básicos 36 / 104• Ejemplos declaración de variables asociadas contipos de datos elementales:Dim area As SingleDim Edad As ByteDim kilometros As IntegerDim nombre As StringDim respuesta As BooleanElementos de un programa:Variables
  • 37. Informática Tema 1. Conocimientos Básicos 37 / 104Elementos de un programa:VariablesDeclaración de Arrays:Dim <nombre del array> (<dimensiones>) As <Tipo de los elementos>Ejemplo: Declaración de un array unidimensional (vector):Dim A(1 to 5) As IntegerDim A(5) As Integer1 9 2 8 31 2 3 4 5A¡Atención, empieza en 1 ytermina en 5!1 9 2 8 3 40 1 2 3 5A ¡Atención, empieza en 0 ytermina en 5!4
  • 38. Informática Tema 1. Conocimientos Básicos 38 / 104Elementos de un programa:VariablesDeclaración de un Array bidimensional (matriz).Se realiza de la misma manera, simplemente se añaden las dimensionesseguidas de comas; filas, columnas, etc..Otros ejemplos: Dim A2 (10, 1 to 3) As BooleanSon once filas y tres columnas de tipo booleano numeradas de 0 a 10 yde 1 a 3.1 13 9 15 511 2 14 4 610 12 3 7 81 2 3 4 5231A Dim A (1 to 3, 1 to 5) As Single
  • 39. Informática Tema 1. Conocimientos Básicos 39 / 104Elementos de un programa:Constantes• Objeto de datos que posee un valor invariableconocido a través de un identificador• La declaración de una constante está implícita en suinicialización• Ejemplos inicialización:Const pi = 3.14 (condiciona un tipo real)Const Nombre = “Carmen” (condiciona un tipo String)Const Maximo = 100 (condiciona un tipo entero)Const <nombre de la constante> = valor
  • 40. Informática Tema 1. Conocimientos Básicos 40 / 104Elementos de un programa:Valores Constantes• Valores que aparecen explícitamente en el programasin identificador• Ejemplos :3.14 (valor de tipo real)“Informática” ( valor de tipo carácter)100 ( valor de tipo entero)
  • 41. Informática Tema 1. Conocimientos Básicos 41 / 104Elementos de un programa:Expresiones• Combinaciones de variables , constantes, valoresconstantes, operadores, paréntesis y llamadas afunciones• Su valor es el resultado de evaluarla de izquierda aderecha, teniendo en cuenta precedencia de operadoresy paréntesis• El tipo de una expresión es el tipo de su valor asociado• Ejemplos: 14-5*2 (18-2)*2 ((a <9) And (c<5)) Or (Not h)
  • 42. Informática Tema 1. Conocimientos Básicos 42 / 104Elementos de un programa:Operaciones• Los paréntesis tienen precedencia sobre los operadores.Se evalúan de dentro hacia fuera• Ejemplos: 3+4*5 = 23 , (3+4)*5 = 35 , (4<3) Or (Not False) = TrueOperadores Aritméticos(precedencia de arriba hacia abajo)Operadores de signo: +, -Operador de potencia: ^Multiplicación, división: *,/, , MODSuma y resta: +, -Operadores Relacionales <, >, <=, >=, =, <>Operadores Lógicos NotAndOrXor
  • 43. Informática Tema 1. Conocimientos Básicos 43 / 104Elementos de un programa:Estructuras de control• Estructuras secuenciales: las instrucciones seejecutan una a continuación de otra en el orden en elque están escritas• Estructuras condicionales o de selección: permitendecidir qué conjuntos de instrucciones ejecutar• Estructuras repetitivas o cíclicas: permiten que unconjunto de instrucciones se ejecute varias veces
  • 44. Informática Tema 1. Conocimientos Básicos 44 / 104Plantilla programaDefinición del problemaCuerpo del programaNombre del programa, y conjunto de constantes y variables que van a serUsadas en el mismo. Se han de diferenciar si son de Entrada, Salida o IntermediasConjunto de sentencias que van a conducir a la resolución del problema.Utilizando las variables de Entrada y las intermedias, conseguirán obtener lasVariables de Salida
  • 45. Informática Tema 1. Conocimientos Básicos 45 / 104Plantilla programa‘ Programa Nombre‘ Constantes declaración de las constantes‘ Entradas: declaración de las variables, Descripción,restricciones, …‘ Salidas: declaración de las variables y Descripción.‘ Intermedias: declaración de las variables y descripciónDefinición del problemaCuerpo del programaNota: ‘ el apóstrofe significa comentario y no es evaluado en el programa
  • 46. Informática Tema 1. Conocimientos Básicos 46 / 104Estructuras secuenciales: Asignación• Permite cambiar el valor de una variable<identificador> = <expresión>• En lenguajes tipificados tipo de la variable tiene queser compatible con el tipo del valor que se le asigne• Se trata de una operación destructiva• Ejemplos:a = 3b = a + 4.0 / 3c = (a>b) And (2 <8)
  • 47. Informática Tema 1. Conocimientos Básicos 47 / 104Estructuras secuenciales: Lectura/Entrada• Permite asignar valores dados desde un dispositivo deentrada (se utiliza para dar valor a los datos de entrada delprograma)<identificador> = InputBox(‘texto’)• Esta instrucción en VBA permite mostrar un texto• En lenguajes tipificados el tipo de la variable tiene queser compatible con el tipo del valor que se lea• Se trata de una operación destructiva• Ejemplos:altura=InputBox(‘Introduce la altura del rectángulo’)base=InputBox(‘Introduce la base del rectángulo’)
  • 48. Informática Tema 1. Conocimientos Básicos 48 / 104Estructuras secuenciales: Escritura/Salida• Permite transferir resultados a un dispositivo desalida (se utiliza para mostrar resultados al usuario de unprograma)MsgBox variableMsgBox “literal”• Ejemplos:area=10.0MsgBox “El área” ‘muestra en pantalla El áreaMsgBox area ‘muestra en pantalla 10.0MsgBox “El área es ” & area ‘muestra en pantalla El área es 10.0
  • 49. Informática Tema 1. Conocimientos Básicos 49 / 104Estructuras Secuenciales: EjemploDim base As SingleDim altura As SingleDim area As Singlebase = InputBox(“Introduce el tamaño del primer lado: “)altura = InputBox (“Introduce el tamaño del segundo lado: “)area = base*alturaMsgBox “El área es “ & area & “m2.”Problema: Calcular el área de un rectángulo dadas las dimensiones de sus lados‘ Programa‘ Entradas:‘ Salidas:‘ Intermedias:‘ InstruccionesCalculoAreaRectangulobase, altura (Single): el tamaño de los dos lados de un rectángulo, ambos >0area (Single): el área del rectángulo
  • 50. Informática Tema 1. Conocimientos Básicos 50 / 104Estructuras Secuenciales: EjemploDim dividendo As SingleDim divisor As SingleDim cociente As Singledividendo=InputBox(“Introduce dividendo: “)divisor=InputBox(“Introduce divisor ’”)cociente = dividendo/divisorMsgBox “El resultado es” & cocienteProblema: Mostrar el resultado de dividir dos datos dados de entrada‘ Programa‘ Entradas:‘ Salidas:‘ Intermedias: -Divisióndividiendo , divisor (Single): divisor<>0cociente (Single): el cociente de la división
  • 51. Informática Tema 1. Conocimientos Básicos 51 / 104Estructuras Condicionales o de Selección:Simple• Permite decidir entre dos caminos diferentes deejecución (SI lógico ENTONCES B1 SINO B2)If expresión lógica Then<Bloque instrucciones 1>Else<Bloque instrucciones 2>End IfLógicoBloqueinstrucciones 1Bloqueinstrucciones 2 VF
  • 52. Informática Tema 1. Conocimientos Básicos 52 / 104Estructuras Condicionales o de Selección:Simple• La parte que se ejecuta si el lógico es falso esopcional (SI lógico ENTONCES B1 )If expresión_lógica Then<Bloque instrucciones>End IfLógicoBloqueinstruccionesVF
  • 53. Informática Tema 1. Conocimientos Básicos 53 / 104Estructuras Condicionales o de Selección:SimpleDim dividendo As Single, divisor As Single ‘Podemos declarar dos variables a la vezDim cociente As Singledividendo=InputBox(“Introduce dividendo: “)divisor=InputBox(“Introduce divisor: “)If (divisor<>0) Thencociente = dividendo/divisorMsgBox “El cociente es: ” &cocienteElseMsgBox”No se puede dividir entre 0”End IfProblema: Mostrar el resultado de dividir dos datos dados de entrada‘ Programa‘Entradas:‘ Salidas:Divisióndividendo, divisor (Single): el dividendo y el divisorcociente (Single): el cociente de la división
  • 54. Informática Tema 1. Conocimientos Básicos 54 / 104Estructuras Condicionales o de Selección:Simple• Condiciones anidadas‘ Mayor de tres números diferentesIf (a>b) ThenIf (a>c) ThenMsgBox “El mayor es “ & aElseMsgBox “El mayor es “ & cEnd IfElseIf (b>c) ThenMsgBox “ El mayor es “ & bElseMsgBox “ El mayor es” & cEnd If• Condiciones compuestas‘ Mayor de tres números diferentesIf ( (a>b) And (a>c) ) ThenMsgBox “El mayor es “ & aEnd IfIf ( (b>a) And (b>c) ) ThenMsgBox “El mayor es “ & bEnd IfIf ( (c>a) And (c>b) ) ThenMsgBox “El mayor es ” & cEnd If
  • 55. Informática Tema 1. Conocimientos Básicos 55 / 104Estructuras Condicionales o de Selección:Múltiple• Permite decidir entre varios caminos diferentes deejecución (EN CASO DE QUE)Select Case expresiónCase <lista expresiones><Bloque 1>Case <lista de expresiones2><Bloque 2>….Case {<literal n>, <literal n>,… }<Bloque n>[Case Else<Bloque por defecto> ]End SelectexpresiónB. I. 2B. I. 1 B. I. n B. I. 2… 2Expresión: tipo numérico o String. Lista de expresiones son posibles valores que se comparancon la variable correspondiente a expresión. La parte Case Else es opcional.
  • 56. Informática Tema 1. Conocimientos Básicos 56 / 104Estructuras Condicionales o de Selección:MúltipleDim digito As Integerdigito=InputBox (“Introduce la posición del día de la semana: “)Select Case (digito)Case 1 MsgBox “Lunes”Case 2 MsgBox “Martes”….Case 7 MsgBox “Domingo”Case Else MsgBox “Dígito no válido”End SelectProblema: Dado un número del 1 al 7 mostrar con qué día de la semana se corresponde‘ Programa‘ Entradas:‘ Salidas:‘ Intermedias:DiasSemanadigito (Integer): la posición de un día de la semanaEl nombre del día de la semana asociado con la posición de entrada por pantalla
  • 57. Informática Tema 1. Conocimientos Básicos 57 / 104Estructuras Condicionales o de Selección:MúltipleDim nota As Singlenota=InputBox (“Introduce la nota: “)Select Case (nota)Case 0 To 4.99 MsgBox “Suspenso”Case 5 To 6.99 MsgBox “Aprobado”Case 7 To 8.99 MsgBox “Notable”Case 9 To 9.99 MsgBox “Sobresaliente”Case 10 MsgBox “Matricula de Honor”Case Else MsgBox “Revisa la nota”End SelectProblema: Dada una nota entre 0 y 10, poner una calificación numérica‘ Programa‘ Entradas:‘ Salidas:‘ Intermedias:PonerNotanota (Single): la nota numérica 0<=nota<=10el nombre de la nota correspondiente por pantalla
  • 58. Informática Tema 1. Conocimientos Básicos 58 / 104Estructuras Repetitivas• Permiten ejecutar repetidamente un conjunto deinstrucciones• El número de ejecuciones lo determina el valor deuna variable conocida como variable de control• Tipos:– Ciclos contados (PARA): el número de ejecuciones seestablece al construir el ciclo– Ciclos condicionales (MIENTRAS y REPETIR): el número deejecuciones depende de un valor de tipo lógico
  • 59. Informática Tema 1. Conocimientos Básicos 59 / 104Estructuras Repetitivas:Ciclo Fijo o ContadoInicializaciónvariable controlModificaciónvariable controlEjecucióncuerpo cicloEvaluacióncondiciónparadaVFUn conjunto de Instrucciones se repite exactamente elnúmero de veces que indiquemosFor contador = <expr.> To <expr.> [Step <incremento>]<Bloque instrucciones>Next <contador>‘ Importante: No se debe modificar el valor de contador en lasinstrucciones del ciclosuma1=0For i = 1 To 10suma1 =suma1+1Next iMsgBox suma1 ‘escribe 10suma2=0For i = 10 To 1 Step -2suma2 =suma2+1Next iMsgBox suma2 ‘escribe 5
  • 60. Informática Tema 1. Conocimientos Básicos 60 / 104Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Un conjunto de Instrucciones se repite mientras quela condición sea ciertaWhile condición<Bloque instrucciones>Wendsuma=0While i<=10suma =suma+1WendMsgBox sumaErrores:i no está inicializadaciclo infinitoEjecucióncuerpo cicloEvaluacióncondiciónparadaVF
  • 61. Informática Tema 1. Conocimientos Básicos 61 / 104Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)suma=0i = 1; ‘ inicializaciónWhile i<=10suma =suma+1;i=i+1; ‘ modificaciónWendMsgBox sumaEjecucióncuerpo cicloEvaluacióncondiciónparadaVFUn conjunto de Instrucciones se repite mientras quela condición sea ciertaWhile condición<Bloque instrucciones>Wend
  • 62. Informática Tema 1. Conocimientos Básicos 63 / 104El Ciclo Do.. Loop es el más general:• Repetir MIENTRAS la condición sea cierta:Do While <condicion><lista de instrucciones>Loop• Repetir HASTA QUE la condición sea cierta:Do UNTIL <condicion><lista de instrucciones>Loop• Repetir MIENTRAS la condición sea cierta (evaluación al final):Do<lista de instrucciones>Loop While <condicion>• Repetir HASTA QUE la condición sea cierta (evaluación al final):Do<lista de instrucciones>Loop Until <condicion>Estructuras Repetitivas:Ciclo Condicional (REPETIR)
  • 63. Informática Tema 1. Conocimientos Básicos 64 / 104El Ciclo Do.. Loop es el más general:• Repetir MIENTRAS la condición sea cierta:Do While <condicion><lista de instrucciones>Loop• Repetir HASTA QUE la condición sea cierta:Do UNTIL <condicion><lista de instrucciones>Loop• Repetir MIENTRAS la condición sea cierta:Do<lista de instrucciones>Loop While <condicion>• Repetir HASTA QUE la condición sea cierta:Do<lista de instrucciones>Loop Until <condicion>Estructuras Repetitivas:Ciclo Condicional (REPETIR)Ejecucióncuerpo cicloEvaluacióncondiciónparadaVF
  • 64. Informática Tema 1. Conocimientos Básicos 65 / 104i = 10Do While (i>1)MsgBox ii = i -2LoopResultado:108642Estructuras Repetitivas:Ciclo Condicional (REPETIR)MsgBox ii = i -2i>1VF
  • 65. Informática Tema 1. Conocimientos Básicos 66 / 104El Ciclo Do.. Loop es el más general:• Repetir MIENTRAS la condición sea cierta:Do While <condicion><lista de instrucciones>Loop• Repetir HASTA QUE la condición sea cierta:Do UNTIL <condicion><lista de instrucciones>Loop• Repetir MIENTRAS la condición sea cierta:Do<lista de instrucciones>Loop While <condicion>• Repetir HASTA QUE la condición sea cierta:Do<lista de instrucciones>Loop Until <condicion>Estructuras Repetitivas:Ciclo Condicional (REPETIR)Ejecucióncuerpo cicloEvaluacióncondiciónparadaFV
  • 66. Informática Tema 1. Conocimientos Básicos 67 / 104i = 10Do Until (i<=1)MsgBox ii = i - 2LoopResultado:108642Estructuras Repetitivas:Ciclo Condicional (REPETIR)MsgBox ii = i - 2i<=1FV
  • 67. Informática Tema 1. Conocimientos Básicos 68 / 104El Ciclo Do.. Loop es el más general:• Repetir MIENTRAS la condición sea cierta:Do While <condicion><lista de instrucciones>Loop• Repetir HASTA QUE la condición sea cierta:Do UNTIL <condicion><lista de instrucciones>Loop• Repetir MIENTRAS la condición sea cierta:Do<lista de instrucciones>Loop While <condicion>• Repetir HASTA QUE la condición sea cierta:Do<lista de instrucciones>Loop Until <condicion>Estructuras Repetitivas:Ciclo Condicional (REPETIR)Ejecucióncuerpo cicloVFEvaluacióncondiciónparada
  • 68. Informática Tema 1. Conocimientos Básicos 69 / 104El Ciclo Do.. Loop es el más general:• Repetir MIENTRAS la condición sea cierta:Do While <condicion><lista de instrucciones>Loop• Repetir HASTA QUE la condición sea cierta:Do UNTIL <condicion><lista de instrucciones>Loop• Repetir MIENTRAS la condición sea cierta:Do<lista de instrucciones>Loop While <condicion>• Repetir HASTA QUE la condición sea cierta:Do<lista de instrucciones>Loop Until <condicion>Estructuras Repetitivas:Ciclo Condicional (REPETIR)Ejecucióncuerpo cicloVFEvaluacióncondiciónparada¡Fíjate que no se cumple condiciónantes de ejecutar las líneas de código!
  • 69. Informática Tema 1. Conocimientos Básicos 70 / 104i = 10DoMsgBox ii = i - 2Loop While (i > 1)Resultado:108642Estructuras Repetitivas:Ciclo Condicional (REPETIR)MsgBox ii = i – 2VFi > 1
  • 70. Informática Tema 1. Conocimientos Básicos 71 / 104El Ciclo Do.. Loop es el más general:• Repetir MIENTRAS la condición sea cierta:Do While <condicion><lista de instrucciones>Loop• Repetir HASTA QUE la condición sea cierta:Do UNTIL <condicion><lista de instrucciones>Loop• Repetir MIENTRAS la condición sea cierta:Do<lista de instrucciones>Loop While <condicion>• Repetir HASTA QUE la condición sea cierta:Do<lista de instrucciones>Loop Until <condicion>Estructuras Repetitivas:Ciclo Condicional (REPETIR)Ejecucióncuerpo cicloFVEvaluacióncondiciónparada
  • 71. Informática Tema 1. Conocimientos Básicos 72 / 104i = 10DoMsgBox ii = i - 2Loop Until (i <= 1)Resultado:108642Estructuras Repetitivas:Ciclo Condicional (REPETIR)MsgBox ii = i – 2VFi<=1
  • 72. Informática Tema 1. Conocimientos Básicos 73 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Mostrar por pantalla hola 10 vecesWhile (x <> 10)MsgBox “hola”WendMsgBox “fin”cont = 0While (cont <> 10)MsgBox “hola”cont = cont + 1WendMsgBox“fin”Cont pantalla01 hola2 hola3 hola4 hola5 hola6 hola7 hola8 hola9 hola10 holafinWhile (cont < 10)
  • 73. Informática Tema 1. Conocimientos Básicos 74 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Mostrar por pantalla los diez primeros números a partir del 1cont = 1While (cont <= 10)MsgBox contcont = cont + 1WendMsgBox “fin”cont pantalla12 13 24 35 46 57 68 79 810 911 10fin
  • 74. Informática Tema 1. Conocimientos Básicos 75 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Mostrar por pantalla los diez primeros números PARES apartir del 1cont pantalla24 26 48 610 812 1014 1216 1418 1620 1822 20fincont = 2While (cont <= 20)MsgBox contcont = cont + 2WendMsgBox “fin”
  • 75. Informática Tema 1. Conocimientos Básicos 76 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Mostrar por pantalla los diez primeros números PARES apartir del “1” … Más formas de hacerlo:cont = 1While (cont <= 10)MsgBox (cont*2)cont = cont + 1WendMsgBox “fin”cont par pantalla1 22 4 23 6 44 8 65 10 86 12 107 14 128 16 149 18 1610 20 1811 22 20fincont = 1par = 2while (cont <= 10)MsgBox parpar = par + 2cont = cont + 1WendMsgBox “fin”
  • 76. Informática Tema 1. Conocimientos Básicos 77 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Mostrar por pantalla LA SUMA de los diez primeros númerosa partir del 1: 1+2+3+4+5+6+7+8+9+10cont = 1suma = 0While (cont <= 10)suma = suma + contcont = cont + 1WendMsgBox “fin”cont suma1 02 13 34 65 106 157 218 289 3610 4511 55fin101contcont
  • 77. Informática Tema 1. Conocimientos Básicos 78 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Comprobar si un número es o no es primo: 1, 3, 5, 7, 11, 13, 17,19, 23,… Un numero primo solo es divisible entre el y el 1.‘ Programa Primo‘ Entradas: Numero entero >0‘ Salidas: Mensaje diciendo si es o no primo‘ Variables: num= ENTERO, esprimo: LOGICO, cont: ENTERODim num As IntegerDim esprimo As BooleanDim cont As Integer
  • 78. Informática Tema 1. Conocimientos Básicos 79 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Comprobar si un número es o no es primo: 1, 3, 5, 7, 11, 13, 17,19, 23,… Un numero primo solo es divisible entre el y el 1.num= InputBox (“Introduce numero:”)If (num>=0) Thencont = 2esprimo = TrueWhile (cont < num)If ( (num MOD cont) <> 0) Thencont = cont + 1Else ‘hay un divisoresprimo = FalseEnd IfWendIf (esprimo = True) Then MsgBox “Nº primo”Else MsgBox “Nº NO primo”End IfEnd Ifcont num esprimo2 5 true345Ejemplo paranum = 5Mensaje por pantalla:Nº Primo
  • 79. Informática Tema 1. Conocimientos Básicos 80 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Comprobar si un número es o no es primo: 1, 3, 5, 7, 11, 13, 17,19, 23,… Un numero primo solo es divisible entre el y el 1.num = InputBox (“Introduce numero:”)If (num>=0) Thencont = 2esprimo = TrueWhile (cont < num)If ((num MOD cont) <> 0) Thencont = cont + 1Else ‘hay un divisoresprimo = FalseEnd ifWendIf (esprimo = True) Then MsgBox “Nº primo”Else MsgBox “Nº NO primo”End IfEnd Ifcont num esprimo2 9 true3falsefalsefalsefalsefalsefalsefalsefalseEjemplo paranum = 9ALGO FALLA ¿Qué es?
  • 80. Informática Tema 1. Conocimientos Básicos 81 / 104Ejemplos de Estructuras Repetitivas:Ciclo Condicional (MIENTRAS)Comprobar si un número es o no es primo: 1, 3, 5, 7, 11, 13, 17,19, 23,… Un numero primo solo es divisible entre el y el 1.num = InputBox (“Introduce numero:”)If (num>=0) Thencont = 2esprimo = Truewhile (cont < num) And (esprimo = True)If (num MOD cont <> 0) Thencont = cont + 1Else ‘hay un divisibleesprimo = FalseEnd IfWendIf (esprimo = True) Then MsgBox “Nº primo”Else MsgBox “Nº NO primo”End IfEndcont num esprimo2 9 true3falseEjemplo paranum = 9Mensaje por pantalla:Nº NO Primo
  • 81. Informática Tema 1. Conocimientos Básicos 82 / 104Ejemplos de Estructuras Repetitivas:Ciclo Fijo o ContadoMostrar por pantalla los diez primeros números a partir del 1cont = 1While (cont <= 10)MsgBox contcont = cont + 1WendMsgBox “fin”cont pantalla1 12 23 34 45 56 67 78 89 910 1011 finFor cont= 1 To 10MsgBox contNext contMsgBox “fin”
  • 82. Informática Tema 1. Conocimientos Básicos 83 / 104Ejemplos de Estructuras Repetitivas:Ciclo Fijo o ContadoMostrar por pantalla los diez primeros números PARES apartir del “1”cont pantalla2 24 46 68 810 1012 1214 1416 1618 1820 2022 fincont = 2While (cont <= 20)MsgBox contcont = cont + 2WendMsgBox “fin”For cont= 2 To 20 Step 2MsgBox contEndMsgBox ”fin”
  • 83. Informática Tema 1. Conocimientos Básicos 84 / 104Ejercicios de Estructuras RepetitivasDim n As SingleDim media As SingleDim i As Bytemedia=0.0n=InputBox(“Introduce el número de notas: “)For i=1 To nnota= InputBox (“Introduce la nota: “)media = media+notaNext imedia = media/nMsgBox “La nota media es “ & mediaProblema: Dado un número n de notas calcular la nota media‘ Programa‘ Entradas:‘ Salidas:‘ Variables:NotaMedian (Single): el número de notas y la secuencia de valores de dichas notasmedia (Single): la nota mediai (Byte): variable auxiliar para llevar el contador del for
  • 84. Informática Tema 1. Conocimientos Básicos 85 / 104Ejercicios de Estructuras RepetitivasDim nota As SingleDim media As SingleDim i As Bytei=1media=0.0nota=inputBox(“Introduce una nota , -1 para terminar: “)While (nota<>-1)media = media+notai=i+1nota=InputBox(“Introduce una nota , -1 para terminar: !)Wendmedia=media/i-1MsgBox “La nota media es” & mediaProblema: Calcular la nota media de una serie de notas, se termina al pulsar -1‘ Programa‘ Entradas:‘ Salidas:‘ Variables:NotaMedianota (Single): una secuencia de notasmedia (Single): la nota mediai (Byte): variable auxiliar para controlar el fin del While
  • 85. Informática Tema 1. Conocimientos Básicos 86 / 104Ejercicios de Estructuras RepetitivasDim nota As Single, media As Single, i As Bytei=1media=0.0nota = 0Domedia = media+notanota=inputBox(“Introduce una nota , -1 para terminar: “)i=i+1Loop Until nota=-1media=media/i-1MsgBox “La nota media es” & mediaProblema: Calcular la nota media de una serie de notas, se termina al pulsar -1‘ Programa‘ Entradas:‘ Salidas:‘ Variables:NotaMedianota (Single): una secuencia de notasmedia (Single): la nota mediai (Byte): variable donde almaceno el número de notas
  • 86. Informática Tema 1. Conocimientos Básicos 87 / 104Ejercicios de Estructuras RepetitivasDim numero As IntegerDim i As Integernumero = InputBox (“Introduzca un número”)For i = numero -1 To 2 Step -1If numero MOD i = 0 ThenMsgBox “Divisor” & iEnd IfNext iProblema: Calcular los divisores de un número‘ Programa‘ Entradas:‘ Salidas:‘ Variables:Divisoresnumero (Integer): número a calcular los divisoresSe muestran los divisores de un númeroi (Integer): variable contadora usada en el For
  • 87. Informática Tema 1. Conocimientos Básicos 88 / 104Ejercicios de Estructuras RepetitivasDim k As IntegerDim i As Integer, numero As Integer,contador As Integer, encontrado AsBooleank = InputBox (“Introduzca un número deprimos a buscar”)numero = 1contador = 0Doi = 2encontrado = FalseProblema: Muestra los K primeros números primos‘ Programa‘ Entradas:‘ Salidas:‘ Variables:‘Divisoresk (Integer): número de primos a mostrarSe muestran los k primeros números primosi (Integer): variable contadora usada en Do…Loop UntilWhile encontrado = False And i<numeroIf numero MOD i = 0 Thenencontrado = TrueElsei = i + 1End IfWendIf encontrado = False ThenMsgBox “Primo” & numerocontador = contador + 1End Ifnumero = numero + 1Loop Until contador = k…
  • 88. Informática Tema 1. Conocimientos Básicos 89 / 104Estructuras Repetitivas: AnidamientoDim n As IntegerDim m As IntegerDim i As IntegerDim j As IntegerDim nota As SingleDim media As SingleProblema: Dado un número n de notas calcular la nota media POR CADA ALUMNO.Hay m alumnos.‘ Programa‘ Entradas:‘ Salidas:‘ Variables:NotaMediael nº de notas (n) y los valores para cada alumno. El numero de alumnos (m)la nota media para cada alumnoi,j: ENTERO
  • 89. Informática Tema 1. Conocimientos Básicos 90 / 104Estructuras Repetitivas: Anidamientom = InputBox(“Introduce el número de alumnos: “)n = InputBox(“Introduce el número de notas: “)For j = 1 To m ‘ por cada alumnomedia=0.0For i=1 To n ‘ por cada notanota = InputBox(“Introduce la nota: “) ‘no vamos a controlar este valor por claridadmedia = media + notaNext imedia = media/nMsgBox “La nota media del alumno: “ & j & “es” & mediaNext jProblema: Dado un número n de notas calcular la nota media POR CADA ALUMNO.Hay m alumnos.
  • 90. Informática Tema 1. Conocimientos Básicos 91 / 104Estructuras Repetitivas• Las estructuras repetitivas se pueden anidar de forma que enel cuerpo de un ciclo puede aparecer otro• La estructura interna debe estar completamente dentro de laestructura externa, no pudiendo existir solapamientos• En ciclos anidados no se puede utilizar la misma variable decontrolCorrecto Incorrecto
  • 91. Informática Tema 1. Conocimientos Básicos 92 / 104Resumen Estructura Secuencial• Estructuras secuenciales: las instrucciones se ejecutan en elorden en que están escritas:– Lectura/Entrada: InputBox– Escritura/Salida: MsgBox– Asignación: =• Estructuras condicionales o de selección: permiten ejecutardiferentes caminos de instrucciones– Simple: If-Else-End If– Múltiple: Select Case-End Select• Estructuras repetitivas o cíclicas: permiten repetir conjuntosde instrucciones:– Ciclos Fijos o contados: For-Next– Ciclos Condicionales: While-Wend– Ciclos Genéricos: Do .. Loop
  • 92. Informática Tema 1. Conocimientos Básicos 93 / 104Utilización de ArraysDeclaración de Arrays:Dim <nombre del array> (<dimensiones>) As <Tipo de los elementos>Ejemplo: Declaración de un array unidimensional (vector):Dim A(1 to 5) As IntegerDim A(5) As Integer1 9 2 8 31 2 3 4 5A¡Atención, empieza en 1 ytermina en 5!1 9 2 8 3 40 1 2 3 5A ¡Atención, empieza en 0 ytermina en 5!4
  • 93. Informática Tema 1. Conocimientos Básicos 94 / 104Elementos de un programa:VariablesDeclaración de un Array bidimensional (matriz).Se realiza de la misma manera, simplemente se añaden las dimensionesseguidas de comas; filas, columnas, etc..Otros ejemplos: Dim A2 (10, 1 to 3) As BooleanSon once filas y tres columnas de tipo boleano numeradas de 0 a 10 y de1 a 3.1 13 9 15 511 2 14 4 610 12 3 7 81 2 3 4 5231A Dim A (1 to 3, 1 to 5) As Single
  • 94. Informática Tema 1. Conocimientos Básicos 95 / 104Utilización de ArraysDim <nombre del array> (<dimensiones>) As <Tipo de los elementos>Declaración de Arrays:Declaración de un array vacío:Dim B() As IntegerB no contiene datos porque no reserva memoria, y por tanto solo podría serutilizado para asignarlo a otro array ya existente (o bien para ser utilizadodinámicamente, problema de programación avanzada)Ejemplos:B = A ‘A y B hacen referencia al mismo arrayB = CrearArray() ‘llama a una función que crea automáticamente un array
  • 95. Informática Tema 1. Conocimientos Básicos 96 / 104• Un Array es un variable que puede contener muchosvalores del mismo tipo.• Son útiles cuando no sabes cuantos valores quieresusar o no quieres crear variables individuales paraalmacenarlos todos.Por ejemplo, imagina que quieres almacenar un valor por cadadía del año. No vas a declarar 365 variables, ¿no? El array sería unaúnica variable con 365 elementos, y cada uno puedo almacenar unvalor.• Se pueden usar ciclos para recuperar valores o paraasiganar valores desde varios elementos de un array.Utilización de Arrays
  • 96. Informática Tema 1. Conocimientos Básicos 97 / 104• Gracias al uso de las estructuras repetitivas el uso deArrays se hace posible.• La estructura cíclica perfecta para recorrer un array alcompleto es un For… Next, dado que las dimensionesdel array se saben a priori.Utilización de Arrays1 9 2 8 31 2 3 4 5AFor i = 1 To 5A (i) = 0Next i
  • 97. Informática Tema 1. Conocimientos Básicos 98 / 104• Gracias al uso de las estructuras repetitivas el uso deArrays se hace posible.• La estructura cíclica perfecta para recorrer un array alcompleto es un For… Next, dado que las dimensionesdel array se saben a priori.Utilización de Arrays0 0 0 0 01 2 3 4 5AFor i = 1 To 5A (i) = 0Next i
  • 98. Informática Tema 1. Conocimientos Básicos 99 / 104• Si quisiéramos escribir por pantalla todos los valoresde esta MatrizUtilización de Arrays1 13 9 15 511 2 14 4 610 12 3 7 81 2 3 4 5231AFor i = 1 To 3For j= 1 To 5MsgBox A(i,j)Next jNext i
  • 99. Informática Tema 1. Conocimientos Básicos100 /Utilización de ArraysDim notas(9) As SingleDim media As SingleDim i As ByteFor i=0 To 9notas (i) = InputBox(“Introduce nota ” & i)Next imedia=0.0For i = 0 To 9media = media+notas (i)Next imedia=media/i ‘i vale 10 una vez que sale del bucle forMsgBox “La nota media es” & mediaProblema: Calcular la nota media de una serie de notas que se ha almacenado previamente en un array‘ Programa‘ Entradas:‘ Salidas:‘ Variables:NotaMedianotas (Single(9)): Array con diez elementos numerados del 0 al 9media (Single): la nota mediai (Byte): Variable contadora del For
  • 100. Informática Tema 1. Conocimientos Básicos101 /Utilización de ArraysDim notas(50) As Single, tam As IntegerDim mayor As SingleDim i As Bytetam = InputBox (“Introduce tamaño”)For i=0 To tam-1media(i) = InputBox(“Introduce nota ” & i)Next imayor = notas (0)For i = 1 To tam-1If mayor < notas(i) Thenmayor = notas (i)End IfNext iMsgBox “La nota más alta es” & mayorProblema: Calcular la nota más alta de una serie de notas que se ha almacenado previamente en unarray. El usuario pide el tamaño del array.‘ Programa‘ Entradas:‘ Salidas:‘ Variables:NotaMayornotas (Single(50)): Array con 51 elementos numerados a partir del 0tam (Integer): tamaño del array introducido por teclado.mayor (Single): la nota mayori (Byte): Variable contadora del For
  • 101. Informática Tema 1. Conocimientos Básicos102 /Utilización de ArraysProblema: Devolver Si existe 1 alumno que haya sacado un 10. El array se irá inicializando con lasnotas que el usuario meta por teclado y se terminará cuando introduzca una nota en negativo.‘ Programa‘ Entradas:‘ Salidas:‘ Variables:‘ExisteAlumnonotas (Single(50)): Array con muchos elementos numerados a partir del 0encontrado (Boolean): si se encuentra un 10 devuelve verdaderoi (Byte): variable contadoratam (Integer): variable tamañoDim notas(50) As SingleDim encontrado As BooleanDim i As Byte, tam As Integertam=0;nota= InputBox(‘Introduce nota: ‘)While (nota >=0)notas(tam) = notanota=IinputBox(‘Introd. nota: ‘)tam = tam +1Wendi = 0encontrado = falseWhile (i< tam And encontrado=false)If (notas(i) = 10) Thenencontrado = trueElsei = i + 1End IfWendIf (encontrado = True) ThenMsgBox (‘Hay alumnos con un 10’)ElseMsgBox(‘No hay alumnos con un 10’)End If
  • 102. Informática Tema 1. Conocimientos Básicos103 /• Responde, qué estructura repetitiva usarías (while, for):– Devolver todos los números negativos en orden descendente– Dado un grupo de alumnos de prácticas (30 puestos), listar lasnotas de todos ellos.– Resultado de la operación:– Pedir al usuario un número mayor que cero y asegurarse que loinserta.– Mostrar los alumnos aprobados, es decir que tengan una notamayor que 5.– Devolver todos los números hasta 100 que son múltiplos de 5– Realizar una suma de todos los números que introduzca elusuario hasta que inserte un 0.– Devolver los números negativos impares del 0 al -100Estructuras Repetitivas:1000/1iix
  • 103. Informática Tema 1. Conocimientos Básicos104 /• Conceptos básicos de computadores• Representación información en la computadora. Conversionesa binario• Definición de programa, programación, características, ciclode vida.• Tipos de datos elementales y arrays. Operaciones• Elementos constitutivos de un programa: Cabecera y Cuerpo.• Definición de Variables: Entradas, salidas, Intermedias yConstantes.• Instrucciones de Entrada y Salida. Asignación de Variables.• Estructuras de control en la programación secuencial:estructuras condicionales y cíclicas.Resumen Tema