Saltar al contenido

Diseño de algoritmos y resolución de problemas

IGCSE Ciencias de la Computación · Tema 7

Lección de video para este tema Abrir la página de video
9:17

Ciclo de vida del desarrollo de programas

Cada aplicación en tu teléfono fue escrita por alguien como esto. Pero no empezaron escribiendo código. Antes de la primera línea, el problema fue estudiado, la solución…

Narración en inglés · subtítulos en inglés y 中文 que puedes cambiar

Syllabus
Los candidatos deben ser capaces de: Notas y orientación
1 Comprender el ciclo de vida del desarrollo de programas, limitado a: análisis, diseño, codificación y pruebas • Incluyendo identificar cada etapa y realizar estas tareas para cada una: – análisis: abstracción, descomposición del problema, identificación del problema y los requisitos – diseño: descomposición, diagramas estructurales, diagramas de flujo, pseudocódigo – codificación: escritura de código de programa y pruebas iterativas – pruebas: prueba del código de programa utilizando datos de prueba
2 (a) Comprender que todo sistema informático está compuesto por sub-sistemas, que a su vez están compuestos por más sub-sistemas (b) Comprender cómo un problema puede descomponerse en sus partes componentes • Incluyendo: – entradas – procesos – salidas – almacenamiento
(c) Utilizar diferentes métodos para diseñar y construir una solución a un problema • Incluyendo: – diagramas estructurales – diagramas de flujo – pseudocódigo
3 Explicar el propósito de un algoritmo dado • Incluyendo: – indicar el propósito de un algoritmo – describir los procesos implicados en un algoritmo
4 Comprender los métodos estándar de solución • Limitado a: – búsqueda lineal – ordenamiento burbuja – totales – conteo – encontrar valores máximos, mínimos y promedios
5 (a) Comprender la necesidad de realizar comprobaciones de validación sobre los datos de entrada y los diferentes tipos de comprobación de validación • Incluyendo: – comprobación de rango – comprobación de longitud – comprobación de tipo – comprobación de presencia – comprobación de formato – dígito de control
(b) Comprender la necesidad de realizar comprobaciones de verificación sobre los datos de entrada y los diferentes tipos de comprobación de verificación • Incluyendo: – comprobación visual – comprobación de doble entrada
6 Sugerir y aplicar datos de prueba adecuados • Limitado a: – normales – anómalos – extremos – de límite • Los datos extremos son el valor aceptable más grande/más pequeño • Los datos de límite son el valor aceptable más grande/más pequeño y el valor rechazado correspondiente más pequeño/más grande
7 Completar una tabla de seguimiento para documentar una ejecución en seco de un algoritmo • Incluyendo, en cada paso de un algoritmo: – variables – salidas – indicaciones al usuario
8 Identificar errores en algoritmos dados y sugerir formas de corregir estos errores
9 Escribir y modificar algoritmos para problemas o escenarios dados, utilizando: pseudocódigo, código de programa y diagramas de flujo • Se requiere precisión al escribir algoritmos, por ejemplo, x > y es aceptable pero x es mayor que y no lo es • Véase la sección 4 para los símbolos de los diagramas de flujo • Véase la sección 4 para el pseudocódigo

Fuente: Plan de estudios Cambridge International

7.1

El ciclo de vida del desarrollo de programas

El ciclo de vida del desarrollo de programas es el conjunto de etapas utilizadas para crear un programa. Hay cuatro etapas.

Un programador escribiendo código en una computadora
El software es escrito por programadores, quienes siguen el ciclo de vida del desarrollo
Etapa Qué se hace
análisis estudiar el problema y determinar lo que se necesita
diseño planificar cómo funcionará el programa
codificación escribir el código del programa y probarlo a medida que se avanza
pruebas ejecutar el programa final con datos de prueba para encontrar errores
Cuatro etapas en fila — análisis, diseño, codificación, pruebas — con una flecha que retroalimenta desde las pruebas hacia el diseño
Las cuatro etapas del desarrollo de programas; las pruebas retroalimentan para corregir y refinar el diseño
Un diagrama de flujo de un programa con cajas de proceso y rombos de decisión
Un diagrama de flujo de un programa establece los pasos y decisiones durante la etapa de diseño

Análisis

En el análisis se comprende el problema. Dos habilidades clave ayudan:

  • abstracción — mantener solo los detalles importantes e ignorar el resto;
  • descomposición — dividir un problema grande en partes más pequeñas y fáciles.

