Upload
truongkhanh
View
215
Download
0
Embed Size (px)
Citation preview
Dpto. de ATC - Página 1 de 16
Fundamentos de InformáticaE.U.P. Universidad de Sevilla
Introducción a la AlgorítmicaIntroducción a la AlgorítmicaTransparencias correspondientes a las clases impartidas por los Transparencias correspondientes a las clases impartidas por los profesores:profesores:
Lourdes Miró Lourdes Miró AmaranteAmaranteIgnacio García VargasIgnacio García Vargas
� Un algoritmoalgoritmo es un conjunto de acciones que determinandeterminan la secuencia de los pasos a seguir para resolver un problema específico.
� Otras definiciones:� Conjunto de reglas para resolver un problema.� Una forma de describir la solución de un problema.
� Los pasos de un algoritmo deben estar definidos con precisiónprecisión, no deben existir ambigüedades que den origen a elegir una decisión equivocada.
CONCEPTO DE ALGORITMO (1)
CONCEPTO DE ALGORITMO (2)
� Un algoritmo es un proceso que a partir de unos datos de entrada genera unos datos de salidallamados resultados.
ALGORITMOALGORITMO
DATOS DE ENTRADADATOS DE ENTRADA PROCESAMIENTOPROCESAMIENTO RESULTADOSRESULTADOS
ARCHIVOARCHIVOPANTALLAPANTALLATECLADOTECLADO ARCHIVOARCHIVO
� DATO es cualquier objeto manipulable por el ordenador
� Se distinguen dos clases de datos:
� VARIABLES: Objeto cuyo valor cambia durante la ejecución de un programa.
� CONSTANTES: Objeto cuyo valor NO cambia durante la ejecución de un programa.
DATOS: VARIABLES Y CONSTANTES
Dpto. de ATC - Página 2 de 16
TIPOS DE DATOS
� Los valores que pueden tomar las variables y las constantes pertenecen a un TIPO (tipo de dato). Por ejemplo:� Numérico: enteros, reales, etc.� Carácter: contienen texto
� Por ejemplo, una variable que contenga el nombre de una persona.
� Booleano: está compuesto por dos valores (VERDADERO, FALSO)
� Conjunto de elementos homogéneo: todos los elementos que lo componen son del mismo tipo de dato.
� Conjunto de elementos ordenado: los elementos siguen un orden y se distinguen por la posición que ocupan.
� Cada elemento del vector se representa por el nombredel vector y un índice, que indica la posición que ocupa el elemento dentro del vector.
TIPOS DE DATOS: VECTORES
VECTORES: EJEMPLO
� Supongamos que tenemos un vector de números reales llamado temperaturas que contiene las temperaturas de cada hora del día.
9,920,11411,311,910,5
24...54321
temperaturas
índices
temperaturas[2] temperaturas[4]
REPRESENTACIÓN DE ALGORITMOS
Existen dos herramientas de programación, usadas como lenguajes algorítmicos, para representar un algoritmo:
�DIAGRAMAS DE FLUJO
�PSEUDOCODIGO
Dpto. de ATC - Página 3 de 16
PSEUDO CÓDIGO
�Es una mezcla de lenguaje de programación y español ( o cualquier otro idioma).
�Es un conjunto pequeño y completo de sentencias que especifica los pasos de un algoritmo.
ESTRUCTURA GENERAL
ALGORITMO nombreVARIABLES
declaración de las variables utilizadasINICIO
sentenciasFIN
EJEMPLO DE DECLARACIÓN DE VARIABLES
nombre ES TEXTOimporte ES REALtiene_tarjeta ES BOOLEANOnumero_cliente ES ENTEROprecios ES VECTOR DE REALES
� Los nombres de las variables no deben contener espacios.
SENTENCIAS SIMPLES
� Lectura de datos del teclado � LEE importe
� Escritura de datos en pantalla� ESCRIBE importe
� Expresiones aritméticas� Asignaciones
� importe ← precio * 1.13� total ← total + (precio + 3) * 2.5� factorial ← valor * factorial� x ← x + 1
� Expresiones lógicas (valores booleanos)� (factorial > 34 Y factorial < 54000) O contador < 32
Dpto. de ATC - Página 4 de 16
PROGRAMACIÓN ESTRUCTURADA
�Un programa se escribe utilizando los siguientes tipos de estructuras de control de secuencia:
�Secuencial: Una acción se ejecuta una tras otra, es decir,
una instrucción sigue a otra en secuencia.
� Selectiva: Se evalúa la condición y en función del resultado
se ejecuta un conjunto de instrucciones u otro. Hay tres tipos de
selectivas (simple, doble o múltiple).
� Repetitiva: Contienen un bucle (conjunto de instrucciones que
se repiten un número finito de veces). Cada repetición del bucle se llama
iteración. Todo bucle tiene que llevar asociada una condición, que
determina si el bucle se repite o no.
ESTRUCTURA SECUENCIAL
Sentencia 1Sentencia 2...Sentencia N
�Se caracteriza porque las acciones se ejecutan una tras otra, es decir una sentencia sigue a otra en secuencia.
EJEMPLO DE ESTRUCTURA SECUENCIAL (Enunciado)
Problema 1Problema 1.
Escriba un algoritmo con seudo-código tal que, dadas tres variables que contienen la longitud de los lados de un triángulo a, b y c, calcule su área S aplicando las siguientes ecuaciones:
p = (a + b + c)/2
������ �������� −−−=
El valor de las variables a, b y c debe leerse del teclado.
EJEMPLO DE ESTRUCTURA SECUENCIAL (Solución problema 1)
ALGORITMO Problema1
VARIABLES
a, b, c, p, s SON REALES
INICIO
LEE a
LEE b
LEE c
p ← (a + b + c) / 2
s ← raiz( p * (p-a) * (p-b) * (p-c) )
ESCRIBE “a = “, a, “b = “, b , “c = “, c
ESCRIBE “p = “, p, “s = “, s
FIN
Dpto. de ATC - Página 5 de 16
ESTRUCTURA SELECTIVA (SIMPLE)
� Se evalúa la condición,� si es verdadera, se ejecutan las sentencias; � en caso contrario, se salta dicho grupo de sentencias.
SI condición ENTONCESsentencias
FINSI
EJEMPLO DE ESTRUCTURA SELECTIVA SIMPLE (Enunciado)
Problema 2Problema 2.
Construya un algoritmo en pseudo código tal que, dados los valores enteros P y Q, que deben leerse del teclado, determine si los mismos satisfacen la siguiente expresión:
En caso afirmativo debe escribir por pantalla los valores de P y Q.
���� ��� <−+ ���
Problema 2Problema 2
EJEMPLO DE ESTRUCTURA SELECTIVA SIMPLE (Solución)
ALGORITMO Problema2VARIABLES
p, q SON ENTEROSINICIO
LEER p
LEER q
SI (P^3 + Q^4 – 2 * P^2 < 680) ENTONCESESCRIBE “Los valores de P y Q son:”ESCRIBE “P = “, P, “Q = “, Q
FINSIFIN
ESTRUCTURA SELECTIVA (DOBLE)
�Se evalúa la condición� Si es verdadera: se ejecutan las sentencias 1.� Si es falsa: se ejecutan las sentencias 2.
SI condición ENTONCESsentencias 1
SINOsentencias 2
FINSI
Dpto. de ATC - Página 6 de 16
EJEMPLO DE ESTRUCTURA SELECTIVA DOBLE
ALGORITMO ejemplo
VARIABLES
ex1, ex2, ex3, cal SON REALES
INICIO
LEER ex1, ex2, ex3
cal ← (ex1 + ex2 + ex3) / 3
SI cal >= 7.5 ENTONCES
ESCRIBE “aprobado”
SINO
ESCRIBE “no aprobado”
FINSI
FIN
ESTRUCTURA SELECTIVA MULTIPLE
SI condición1 ENTONCESsentencias1
SINO SI condición2 ENTONCES
sentencias2SINO
sentencias3FINSI
FINSI
Problema 3Problema 3.
Elabore un algoritmo en pseudo código que lea del teclado una temperatura en grados Centígrados, calcule los grados Fahrenheit y escriba por pantalla el deporte que es apropiado practicar a esa temperatura, teniendo en cuenta la siguiente tabla:
��������� ������������ �����������������
��������� ����������� ����������� ����!�"#� $���������� ������%&'� $(��������� �$��������� � �$(�
EJEMPLO DE ESTRUCTURA SELECTIVA MULTIPLE (Enunciado)
��
� +⋅= ��
Para convertir grados Centígrados (variable c) a Fahrenheit (variable f) se utiliza la siguiente ecuación:
ALGORITMO Problema3VARIABLES
cent, fah SON REALESINICIO
LEER centfah ←←←← (9 / 5) * cent + 32SI fah > 85 ENTONCES
ESCRIBE “Natacion”SINO
SI fah > 70 ENTONCES ESCRIBE “Tenis”
SINOSI fah > 35 ENTONCES
ESCRIBE “Golf”SINO
SI fah > 32 ENTONCES ESCRIBE “Esqui”
SINO ESCRIBE “Marcha”
FINSIFINSI
FINSIFINSI
FIN
EJEMPLO DE ESTRUCTURA SELECTIVA MULTIPLE (Solución)
Dpto. de ATC - Página 7 de 16
ESTRUCTURAS REPETITIVAS: VARIABLES ESPECIALES
� Contadores: � Son variables que se utilizan para contar.� Normalmente su valor se incrementa o decrementa en 1.
� Ejemplos:contador ← contador + 1indice ← indice - 1
� Acumuladores:� Se utilizan para almacenar el resultado de sumas sucesivas.� Su valor se incrementa en cantidades variables.
� Ejemplos:total ← total + valor
EJEMPLO DE CONTADOR Y ACUMULADOR
1. ALGORITMO ejemplo contador
2. VARIABLES
3. c ES ENTERO
4. INICIO
5. c �
�� c� c + 1
7. c � c + 1
8. FIN
1. ALGORITMO ejemplo acumulador
2. VARIABLES
3. c, v SON ENTEROS
4. INICIO
5. c � �
�� ����
�� c� c + v
8. LEE v
9. c � c + v
10.FIN
ESTRUCTURA REPETITIVA MIENTRAS
� La condición del bucle se evalúa al principio, antes ejecutar las sentenciasdel bucle,
�Si es verdadera, se ejecutan las sentencias del bucle y después se vuelve a preguntar por la condición. �En el momento en el que la condición es falsa se sale del bucle.
�Como la condición es evaluada, la primera vez, antes de entrar en el bucle, puede que el bucle se ejecute 0 veces.
�Para finalizar un bucle, el valor de la condición debe ser modificado en las sentencias que componen el bucle.
MIENTRAS condición HACER
sentencias
FIN MIENTRAS
ESTRUCTURA REPETITIVA MIENTRAS: EJEMPLO
ALGORITMO ejmplo
VARIABLES
c ES ENTERO
INICIO
c ← 1
MIENTRAS c < 3 HACER
c ← c + 1
FIN MIENTRAS
ESCRIBIR c
FIN
Dpto. de ATC - Página 8 de 16
EJERCICIOS ESTR. REPETITIVA MIENTRAS
� Problema 4Escriba un algoritmo que lea del teclado un número entero y que compruebe si es menor que 5. Si no lo es, debe volver a leer un nuevo número tantas veces como sea necesario, hasta que el usuario escriba un valor correcto (un número menor que 5). Finalmente debe escribir por pantalla el valor leído.
EJERCICIOS ESTR. REPETITIVA MIENTRAS (solución problema 4)
ALGORITMO problema4
VARIABLES
num ES ENTERO
INICIO
ESCRIBE “Teclee un número menor que 5”
LEE num
MIENTRAS num >= 5 HACER
ESCRIBE “Teclee un número menor que 5”
LEE num
FIN MIENTRAS
ESCRIBE “El número leído es “, num
FIN
EJERCICIOS ESTR. REPETITIVA MIENTRAS
� Problema 5Modifique el algoritmo del problema 4 para que, en vez de comprobar que el número es menor que 5, compruebe que se encuentre en el rango (5,15).
EJERCICIOS ESTR. REPETITIVA MIENTRAS (solución problema 5)
ALGORITMO problema5
VARIABLES
num ES ENTERO
INICIO
ESCRIBE “Teclee un número entre 5 y 15 (no incluidos)”
LEE num
MIENTRAS num <= 5 O num >= 15 HACER
ESCRIBE “Teclee un número entre 5 y 15 (no incluidos)”
LEE num
FIN MIENTRAS
ESCRIBE “El número leído es “, num
FIN
Dpto. de ATC - Página 9 de 16
EJERCICIOS ESTR. REPETITIVA MIENTRAS
� Problema 6Modifique el algoritmo del problema 5 para que cuente las veces que se ha leído un número del teclado y escriba en pantalla el resultado de la cuenta.
EJERCICIOS ESTR. REPETITIVA MIENTRAS (solución problema 6)
ALGORITMO problema6
VARIABLES
num, veces SON ENTEROS
INICIO
ESCRIBE “Teclee un número entre 5 y 15 (no incluidos)”
LEE num
veces ← 1
MIENTRAS num <= 5 O num >= 15 HACER
ESCRIBE “El número es incorrecto, inténtelo de nuevo.”
LEE num
veces ← veces + 1
FIN MIENTRAS
ESCRIBE “El número leído es “, num
ESCRIBE “El número de intentos ha sido “, veces
FIN
EJERCICIOS ESTR. REPETITIVA MIENTRAS
� Problema 7Modifique el algoritmo del problema 6 para que se realicen 10 lecturas del teclado como máximo.
EJERCICIOS ESTR. REPETITIVA MIENTRAS (solución problema 7)
ALGORITMO problema7
VARIABLES
num, veces SON ENTEROS
INICIO
ESCRIBE “Teclee un número entre 5 y 15 (no incluidos)”
LEE num
veces ← 1
MIENTRAS (num <= 5 O num >= 15) Y veces < 10 HACER
ESCRIBE “El número es incorrecto, inténtelo de nuevo.”
LEE num
veces ← veces + 1
FIN MIENTRAS
ESCRIBE “El número leído es “, num
ESCRIBE “El número de intentos ha sido “, veces
FIN
Dpto. de ATC - Página 10 de 16
EJERCICIOS ESTR. REPETITIVA MIENTRAS
� Problema 8Escriba un algoritmo que, dado un vector de 100 enteros, escribatodos sus elementos por pantalla. Supongamos que el primer elemento del vector tiene índice 1.
Supongamos que el contenido del vector nos viene dado y que el algoritmo no necesita leerlo.
� Ejemplo de declaración de vectores:importes ES VECTOR DE REALES (INDICES 1 A 3)
EJERCICIOS ESTR. REPETITIVA MIENTRAS (solución problema 8)
ALGORITMO problema8
VARIABLES
v ES VECTOR DE 100 ENTEROS (INDICES 1 A 100)
total, i SON ENTEROS
INICIO
i ← 1
MIENTRAS i <= 100 HACER
ESCRIBE “El elemento “, i, “ vale ”, v[i]
i ← i+1
FIN MIENTRAS
FIN
EJERCICIOS ESTR. REPETITIVA MIENTRAS
� Problema 9Escriba un algoritmo que, dado un vector de 100 enteros, sume todos sus elementos y escriba por pantalla el resultado. Supongamos que el primer elemento del vector tiene índice 1.
Supongamos que el contenido del vector nos viene dado y que el algoritmo no necesita leerlo.
EJERCICIOS ESTR. REPETITIVA MIENTRAS (solución problema 9)
ALGORITMO problema9
VARIABLES
v ES VECTOR DE 100 ENTEROS (INDICES 1 A 100)
total, i SON ENTEROS
INICIO
i ← 1
total ← 0
MIENTRAS i <= 100 HACER
total ← total + v[i]
i ← i+1
FIN MIENTRAS
ESCRIBE total
FIN
Dpto. de ATC - Página 11 de 16
EJERCICIOS ESTR. REPETITIVA MIENTRAS
� Problema 10Escriba un algoritmo que, dado un vector de 100 enteros, cuente el número de elementos cuyo valor se encuentra en el rango [10, 50) y que escriba el resultado por pantalla.
Supongamos que el contenido del vector nos viene dado y que el algoritmo no necesita leerlo.
� Por ejemplo, el siguiente vector
contiene 4 valores en el rango indicado, correspondientes a los elementos de índice 1, 3, 5 y 6.
-3449159813210
7654321
EJERCICIOS ESTR. REPETITIVA MIENTRAS (solución problema 10)
ALGORITMO problema10
VARIABLES
v ES VECTOR DE 100 ENTEROS (INDICES 1 A 100)
cuenta, i SON ENTEROS
INICIO
i ← 1
cuenta ← 0
MIENTRAS i <= 100 HACER
SI v[i] >= 10 Y v[i] < 50 ENTONCES
cuenta ← cuenta + 1
FINSI
i ← i+1FIN MIENTRAS
ESCRIBE cuenta
FIN
EJERCICIOS ESTR. REPETITIVA MIENTRAS
� Problema 11Modifique el algoritmo del problema 10 para que calcule el valormedio de los elementos que se encuentran en el rango indicado.
EJERCICIOS ESTR. REPETITIVA MIENTRAS (solución problema 11)
ALGORITMO problema11VARIABLES
v ES VECTOR DE 100 ENTEROS (INDICES 1 A 100)total, cuenta, i SON ENTEROS
INICIOi ← 1cuenta ← 0total ← 0MIENTRAS i <= 100 HACER
SI v[i] >= 10 Y v[i] < 50 ENTONCEScuenta ← cuenta + 1total ← total + v[i]
FINSIi ← i+1
FIN MIENTRASESCRIBE total / cuenta
FIN
Dpto. de ATC - Página 12 de 16
Problema 12Problema 12
Escriba un algoritmo en pseudo código que calcule e imprima la suma de los n primeros números enteros positivos. El valor de n debe leerse del teclado.
EJEMPLO DE ESTRUCTURA REPETITIVA MIENTRAS EJEMPLO DE ESTRUCTURA REPETITIVA MIENTRAS(Solución problema 12)
ALGORITMO problema12VARIABLES
i ES ENTEROs ES REAL
INICIOLEER ns ← 0i ← 1MIENTRAS i<=n HACER
s ← s+ii ← i+1
FIN MIENTRASESCRIBE “La suma de los primeros “, n, “ numeros es “, s
FIN
ESTRUCTURA REPETITIVA HASTA
�La condición se evalúa siempre al final del bucle,�si es falsa, volvemos a ejecutar las acciones, �si es verdadera, se sale del bucle.
�Como la condición se evalúa al final, incluso aunque la primera vez sea verdadera, se ejecuta al menos una vez por el bucle.
�Para finalizar un bucle, el valor de la condición debe ser modificado en las sentencias que componen el bucle.
REPETIR
sentencias
HASTA condición
ESTRUCTURA REPETITIVA HASTAEquivalencia con la estructura MIENTRAS
REPETIR
sentencias_hasta
HASTA condición_hasta
sentencias_hasta
MIENTRAS NO condición_hasta HACER
sentencias_hasta
FIN MIENTRAS
Dpto. de ATC - Página 13 de 16
Hasta
EJEMPLO DE ESTRUCTURA REPETITIVA HASTA(Solución del problema 12)
ALGORITMO Problema12VARIABLES
i, n SON ENTEROSs ES REAL
INICIOLEER ns � 0.0i � 1REPETIR
s � s + ii � i +1
HASTA i > nESCRIBE “La suma de los primeros”, nESCRIBE “numeros positivos es = “, s
FIN
ESTRUCTURA REPETITIVA PARA
�Se usa cuando se conoce el número exacto de veces que hay que ejecutar el bucle.�El bucle lleva asociado una variable, llamada índice, a la que se le asigna un valor inicial y un valor final. Este índice se va a incrementar o decrementar en cada iteración de bucle en un valor constante
PARA var ← inicio HASTA fin HACERsentencias
FIN PARA
PARA var ← inicio HASTA fin INCREMENTO valor HACERsentencias
FIN PARA
PARA var ← inicio HASTA fin DECREMENTO valor HACER
sentenciasFIN PARA
ESTRUCTURA REPETITIVA PARAEquivalencia con la estructura MIENTRAS
PARA var ← inicio HASTA fin HACER
sentencias
FIN PARA
var ← inicio
MIENTRAS var <= fin HACER
sentencias
var ← var + 1
FIN MIENTRAS
EJEMPLO DE ESTRUCTURA REPETITIVA PARA(Solución problema 12)
ALGORITMO Problema12
VARIABLES
i, n SON ENTEROS
s ES REAL
INICIO
LEER n
s ← 0.0
PARA i ← 1 HASTA n HACER
s ← s + i
FIN PARA
ESCRIBE “La suma de los primeros”, n
ESCRIBE “numeros positivos es = “, s
FIN
Dpto. de ATC - Página 14 de 16
BÚSQUEDA SECUENCIAL EN UN VECTOR
� Problema 13Escriba un algoritmo que lea un número real del teclado y busquedicho número en un vector de N números reales, donde N es una constante a la que le daremos un valor cualquiera. Si se encuentra el número, se debe escribir por pantalla el índice del elemento que lo contiene.
� Supongamos que: � Que el algoritmo no necesita leer el contenido del vector.� Ningún elemento del vector se repite.
BÚSQUEDA SECUENCIAL EN UN VECTOR (solución 1)
ALGOTIRMO búsqueda secuencialCONSTANTES
n VALE 100VARIABLES
a ES VECTOR DE REALES (INDICES 1 A n)p ES ENTEROvalor ES REAL
INICIOLEE valorPARA p ← 1 HASTA n HACER
SI a[p] = valor ENTONCESESCRIBE “El valor se ha encontrado en la posición”, p
FINSIFIN PARA
FIN
BÚSQUEDA SECUENCIAL EN UN VECTOR (solución 2)
ALGOTIRMO búsqueda secuencialCONSTANTES
n VALE 100VARIABLES
a ES VECTOR DE REALES (INDICES 1 A n)p ES ENTEROvalor ES REAL
INICIOLEE valorp ← 0REPETIR
p ← p+1HASTA p=n 0 a[p]=valorSI a[p] = valor ENTONCES
ESCRIBE “El valor se ha encontrado en la posición”, pFINSI
FIN
BÚSQUEDA SECUENCIAL EN UN VECTOR (solución 3)
ALGOTIRMO búsqueda secuencialCONSTANTES
n VALE 100VARIABLES
a ES VECTOR DE REALES (INDICES 1 A n)p ES ENTEROvalor ES REALencontrado ES BOOLEANO
INICIOLEE valorp ← 1encontrado ← FALSOMIENTRAS p<=n Y NO encontrado HACER
SI a[p] = valor ENTONCESencontrado ← VERDADEROESCRIBE “El valor se ha encontrado en la posición”, p
FINSIp ← p+1
FIN MIENTRASFIN
Dpto. de ATC - Página 15 de 16
Búsqueda del máximo elemento de un vector
� Problema 14Escriba un algoritmo que busque el valor máximo de los elementosde un vector de N números reales, donde N es una constante a la que le daremos un valor cualquiera. El algoritmo debe escribir por pantalla el valor máximo.
� Supongamos que: � Que el algoritmo no necesita leer el contenido del vector.
Búsqueda del máximo elemento de un vector (solución)
ALGOTIRMO búsqueda del máximoCONSTANTES
n VALE 100VARIABLES
a ES VECTOR DE REALES (INDICES 1 A n)i ES ENTEROmax ES REAL
INICIOLEE valormax ← a[1]PARA i ← 2 HASTA n HACER
SI a[i] > max ENTONCESmax ← a[i]
FINSIFIN PARAESCRIBE “El valor máximo es”, max
FIN
Búsqueda del mínimo elemento de un vector
� Problema 15Escriba un algoritmo que busque el valor mínimo de los elementos de un vector de N números reales, donde N es una constante a la que le daremos un valor cualquiera. El algoritmo debe escribir por pantalla el valor mínimo y el índice del elemento que lo contiene.
� Supongamos que: � Que el algoritmo no necesita leer el contenido del vector.
Búsqueda del mínimo elemento de un vector (Solución 1)
ALGOTIRMO búsqueda del mínimo solución 1CONSTANTES
n VALE 100VARIABLES
a ES VECTOR DE REALES (INDICES 1 A n)i, imin ES ENTEROmin ES REAL
INICIOLEE valormin ← a[1]imin ← 1PARA i ← 2 HASTA n HACER
SI a[i] < min ENTONCESmin ← a[i]imin ← i
FINSIFIN PARA ESCRIBE “El valor mínimo es”, min, “ y se encuentra en la posición “, imin
FIN
Dpto. de ATC - Página 16 de 16
Búsqueda del mínimo elemento de un vector (Solución 2)
ALGOTIRMO búsqueda del mínimo solución 2CONSTANTES
n VALE 100VARIABLES
a ES VECTOR DE REALES (INDICES 1 A n)i, imin ES ENTERO
INICIOLEE valorimin ← 1PARA i ← 2 HASTA n HACER
SI a[i] < a[imin] ENTONCESimin ← i
FINSIFIN PARA ESCRIBE “El valor mínimo es”, a[imin], “ y se encuentra en la posición “, imin
FIN
Escriba un algoritmo en pseudo código que calcule el aumento de sueldo para un grupo de empleados de una empresa, teniendo en cuenta el siguiente criterio:
Si el sueldo es inferior a 1000 euros: Aumento 15% Si el sueldo es mayor o igual a 1000 euros: Aumento 12%
Imprima el nombre del trabajador, su sueldo sin aumento, su sueldo nuevo con aumento y el total de la nómina de la empresa, considerando este nuevo aumento.
Supongamos que la empresa tiene 100 empleados.
PROBLEMA 16
SOLUCION PROBLEMA 13
1. ALGORITMO problema162. CONSTANTES3. num_emp ES 1004. VARIABLES5. i, aux, aumento, total_nomina SON ENTEROS6. sueldo, nombre SON VECTORES DE ENTEROS (INDICES 1 A num_emp)7. INICIO8. total_nomina ← 09. PARA i ←1 HASTA num_emp HACER10. ESCRIBE “El nombre del empleado es: “, nombre[i]11. ESCRIBE “El sueldo del empleado es: “, sueldo[i]12. SI sueldo[i] < 1000 ENTONCES13. aumento ← 1514. SINO15. aumento ← 1216. FINSI17. sueldo[i] ← sueldo[i] + (sueldo[i] * aumento) / 10018. total_nomina ← total_nomina + sueldo[i]19. ESCRIBE “Su nuevo sueldo es: “, sueldo[i]20. FIN PARA21. ESCRIBE “El total de nomina de la empresa es: “, total_nomina22. FIN