Practicas Flashcards
Escribir un algoritmo en pseudocódigo que divida dos números reales y muestre por un lado el cociente de la división y por otro el resto:
Algoritmo Ejem01
variables dividendo, divisor numéricas reales
cociente, resto numéricas enteras
Inicio
Escribir (‘Ingrese dividendo:’)
Leer dividendo
Escribir (‘Ingrese divisor:’)
Leer divisor
cociente = dividendo div divisor
resto = dividendo mod divisor
Escribir (‘El cociente es:’, cociente)
Escribir(‘El resto es:’, resto)
Fin
Escribir un algoritmo en pseudocódigo que dados los últimos tres sueldos mensuales de dos persona muestre en pantalla el nombre y apellido de la persona que mes a mes tiene el sueldo mas alto.
Algoritmo Ejem02
variables
nombre1, nombre2 cadena de caracteres sueldo1 nom1, sueldo2 nom1. sueldo3 nom1, sueldo1 nom2, sueldo2 nom2, sueldo3 nom2 numericas enteras
Inicio
Leer nombre1
Leer nombre2
Leer sueldo1 nom1
Leer sueldo2 nom1
Leer sueldo3 nom1
Leer sueldo1 nom2
Leer sueldo2 nom2
Leer sueldo3_nom2
Si sueldo1 nom1 >= sueldo1 nom2 entonces
Escribir “Primer mes:” , nombrel
sino
Escribir “Primer mes:” , nombre2
Fin-si
Si sueldo2 nom1 >= sueldo2 nom2 entonces
Escribir “Segundo mes:” , nombre1
sino
Escribir “Segundo mes:” , nombre2
Fin-si
Si sueldo3 nom1 >= sueldo3 nom2 entonces
Escribir “Tercer mes:” , nombre1
sino
Escribir “Tercer mes:” , nombre2
Fin-si
Fin
Escribir un algoritmo en pseudocódigo que dados dos números enteros calcule la raíz cuadrada de cada uno de ellos (atención se pide validar los números con la condición que sean positivos).
Algoritmo Ejem03
variables num1, num2 numericos enteros
Inicio
Repetir
Leer num1
10
Leer num2
hasta que (num1) > 0 y (num2 > 0)
Escribir (‘La raíz cuadrada del primer número es:’, raizcuadrada(num1)
Escribir (‘La raíz cuadrada del segundo número es:’, raizcuadrada(num2)
Fin
Ejemplo de algoritmo secuencial
Dada la base y la altura de un triángulo, hallar su área:
Pseudocódigo:
Algoritmo ÁreaTriángulo
Variables real b, h, a
Inicio
Escribir (‘Área de un triángulo’)
Escribir (‘Ingrese la base del triángulo’)
Leer (b)
Escribir (‘Ingrese la altura del triángulo’)
Leer (h)
a = (b * h) / 2
Escribir (‘El área del triángulo es:’, a)
Fin
Leer un número y escribir un mensaje si es mayor a 1000.
Algoritmo AreaTriángulo
Variables numero entero
Inicio
Escribir (‘Escriba un número:’)
Leer (numero)
si numero > 1000 entonces
Escribir (‘El número ‘, numero, ‘es mayor a mil’)
fin-si
Fin
Leer dos números y escribirlos en forma ascendente.
Algoritmo Ejemplo 3
Variables num1, num2 real
Inicio
Leer num1
Leer num2
Si num1 < num2 entonces
Escribir num1, num2
sino
Escribir num2, num1
Fin-si
Fin
En las estructuras de decisión compuesta, se pueden anidar varios niveles de decisión, construyéndose una estructura compleja que contemple las distintas posibilidades de las relaciones lógicas.
Leer 2 números, si son iguales que los multiplique, si el primero es mayor que el segundo
que los reste y si no que los sume.
Algoritmo Ejemplo1
Variables numero1, numero2 enteras
Inicio
Leer numero1
Leer numero2
Si numero1 = numero2 entonces
resultado = numero1 * numero2
sino
si numero1 > numero2 entonces
resultado = numero1 - numero2
sino
resultado = numero1 + numero2
Fin-si
Fin-si
Fin
Ejemplo de estructura de decisión múltiple
Se requiere que mediante la utilización de un algoritmo de decisión múltiple, muestre la equivalencia de los números romanos (V, X, L, C, D, M) a su valor en decimal.
Algoritmo Romano-Decimal
Variable romano caracter
ndecimal numérico entero
Inicio
Escribir/’CONVERSION DE NUMEROS ROMANOS A DECIMALES’)
Leer (nromano)
Según Sea romano
“’ : ndecimal =1
‘v’: ndecimal = 5
‘x’: decimal = 10
‘l’ :ndecimal = 50
‘c’: decimal = 100
‘d’; ndecimal = 500
otros casos
Escribir (‘Número sin conversión activa’)
Fin-Según-Sea
Escribir (nromano, ‘es equivalente en decimal a: ‘, ndecimal)
Fin
Estructura Para
Ejemplo:
Mediante un bucle Para realice un algoritmo que imprima los n primeros
números pares.
Algoritmo Pares
Variables n1, n2, i enteros
Inicio
Escribir (‘NUMEROS PARES’)
Escribir (‘Digite la cantidad de números pares que desea:’
Leer n1
Para i = 1 hasta n1
n2 =i * 2
Escribir n2
Fin-Para
Fin
Realice un algoritmo que lea un número y escriba “ACEPTADO” si el numero es positivo, en caso de no serlo se volverá a solicitar el ingreso del numero tantas veces hasta que se cumpla la condición (validación).
Algoritmo Positivo
Variables n1 entero
Inicio
Escribir (‘Digite un número:’)
Leer n1
Mientras n1 <= 0
Escribir (‘Digite un número:’)
Leer n1
Fin-Mientras
Escribir n1
Fin
Estructura Repetir
Es importante tener e cuenta que en la estructura REPETIR-HASTA, las instruccior. dentro del bucle se ejecutan como mínimo
una vez.
Realice un algoritmo que lea un número y escriba “ACEPTADO” si el numero es positivo, en caso de no serlo se volverá a solicitar el ingreso del numero tantas veces hasta que se cumpla la condición (validación).
Algoritmo Positivo
Variables n1 entero
Inicio
Escribir (‘Digite un número:’)
Repetir
Escribir (‘Digite un número:’)
Leer n1
Hasta que n1 > 0
Escribir n1
Fin
Estructura Mientras
Es importante tener en cuenta que las instrucciones en la estructura MIENTRAS, no se ejecutan si la condición no se cumple.
Realice un algoritmo que lea un número y escriba “ACEPTADO” si el numero es positivo, en caso de no serlo se volverá a solicitar el ingreso del numero tantas veces hasta que se cumpla la condición (validación).
Pseudocódigo:
Algoritmo Positivo
Variables n1 entero
Inicio
Escribir (‘Digite un número:’)
Leer n1
Mientras n1 <= 0
Escribir (‘Digite un número:’)
Leer n1
Fin-Mientras
Escribir n1
Fin
Repetir hasta
Es importante tener e cuenta que en la estructura REPETIR-HASTA, las instruccior._. dentro del bucle se ejecutan como mínimo
una vez.
Realice un algoritmo que lea un número y escriba “ACEPTADO” si el numero es positivo, en caso de no serlo se volverá a solicitar el ingreso del numero tantas veces hasta que se cumpla la condición (validación).
Pseudocódigo:
Algoritmo Positivo
Variables n1 entero
Inicio
Escribir (‘Digite un número:’)
Repetir
Escribir (‘Digite un número:’)
Leer n1
Hasta que n1 > 0
Escribir n1
Fin
Ejemplo procedimiento
Procedimiento Nombre
inicio
Escribir(‘Este señor no tiene nombre’)
Fin Procedimiento
Procedimiento Direccion
inicio
Escribir(‘C: \mis documentos\imágenes')
Fin Procedimiento
Procedimiento Telefono
inicio
Escribir(‘0000’)
Fin Procedimiento
Inicio del Programa Principal
Nombre
Direccion
Telefono
Leer
Fin del Programa Principal
Sub rango
Algoritmo SubRango1
// Variables
dia: .31
// Inicio del programa Escribir("Introduce el dia: ") Leer(dia) EscribirLinea("Has tecleado ", dia) FinAlgoritmo
Enumerado
Algoritmo Enumerado1
// Variables
dia: Enumerado(Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo)
// Inicio del programa dia := Lunes Si (dia = Martes) Entonces EscribirLinea('El dia es Martes') Sino EscribirLinea('No es Martes') FinSi dia := Succ(dia) Si (dia = Martes) Entonces EscribirLinea('Ahora el dia es Martes') Sino EscribirLinea('Aun no es Martes') FinSi FinAlgoritmo
También se puede saber el “número de orden”, con la función “ord”. Por ejemplo,
“ord (Lunes)” valdría 1, porque es el primer dato de la lista. De igual modo, podríamos recorrer todos los valores posibles usando “for”: “for dia := Lunes to Viernes do
Conjuntos
Algoritmo Set01
// Variables
minusculasValidas, mayusculasValidas, letrasValidas: Conjunto de Caracteres
letra: Caracter
// Inicialización de conjuntos minusculasValidas := ['a', 'b', 'c', 'd'] mayusculasValidas := ['F', 'H', 'K', 'M'] letrasValidas := minusculasValidas U mayusculasValidas // Bucle de entrada Repetir EscribirLinea('Introduce una letra...') Leer(letra) Si no (letra en letrasValidas) Entonces EscribirLinea('No aceptada!') FinSi Hasta que letra en letrasValidas FinAlgoritmo
Escribir un programa en Pascal que rellene un array con los números
enteros comprendidos entre 4 y 14.
Algoritmo ejem1
// Definición del tipo
Tipo
num = array [4..14] de entero
// Variables linteger, cirser: entero arr_num: num i: entero // Inicialización del arreglo Para i desde 4 hasta 14 hacer arr_num[i] := i Fin Para // Mostrar los números Para i desde 4 hasta 14 hacer EscribirLinea('numero: ', arr_num[i]) Fin Para Leer(cirser) FinAlgoritmo
Escribir un programa en Pascal que rellene un array con cinco números
enteros consecutivos y haga una copia de ese array en otro.
Algoritmo ejem2
// Definición del tipo
Tipo
num = array [5..10] de entero
// Variables l: entero arr_num1, arr_num2: num i: entero // Inicialización del primer arreglo Para i desde 5 hasta 10 hacer arr_num1[i] := i Fin Para // Copia del primer arreglo al segundo Para i desde 5 hasta 10 hacer arr_num2[i] := arr_num1[i] Fin Para // Mostrar los números del segundo arreglo Para i desde 5 hasta 10 hacer EscribirLinea(arr_num2[i]) Fin Para Leer(l) FinAlgoritmo
Escribir un programa en Pascal que solicite cinco números, los almacene un array y luego calcule la media aritmética de esos números.
Algoritmo ejem3
// Definición del tipo
Tipo
num = array [1..5] de real
// Variables Hinteger Arr_numero: num media: real i: entero // Inicialización de la media media := 0 Escribir('Escriba 5 números para calcular su media aritmética: ') // Entrada de datos y cálculo de la media Para i desde 1 hasta 5 hacer Leer(Arr_numero[i]) media := media + Arr_numero[i] Fin Para media := media / 5 EscribirLinea('La media aritmética es: ', media:5:2) Leer(Hinteger) FinAlgoritmo
Ordenamiento burbujero
Algoritmo Ordenar
// Declaración de variables
vector: arreglo de enteros[1..8]
i, j, aux: entero
inicio
// Inicialización del arreglo
vector[1] := 44
vector[2] := 55
vector[3] := 31
vector[4] := 512
vector[5] := 42
vector[6] := 94
vector[7] := 18
vector[8] := 67
// Proceso de ordenamiento Para i desde 1 hasta 7 hacer Para j desde 1 hasta 7 hacer Si vector[j] > vector[j+1] entonces // Intercambiar elementos aux := vector[j] vector[j] := vector[j+1] vector[j+1] := aux Fin Si Fin Para Fin Para // Mostrar el arreglo ordenado Para i desde 1 hasta 8 hacer Escribir(vector[i]) Fin Para
Fin Algoritmo
matriz
Algoritmo Matriz1
// Declaración de tipos y variables
Tipo Edades: arreglo[1..3, 1..3] de entero
Edad: Edades
g, p, prom: entero
promedio: real
// Inicio del programa Escribir "Ingrese las edades de las personas en cada grupo:" // Ingreso de edades Para g desde 1 hasta 3 hacer Escribir "Grupo: ", g Para p desde 1 hasta 3 hacer Escribir "Edad de la persona: " Leer(edad[g, p]) Fin Para Fin Para // Cálculo del promedio por grupo Para g desde 1 hasta 3 hacer Escribir "Grupo: ", g Para p desde 1 hasta 3 hacer prom := prom + edad[g, p] Fin Para promedio := prom / 3 Escribir "Promedio del grupo ", g, " es: ", promedio:2:2 prom := 0 Fin Para
Fin Algoritmo
ejemplo matriz
Algoritmo MatrizEjemplo
// Declaración de la matriz
Matriz: arreglo de arreglos de enteros
// Inicialización de la matriz Para fila desde 1 hasta N hacer Para columna desde 1 hasta M hacer Matriz[fila, columna] := 0 Fin Para Fin Para // Acceso y modificación de elementos en la matriz Matriz[2, 3] := 42 // Lectura de elementos en la matriz Mostrar "El valor en la fila 2, columna 3 es: ", Matriz[2, 3]
Fin Algoritmo
Escribir un programa en Pascal que sume, independientemente, los elementos positivos y negativos de la siguiente matriz:
-12 | 23 | 32
45 | -56| -10
25 | 78 | 89
Algoritmo UD10Act1
// Declaración de variables
A: arreglo de arreglos de enteros
positivos, negativos, i, j: entero
// Inicialización de la matriz A := ((-12, 23, 32), (45, -56, -10), (25, 78, 89)) // Inicialización de contadores positivos := 0 negativos := 0 // Conteo de elementos positivos y negativos Para i desde 1 hasta 3 hacer Para j desde 1 hasta 3 hacer Si A[i, j] >= 0 entonces positivos := positivos + A[i, j] Sino negativos := negativos + A[i, j] Fin Si Fin Para Fin Para // Mostrar resultados Escribir "Suma de elementos positivos: ", positivos Escribir "Suma de elementos negativos: ", negativos
Fin Algoritmo