Diseño

En el diseño se planifica la solución, a menudo utilizando descomposición. Se pueden representar las partes como sub-sistemas en un diagrama de estructura (un gráfico que divide un sistema en cajas más pequeñas).

Ejemplo resuelto. Un estacionamiento tiene una máquina de pago. El conductor introduce la matrícula del automóvil, la máquina calcula cuánto tiempo ha permanecido estacionado y el importe, el conductor paga en efectivo o con tarjeta y se imprime un recibo. Dibuja un diagrama de estructura.

Un diagrama de estructura: máquina de pago en la parte superior, dividida en entrada, calcular el importe, recibir el pago y salida; entrada se divide en matrícula y hora de llegada, y recibir el pago en efectivo y tarjeta
Un diagrama de estructura para la máquina de pago del estacionamiento: cada cuadro es un subsistema y cada nivel inferior divide el elemento superior en partes más pequeñas

El sistema completo va en el cuadro superior. Cada cuadro del siguiente nivel representa una tarea que realiza el sistema, y un cuadro puede volver a dividirse (el pago se divide en efectivo y tarjeta). Lee cada nivel de izquierda a derecha, en el orden en que ocurren las tareas. Un diagrama de estructura muestra las partes, no el orden de las decisiones ni de los bucles: para eso se utiliza un diagrama de flujo o pseudocódigo.

Codificación y pruebas

En la codificación se escribe el código del programa. Se utiliza prueba iterativa — probar pequeñas partes repetidamente a medida que se construyen. En las pruebas se ejecuta todo el programa con datos de prueba para verificar que funcione.

Vocabulario Entrenar
English Español
program development life cycle/ˈprəʊɡræm dɪˈveləpmənt laɪf ˈsaɪkl/ ciclo de vida del desarrollo de programas
analysis/əˈnæləsɪs/ análisis
design/dɪˈzaɪn/ diseño
coding/ˈkəʊdɪŋ/ codificación
testing/ˈtestɪŋ/ pruebas
abstraction/əbˈstrækʃn/ abstracción
decomposition/ˌdiːkɒmpəˈzɪʃn/ descomposición
sub-systems/sʌb ˈsɪstəmz/ sub-sistemas
structure diagram/ˈstrʌktʃə ˈdaɪəɡræm/ diagrama de estructura
iterative testing/ˈɪtərətɪv ˈtestɪŋ/ prueba iterativa
test data/test ˈdeɪtə/ datos de prueba
flowchart/ˈfləʊtʃɑːt/ diagrama de flujo
7.2

Herramientas de diseño

Se puede planificar una solución de tres formas principales.

  • un diagrama de estructura — muestra las partes de un sistema y cómo se integran;
  • un diagrama de flujo — un diagrama que usa cajas y flechas para mostrar los pasos en orden;
  • pseudocódigo — pasos escritos en inglés simple similar al código (no un lenguaje real).
Un diagrama de flujo para sumar los números del 1 a n, con símbolos de inicio/fin, entrada/salida, proceso y decisión, además de una leyenda que nombra cada forma
Un diagrama de flujo para el algoritmo de suma, usando los símbolos estándar (inicio/fin, entrada/salida, proceso, decisión)
7.3

Algoritmos

Ordenamiento burbuja, paso a paso

Un algoritmo es un conjunto de pasos, en el orden correcto, que resuelve un problema. Todo algoritmo se puede dividir en tres partes:

  • entrada — los datos que se introducen;
  • procesamiento — el trabajo realizado sobre los datos;
  • salida — el resultado que se obtiene.

Esto se llama descomposición en entradas, procesos y salidas. Por ejemplo, para «hallar el promedio de tres calificaciones»: las entradas son las tres calificaciones; el procesamiento consiste en sumarlas y dividirlas entre 3; la salida es el promedio.

Tres cajas — ENTRADA (las 3 notas), PROCESO (sumarlas, dividir entre 3), SALIDA (el promedio) — unidas por flechas
Cada algoritmo se descompone en entrada, procesamiento y salida — aquí, encontrando el promedio de tres notas
Vocabulario Entrenar
English Español
bubble sort/ˈbʌbl sɔːt/ ordenamiento burbuja
totalling/ˈtəʊtəlɪŋ/ suma total
counting/ˈkaʊntɪŋ/ conteo
7.4

Validación y verificación

Cuando se ingresan datos, se verifican para reducir errores.

La validación verifica que los datos sean razonables y sigan las reglas. No puede verificar si los datos son verdaderos, solo si están permitidos.

Verificación de validación Qué verifica
comprobación de rango el valor está entre un valor mínimo y máximo permitidos
comprobación de longitud el número de caracteres es válido (ej. una contraseña ≥ 8)
comprobación de tipo los datos son del tipo correcto (ej. un número, no letras)
comprobación de presencia algo ha sido realmente ingresado (no dejado en blanco)
comprobación de formato los datos siguen el patrón correcto (p. ej., una fecha como dd/mm/aaaa)
dígito de control un dígito calculado adicional ayuda a detectar errores al introducir un número

La verificación comprueba que los datos se han copiado o introducido correctamente (sin errores durante la escritura). Dos métodos:

  • comprobación visual — una persona compara los datos escritos con el original;
  • entrada doble — los datos se introducen dos veces y se comparan las dos copias.
Dos paneles: la validación pregunta si se permiten los datos, mediante comprobaciones de rango, longitud, tipo, presencia, formato y dígito de control, por lo que se rechaza una edad de 250; la verificación pregunta si los datos se copiaron correctamente, mediante comprobación visual o doble entrada, por lo que se detecta que se escribió 34 en lugar de 43
La validación detiene los datos no permitidos; la verificación detecta datos permitidos que se introdujeron incorrectamente

Cómo escribir una rutina de validación

Un examen suele pedirte que escribas el código de una comprobación. Utiliza un bucle que vuelva a preguntar hasta que la entrada sea aceptable y muestra un mensaje al usuario cuando no lo sea.

Ejemplo resuelto. Escribe pseudocódigo para introducir la calificación de una prueba, que debe ser un número entero de 0 a 100 (una comprobación de rango), y para seguir preguntando hasta que se introduzca una calificación válida.

DECLARE Mark : INTEGER
REPEAT
    OUTPUT "Enter a mark from 0 to 100"
    INPUT Mark
    IF Mark < 0 OR Mark > 100
      THEN
        OUTPUT "Invalid: the mark must be from 0 to 100"
    ENDIF
UNTIL Mark >= 0 AND Mark <= 100

La condición UNTIL es el rango aceptado y la condición IF es su opuesto. Observa OR en IF: una calificación no puede ser inferior a 0 y superior a 100 al mismo tiempo, por lo que AND nunca sería verdadero allí.

Otras comprobaciones siguen el mismo patrón, con una condición diferente:

Comprobación Condición para un valor válido
comprobación de longitud (contraseña de al menos 8 caracteres) LENGTH(Password) >= 8
comprobación de presencia (debe introducirse un nombre) Name <> ""
comprobación de rango (edad de 16 a 65) Age >= 16 AND Age <= 65

Por lo general, el propio lenguaje realiza una comprobación de tipo, por ejemplo, cuando una entrada se almacena en una variable INTEGER.

Vocabulario Entrenar
English Español
pseudocode/ˈsuːdəʊkəʊd/ pseudocódigo
algorithm/ˈælɡərɪθəm/ algoritmo
input/ˈɪnpʊt/ entrada
processing/ˈprəʊsesɪŋ/ procesamiento
output/ˈaʊtpʊt/ salida
validation/ˌvælɪˈdeɪʃn/ validación
range check/reɪndʒ tʃek/ comprobación de rango
length check/leŋθ tʃek/ comprobación de longitud
type check/taɪp tʃek/ comprobación de tipo
presence check/ˈprezəns tʃek/ comprobación de existencia
format check/ˈfɔːmæt tʃek/ comprobación de formato
check digit/tʃek ˈdɪdʒɪt/ dígito de control
verification/ˌverɪfɪˈkeɪʃn/ verificación
visual check/ˈvɪʒuːəl tʃek/ inspección visual
double entry/ˈdʌbl ˈentri/ doble entrada
7.5

Tablas de trazado

Una tabla de trazado registra el valor de cada variable a medida que se ejecuta un algoritmo, paso a paso. Ayuda a:

Una tabla de trazado con columnas count, total, output
Una tabla de trazado registra el valor de cada variable a medida que se ejecuta el programa.
  • verificar que un algoritmo funciona correctamente;
  • averiguar qué hace un algoritmo siguiéndolo con datos dados.

Ejemplo: tracee este algoritmo con la entrada 5.

INPUT N
Total ← 0
FOR I ← 1 TO N
    Total ← Total + I
NEXT I
OUTPUT Total
i total OUTPUT
1 1
2 3
3 6
4 10
5 15 15

El trazado muestra que el algoritmo suma del 1 a n. Con la entrada 5, la salida es 15.

Ejemplo resuelto. Tracee este algoritmo y dé la salida.

X ← 20
Count ← 0
WHILE X > 1
    X ← DIV(X, 2)
    Count ← Count + 1
ENDWHILE
OUTPUT Count

DIV devuelve solo la parte de número entero de una división. Tome una fila por pasada: x se convierte en 10 (count 1), luego 5 (count 2), luego 2 (count 3), luego 1 (count 4). Ahora x > 1 es falso, así que el bucle se detiene y la salida es 4. Dos hábitos protegen estas calificaciones: probar la condición antes de cada pasada en lugar de después, y escribir una nueva fila para cada pasada — intentar retener los valores en su cabeza es lo que hace que los trazados fallen.

Detección y corrección de errores

Una pregunta habitual presenta un algoritmo con errores y te pide que los encuentres y corrijas. Léelo línea por línea y pregúntate: ¿se asigna un valor inicial a cada variable? ¿Tiene cada bucle la longitud correcta? ¿Se realiza cada comparación en el sentido correcto? ¿Está la salida en el lugar adecuado?

Ejemplo resuelto. Este algoritmo debe introducir 10 números y mostrar el mayor. Encuentra los tres errores y corrígelos.

Largest ← 1000
FOR Count ← 1 TO 9
    INPUT Number
    IF Number < Largest
      THEN
        Largest ← Number
    ENDIF
    OUTPUT Largest
NEXT Count
  • Línea 1: Largest ← 1000 comienza con un valor demasiado alto, por lo que ningún número lo reemplazaría. Corrección: Largest ← -1000 (o introduce el primer número y úsalo como valor inicial).
  • Línea 2: el bucle solo se ejecuta 9 veces. Corrección: FOR Count ← 1 TO 10.
  • Línea 4: < encuentra el menor. Corrección: IF Number > Largest.

También hay un problema con OUTPUT: dentro del bucle muestra el mayor hasta ese momento después de cada entrada. Si se mueve después de NEXT Count, solo se muestra la respuesta final. Para cada error, indica la línea, explica qué está mal y escribe la línea corregida completa.

Explorar

Una tabla de seguimiento

Paso a paso por el bucle y complete la tabla de seguimiento, una fila por pasada.

Vocabulario Entrenar
English Español
trace table/treɪs ˈteɪbl/ tabla de trazado
7.6

Datos de prueba

Los datos de prueba 测试数据 son los datos que usa para probar un programa. Hay cuatro tipos que debe conocer.

Tipo Significado Ejemplo (edad 0–120 permitida)
normal datos sensatos que deben aceptarse 25
anormal datos incorrectos que deben rechazarse -4 o «gato»
extremo los valores máximo y mínimo aún permitidos 0 y 120
límite los valores en ambos lados de un umbral (uno permitido, otro no) 120 y 121

Ejemplo resuelto. Un programa acepta el número de personas que reservan una mesa, de 1 a 12. Da datos de prueba de cada tipo, con el resultado esperado.

Tipo Datos de prueba Resultado esperado
normal 5 aceptado
anormal 20 (o «seis») rechazado, con un mensaje de error
extremo 1 y 12 aceptados
límite 12 y 13 (o 0 y 1) 12 aceptado, 13 rechazado

Indica siempre el resultado esperado junto con los datos: una prueba solo es útil si sabes qué debería ocurrir. Un dato extremo es el propio valor del límite; los datos límite son un par, con un valor a cada lado del límite.

Recta numérica para reservas de 1 a 12 personas: normal 5, extremos 1 y 12, pares de valores límite 0 y 1 y 12 y 13, anormal 20
Datos de prueba en una recta: los valores extremos están en los límites y los pares de valores límite quedan a ambos lados de ellos
Vocabulario Entrenar
English Español
normal/ˈnɔːml/ datos normales
abnormal/əbˈnɔːml/ datos anómalos
extreme/ekˈstriːm/ datos extremos
boundary/ˈbaʊndəri/ datos límite
7.7

Métodos estándar de solución

Debe conocer estos algoritmos comunes.

Búsqueda lineal

Una búsqueda lineal compara cada elemento con el objetivo, comenzando desde el principio. Deténgase cuando se encuentre el valor o termine la lista. La lista no necesita estar ordenada. El siguiente ejemplo usa posiciones 1 a 4.

DECLARE List : ARRAY[1:4] OF INTEGER
DECLARE I, SearchValue : INTEGER
DECLARE Found : BOOLEAN
List[1] ← 8
List[2] ← 3
List[3] ← 5
List[4] ← 1
INPUT SearchValue
Found ← FALSE
I ← 1
WHILE I <= 4 AND NOT Found
    IF List[I] = SearchValue
      THEN
        Found ← TRUE
    ENDIF
    I ← I + 1
ENDWHILE
OUTPUT Found

Comparación resuelta. Buscar 5 compara 8, 3 y luego 5: tres comparaciones, con Found convirtiéndose en TRUE. El cuarto elemento no se verifica. Buscar 9 compara los cuatro valores; Found permanece en FALSE. Deténgase antes de intentar leer la posición 5, que está fuera de este array.

Una lista de ocho números siendo escaneada de izquierda a derecha, buscando el 5; los primeros cuatro no coinciden y el quinto se encuentra
Otro ejemplo: la búsqueda lineal revisa cada elemento por turno desde el inicio hasta encontrar el valor

Ordenamiento burbuja

Un ordenamiento burbuja coloca una lista en orden. Compare valores adyacentes e intercámbielos si el valor izquierdo es mayor. Un solo recorrido no suele ser suficiente. Esta versión completa repite recorridos hasta que uno entero no realiza ningún intercambio.

DECLARE List : ARRAY[1:4] OF INTEGER
DECLARE I, Temp : INTEGER
DECLARE Swapped : BOOLEAN
List[1] ← 8
List[2] ← 3
List[3] ← 5
List[4] ← 1
REPEAT
    Swapped ← FALSE
    FOR I ← 1 TO 3
        IF List[I] > List[I + 1]
          THEN
            Temp ← List[I]
            List[I] ← List[I + 1]
            List[I + 1] ← Temp
            Swapped ← TRUE
        ENDIF
    NEXT I
UNTIL NOT Swapped
OUTPUT List[1], ", ", List[2], ", ", List[3], ", ", List[4]

Paso resuelto. Comienza con 8, 3, 5, 1. En el primer paso la lista se convierte en 3, 8, 5, 1, luego en 3, 5, 8, 1, después en 3, 5, 1, 8. Esto coloca el valor más grande al final pero deja el resto desordenado. El segundo paso termina en 3, 1, 5, 8; el tercero en 1, 3, 5, 8. El cuarto no realiza intercambios y confirma que esta versión puede detenerse. Restablece Swapped a FALSE al inicio de cada paso; ajústalo a TRUE en cualquier intercambio.

Una lista donde el primer par 5 y 2 está fuera de orden, mostrado intercambiándose a 2 y 5, con una nota para repetir para cada par
Una comparación en otro ejemplo: el ordenamiento burbuja intercambia vecinos desordenados, luego continúa a través del recorrido

Sumatoria y conteo

Sumatoria suma cada valor requerido a un total acumulado: Total ← Total + Value. Conteo suma 1 por cada artículo requerido: Count ← Count + 1. Inicialice ambos a cero antes de procesar los valores.

Ejemplo resuelto. Cuatro intentos de entrada son −20, 4, 50 y 6. Acepte un valor solo si es mayor que −20 y menor que 50. Este ejemplo procesa cuatro intentos, no cuatro valores aceptados.

DECLARE I, Count : INTEGER
DECLARE Value, Total : REAL
Total ← 0
Count ← 0
FOR I ← 1 TO 4
    INPUT Value
    IF Value > -20 AND Value < 50
      THEN
        Total ← Total + Value
        Count ← Count + 1
    ENDIF
NEXT I
IF Count > 0
  THEN
    OUTPUT Total, ", ", Count, ", ", Total / Count
  ELSE
    OUTPUT "No accepted values"
ENDIF
Valor intentado Total tras intento Conteo tras intento
−20 0 0
4 4 1
50 4 1
6 10 2

Los límites estrictos rechazan −20 y 50. Ambas actualizaciones pertenecen dentro de la prueba de aceptación, por lo que los intentos rechazados no cambian ni el total ni el conteo. El promedio de los valores aceptados es:

$$\text{Average}=\frac{\text{Total}}{\text{Count}}=\frac{10}{2}=5$$

No divida por cuatro: solo se agregaron dos valores. Si no se acepta ningún valor, el conteo es cero y no se puede calcular un promedio; emita un mensaje en lugar de dividir por cero.

Transferir a un número fijo de valores aceptados. Si una tarea solicita 50 valores aceptados, en lugar de cuatro intentos, reemplace el bucle fijo FOR por WHILE Count < 50 y ciérrelo con ENDWHILE. Mantenga la misma entrada y prueba de aceptación dentro del bucle. Las entradas rechazadas dejan Count sin cambios, por lo que se solicita otra entrada. Al completar, Count es 50, aunque el número de intentos puede ser mayor. Emita el total y calcule el promedio como Total / Count.

Máximo, mínimo y promedio

El máximo es el valor más grande y el mínimo es el más pequeño. El promedio es el total dividido por el número de valores. Para una lista no vacía, inicialice ambos desde su primer elemento. Para cada elemento restante, reemplace el máximo si el nuevo valor es mayor, y reemplace el mínimo si es menor.

Ejemplo resuelto. La lista es −8, −3, −12, −5. Iniciar el máximo en cero fallaría: ningún elemento de la lista es mayor que cero, por lo que el algoritmo emitiría un número que no está en la lista. Iniciar desde −8 funciona sin asumir que los datos son positivos.

Valor considerado Máximo hasta ahora Mínimo hasta ahora
−8 (inicialización) −8 −8
−3 −3 −8
−12 −3 −12
−5 −3 −12
DECLARE List : ARRAY[1:4] OF INTEGER
DECLARE I, Maximum, Minimum, Total : INTEGER
List[1] ← -8
List[2] ← -3
List[3] ← -12
List[4] ← -5
Maximum ← List[1]
Minimum ← List[1]
Total ← List[1]
FOR I ← 2 TO 4
    IF List[I] > Maximum
      THEN
        Maximum ← List[I]
    ENDIF
    IF List[I] < Minimum
      THEN
        Minimum ← List[I]
    ENDIF
    Total ← Total + List[I]
NEXT I
OUTPUT Maximum, ", ", Minimum, ", ", Total / 4

El máximo es −3 y el mínimo es −12. El promedio utiliza los cuatro valores:

$$\text{Total}=\sum \text{Value}=(-8)+(-3)+(-12)+(-5)=-28$$
$$\text{Average}=\frac{\text{Total}}{\text{Count}}=\frac{-28}{4}=-7$$

El promedio se encuentra entre el mínimo y el máximo; esto es una comprobación útil, pero no prueba que el cálculo sea correcto. Inicializar desde el primer elemento requiere una lista no vacía. Maneje una lista vacía por separado antes de intentar leer ese elemento.

Vocabulario Entrenar
English Español
linear search/ˈlɪnɪə sɜːtʃ/ búsqueda lineal
maximum/ˈmæksɪməm/ máximo
minimum/ˈmɪnɪməm/ mínimo
average/ˈævrɪdʒ/ media
7.8

Consejos para el examen

  • Las cuatro etapas del ciclo de vida: análisis → diseño → codificación → prueba. Abstracción retiene solo lo importante; descomposición divide un problema en partes.
  • La validación verifica que los datos sean lógicos (verificaciones de rango, longitud, tipo, presencia, formato); la verificación verifica que fueron copiados correctamente (una verificación visual o doble entrada).
  • Aprenda los cuatro tipos de datos de prueba: normal (aceptado), anormal (rechazado), extremo (el valor más grande/más pequeño aún permitido), límite (ambos lados de un umbral).
  • Una tabla de trazado (valor de cada variable en cada paso) muestra lo que hace un algoritmo.
  • Para escribir una rutina de validación, coloca la entrada en un bucle REPEAT … UNTIL cuya condición UNTIL sean los datos válidos.
  • Cuando corrijas un error, cita la línea y escribe la línea corregida completa.
  • Conozca los algoritmos estándar: búsqueda lineal (revisar cada elemento por turno) y ordenamiento burbuja (intercambiar pares adyacentes hasta que no se necesiten más intercambios).

Lecciones interactivas sobre este tema

Trátalo paso a paso, con ejercicios de verificación instantánea.

Exámenes Anteriores

Más temas en IGCSE Ciencias de la Computación

Iniciar sesión o crear cuenta

IGCSE, A-Level & AP