Está en la página 1de 26

Tema 2.

Software

Informática (1º Ingeniería Civil) Javier Carmona Murillo


Curso 2011/2012 jcarmur@unex.es

Índice

•  Introducción.
•  Programas e instrucciones.
•  Tipos y estructuras de datos.
•  Algoritmos.
•  Proceso de creación de un programa.
•  Desarrollo de aplicaciones en un lenguaje de
programación concreto: Java.

Curso 2011/2012 Javier Carmona Murillo


Introducción
•  El software lo constituyen el conjunto de programas
que permiten realizar alguna tarea en el ordenador.
Sin el software, el ordenador no haría nada. Al cargar
un programa, el ordenador recibe instrucciones sobre
la tarea específica a realizar.
•  Características del Software:
1.  Es intangible.
2.  No se deteriora o destruye por el paso del tiempo ni por el uso.
3.  El software no se fabrica, se desarrolla.
4.  De cada programa que se desarrolla pueden existir múltiples
copias, pero todas idénticas. Si alguna tiene un fallo, este
aparecerá en todas las copias.

Curso 2011/2012 Javier Carmona Murillo

Introducción El software de Sistemas está compuesto por


aquellos programas y aplicaciones que no tienen
Existen dos tipos de Software: un propósito específico para el usuario,
•  Software de Sistemas Su función está destinada a facilitar la
interacción con el ordenador a usuarios y
•  Software de Aplicación programas y evita la complejidad de manejar
directamente los componentes Hardware.
El software de Aplicación son los programas y
aplicaciones que realizan tareas para los usuarios con un
propósito específico:
•  Procesadores de texto.
•  Aplicaciones de gestión.
•  Juegos, navegadores,…
Sistemas Operativos

Traductores
HW
Editores

Sw de Aplicación
Curso 2011/2012 Javier Carmona Murillo
Programas e instrucciones
•  Instrucción: Conjunto de símbolos que representa una
orden de operación o tratamiento para el ordenador.
Las operaciones suelen realizarse con datos.
•  Programa: Conjunto ordenado de instrucciones que se
dan al computador indicándole las operaciones o
tareas que se desea que realice.
•  Las instrucciones se forman con elementos o símbolos
tomados de un determinado repertorio y se
construyen siguiendo unas reglas precisas.
•  Todo lo relativo a los símbolos y reglas para construir o
redactar con ellos un programa se denomina
lenguaje de programación.

Realiza un programa (sin seguir reglas estrictas) que sume la edad de tus
compañeros de fila
Curso 2011/2012 Javier Carmona Murillo

Programas e instrucciones

Lenguaje natural ! asignar el valor 9 a la variable b

Lenguaje de alto nivel ! int variable = 9;

Lenguaje ensamblador ! mov ah, 9

Código máquina ! 1011000001101001

Curso 2011/2012 Javier Carmona Murillo


Tipos y estructuras de datos

•  Los computadores son máquinas para el tratamiento automático


de la información.
•  Esta información no se almacena ni se representa al azar,
sino que debe organizarse o estructurarse en forma
adecuada para obtener unrendimiento razonable en su
memorización, tratamiento y recuperación.

•  En esta sección veremos el concepto de dato y tipo desde un


punto de vista lógico y describiremos los tipos de datos elementales
más comunes en informática.

Curso 2011/2012 Javier Carmona Murillo

Tipos y estructuras de datos

•  Dato: Cualquier objeto manipulable por el computador. Ej.:


•  Carácter leído de teclado,
•  información almacenada en un disco,
•  número que se encuentra en memoria,
•  …
•  Cuando utilizamos un computador para resolver un problema
debemos hacer una abstracción de éste y de las magnitudes que
influyen en él. Estas magnitudes deben ser representadas por datos.
•  Constantes: Datos que no modifican su valor durante la ejecución
de un programa.
•  Variables: Dato que modifica su valor durante la ejecución de un
programa.
•  Hablaremos de tipos de datos a aquellos conjuntos de valores que
tienen características comunes.

Curso 2011/2012 Javier Carmona Murillo


Tipos y estructuras de datos

•  ¿Qué datos comparten las mismas características?

s
-25
0,4

a verdadero
75
p
n
-578,3
falso

-567 89

Curso 2011/2012 Javier Carmona Murillo

Tipos y estructuras de datos

•  Datos de tipo entero (Integer)


•  Es una representación de los números enteros.

•  Datos de tipo real (Float, double, real, …)


•  Es una representación del conjunto de los números reales.

Curso 2011/2012 Javier Carmona Murillo


Tipos y estructuras de datos

Datos de tipo lógico (Boolean)


•  Representan valores lógicos o booleanos. Pueden tomar uno de
entre dos valores:
•  Verdadero (V o 1).
•  Falso (F o 0).
•  Sobre estos valores actúan los operadores lógicos:
•  Y, O, NO (AND, OR, NOT)
•  Completar la tabla:

a b a ^ b (a y b) a v b (a ó b)
Falso Falso
Falso Verdadero
Verdadero Falso
Verdadero Verdadero
Curso 2011/2012 Javier Carmona Murillo

Tipos y estructuras de datos

Datos de tipo lógico (Boolean)


•  El resultado de una operación de relación es el valor lógico
verdadero si la relación expresada es cierta, y falso en caso
contrario.
•  Resultado lógico de las siguientes expresiones:
•  7,4 < 3,27
•  “A” = “J”
•  34,7 < 107,3
•  X + Y >= 7,12

Curso 2011/2012 Javier Carmona Murillo


Tipos y estructuras de datos

Datos de tipo carácter (Char)


•  Representa elementos individuales de conjuntos finitos y ordenado
de caracteres. El conjunto de caracteres representados depende
del computador. Uno de los conjuntos más usuales es el ASCII.

Curso 2011/2012 Javier Carmona Murillo

Tipos y estructuras de datos

•  Los tipos de datos vistos hasta ahora se suelen denominar


elementales, y se pueden utilizar para construir tipos de datos más
elaborados.
•  Una estructura de datos o tipo de dato estructurado es un tipo de
dato construido a partir de otros tipos de datos.
•  Un dato de tipo estructurado está compuesto por una serie de
componentes y alguna relación existente entre ellos.
•  Normalmente la relación suele ser de orden.
•  Los datos componentes pueden ser elementales u otra
estructura de datos.

Curso 2011/2012 Javier Carmona Murillo


Tipos y estructuras de datos

•  Siempre que se utilice un dato en un programa debe determinarse


su tipo, para que el computador sepa cómo tratarlo y almacenarlo.
•  Veremos las siguientes estructuras:
•  Vectores (Arrays, Matrices o Formaciones).
•  Cadenas de caracteres.
•  Registros.
•  Listas.
•  Árboles.
•  Grafos.
•  …

Curso 2011/2012 Javier Carmona Murillo

Tipos y estructuras de datos. Vectores.

•  Estructura de datos más común.


•  Existe en todos los lenguajes de programación.

Un vector es una estructura de datos formada por una cantidad fija de


datos de un mismo tipo, cada uno de los cuales tiene asociado uno
o más índices que determinan de forma unívoca la posición del
dato en el vector.
•  Podemos imaginar un vector como una estructura de celdas donde
se pueden almacenar valores.

Vector (o matriz unidimensional) de 10 elementos.

Curso 2011/2012 Javier Carmona Murillo


Tipos y estructuras de datos. Vectores.

•  La principal operación que se puede realizar con vectores es la


selección.
•  Consiste en especificar un elemento determinado del
vector. Esta operación se efectúa dando un valor para
todos y cada uno de los índices del vector.
•  Con el elemento seleccionado se pueden realizar las
operaciones propias de su tipo. Ej.: Si tenemos un vector de
tipo “real”, una vez seleccionado, se pueden realizar las
operaciones definidas para datos del tipo real.
•  Al definir el vector, hay que especificar el número de elementos que
las constituyen (vectores estáticos).

Curso 2011/2012 Javier Carmona Murillo

Algoritmos.

•  El tratamiento automático de la información que llevan a cabo los


ordenadores, se debe realizar de un modo sistemático.
•  La resolución de cualquier problema conlleva encontrar un
método que lo resuelva expresado con la suficiente
precisión para poder ser descompuesto en acciones
realizables por el ordenador.

•  En esta sección estudiaremos diferentes técnicas de representación


que utilizaremos para expresar algoritmos.

Curso 2011/2012 Javier Carmona Murillo


Algoritmos.

•  Acciones que puede realizar un ordenador:


•  Sumar
•  Restar Acciones sencillas
•  Transferir datos …
•  Los problemas reales son complejos. Para solucionarlos:
•  Encontrar un método para resolverlo.
•  Descomponerlo en acciones sencillas (ordenador resuelva).

Curso 2011/2012 Javier Carmona Murillo

Algoritmos.

•  No todos los métodos de solución de un problema pueden ser


utilizados por un ordenador. Deben cumplir estos requisitos:
•  Debe estar compuesto de acciones bien definidas.
•  Debe estar formado por una secuencia finita de operaciones.
•  Debe acabar en un tiempo finito.
•  Un procedimiento o método de solución de un problema que
cumpla estos requisitos, se dice que es un algoritmo que resuelve ese
problema.

Un algoritmo es un procedimiento no ambiguo que resuelve un


problema, entendiéndose por procedimiento a la secuencia de
operaciones bien definidas, cada una de las cuales requiere una
cantidad finita de memoria y se realiza en un tiempo finito.

Curso 2011/2012 Javier Carmona Murillo


Algoritmos.
Ejemplo 1: Supóngase que se quiere explicar a alguien lo que debe
hacer para determinar si un número es par.

Forma 1:
Si el número se puede obtener sumando doses, es par. Si para construirlo
hay que sumar a uno cualquier secuencia de doses es impar.

•  Se entiende lo que quiere decir.


•  No es una secuencia de operaciones.
•  Presenta ambigüedad.

NO ES UN ALGORITMO

Curso 2011/2012 Javier Carmona Murillo

Algoritmos.
Forma 2:
1.  Leer N
2.  Si N = 2 entonces Escribe «es par»
3.  Si N = 1 entonces Escribe «es impar»
4.  N = N – 2
5.  Si N > 0 ir a 2
6.  Fin

•  Es una secuencia de operaciones.


•  Las operaciones no son ambiguas.
•  Para cualquier dato de entrada, finaliza en un tiempo finito.

SÍ ES UN ALGORITMO

Curso 2011/2012 Javier Carmona Murillo


Algoritmos.

•  Para resolver un mismo problema, se pueden definir infinidad de


algoritmos.
•  Interesa que el algoritmo sea «bueno».
•  La bondad de un algoritmo se mide por dos factores:
•  El tiempo que se necesita para ejecutarlo.
•  No se mide el tiempo real, sino instrucciones de cada tipo
necesarias para resolver el problema.
•  En general, aumenta en relación con el tamaño del
problema.
•  Los recursos que se necesitan para implantar el algoritmo. En
el caso de ejecutarse mediante un ordenador:
•  Memoria principal para almacenar datos e instrucciones.
•  Memoria auxiliar para almacenar datos auxiliares.
•  El diseño de algoritmos es una tarea compleja, sólo pueden darse
normas generales y herramientas para ayudar a confeccionarlos.
Curso 2011/2012 Javier Carmona Murillo

Algoritmos.
Forma 3:
El problema planteado se puede resolver de forma más simple,
observando que los números pares son iguales al doble de la parte
entera de su mitad.
1.  Leer N
2.  M = 2 * int(N / 2) (*int es la función parte entera*)
3.  Si M = N entonces Escribe «es par»
4.  Si_no Escribe «es impar»

SÍ ES UN ALGORITMO

• En la Forma 2 del algoritmo se necesitan (N+1)/2 iteraciones para


determinar si un número N es par. El tiempo aumenta con la magnitud
del número.
• En este ejemplo, el tiempo de resolución es constante, no depende
de la magnitud del número introducido.
Curso 2011/2012 Javier Carmona Murillo
Representación de Algoritmos.

•  Métodos para representar algoritmos:


•  Pseudocódigo: Lenguaje de descripción de algoritmos.

•  Organigramas o diagramas de flujo: Representación


mediante gráficas o diagramas.

•  Diagramas de Nassi-Schneiderman (diagramas N-S):


Representación mediante gráficas o diagramas.
Curso 2011/2012 Javier Carmona Murillo

Algoritmos.

Pseudocódigo
•  El objetivo es la descripción de algoritmos mediante secuencias de
instrucciones, pero en ningún caso escribir un programa para que
sea ejecutado por un ordenador.
•  Ventajas:
•  Compacto.
•  Fácil de escribir.
•  Fácil de transcribir a un lenguaje de programación.

Leer N
Mientras N > 2 Repetir N = N – 2
Si N = 2 Entonces Escribe «es par»
Si no Escribe «es impar»
Fin

Curso 2011/2012 Javier Carmona Murillo


Algoritmos.

Organigramas
•  Son herramientas gráficas para representar algoritmos. Están
compuestos por una serie de símbolos unidos por flechas.
•  Los símbolos representan acciones, y las flechas el orden de
realización de las acciones.
•  Cada símbolo, tendrá al menos una flecha que conduzca a él y otra
que parta de él.
•  Cada símbolo usado representa una acción distinta.
•  Hay símbolos específicos para representar las siguientes acciones:
•  Asignación.
•  Lectura/escritura.
•  Llamada a subrutina.
•  Ciclo
•  Decisión.
•  Comienzo y fin.
Curso 2011/2012 Javier Carmona Murillo

Algoritmos.
Ejemplo de organigrama:

No Sí
N=2

Escribe
No Sí
N=1 «Par»

N=N-2 Escribe
«Impar»

Curso 2011/2012 Javier Carmona Murillo


Algoritmos.
Símbolos usados habitualmente para confeccionar organigramas:

X=X+4 No Sí Leer x
I=K+1

ASIGNACIÓN DECISIÓN ENTRADA O


SALIDA

Mod (A,B) Repetir Para


I=1 Hasta 20 C
F
ACCIONES A
LLAMADA A COMIENZO FIN
REPETIR
PROCEDIMIENTO
CICLO

Curso 2011/2012 Javier Carmona Murillo

Acciones y estructuras de control.

•  Elementos que pueden utilizarse en la descripción de un algoritmo o


de un programa, que son suficientes para resolver cualquier
problema:
•  Acciones: Asignaciones y entradas/salidas.
•  Estructuras de control: Decisiones y ciclos.
•  Procecimientos.

ASIGNACIONES (Acción)
•  Una asignación consiste en la evaluación de una expresión y en el
almacenamiento de su valor en una variable. Se ejecutan siempre
secuencialmente. Siempre implica una transferencia (movimiento)
de datos en memoria. A veces, pueden incluir operaciones
aritméticas, lógicas.

Curso 2011/2012 Javier Carmona Murillo


Acciones y estructuras de control.

ENTRADAS/SALIDAS (Acción)
•  Estas operaciones se utilizan para que el algoritmo intercambie
información con un medio externo.
•  Operación entrada o lectura: El algoritmo asigna a una
variable un valor almacenado en una memoria auxiliar o
generado por un periférico.
•  Operación salida o escritura: El algoritmo transfiere a un
dispositivo o memoria auxiliar, o a un periférico, el valor de
una variable.
•  Se ejecutan secuencialmente.

Curso 2011/2012 Javier Carmona Murillo

Acciones y estructuras de control.

DECISIONES (Estructura de control)


•  Son acciones de control de flujo.
•  Permiten modificar el orden en el que se realizan otras acciones.
•  Poseen siempre un argumento, que normalmente debe ser una
expresión lógica.
•  Permiten bifurcar el flujo de acciones en dos caminos distintos.

CICLOS (Estructura de control)


•  Son estructuras de control que indican la repetición de un segmento
de programa.
•  Puede ser repetitivo, el segmento se repite un número fijo de veces.
•  Existe una variable de control del ciclo a la que automáticamente se
le asignan valores sucesivos durante la ejecución del ciclo.
•  Se debe especificar el valor inicial y final del contador del ciclo y el
incremento a aplicar en cada iteración, si es distinto a 1.
Curso 2011/2012 Javier Carmona Murillo
Acciones y estructuras de control.

PROCEDIMIENTOS (Subrutina, subprograma)


•  Es un fragmento del programa que realiza una tarea concreta y
recibe un nombre por el que puede ser llamado desde otra parte
del programa.
•  Puede tener una serie de variables de comunicación, llamadas
argumentos. Permiten el paso de información entre el programa y el
procedimiento.
•  El uso de procedimientos:
•  Evita la duplicación de grupos de sentencias en diferentes
partes del programa.
•  Facilita la construcción y comprensión de los programas

Curso 2011/2012 Javier Carmona Murillo

Ejercicios de pseudocódigo.
Ejercicio 1: Imprimir los números del 100 al 0.

c = 100
Mientras c <= 0 Repetir
Escribir c
c=c–1
FinMientras

Ejercicio 2: Imprimir los números pares del 0 al 100.

c =2
Mientras c <= 100 Repetir
Escribir c
c=c+2
FinMientras

Curso 2011/2012 Javier Carmona Murillo


Ejercicio 3: Imprimir el porcentaje descontado en una compra,
introduciendo por teclado el precio de la tarifa y el precio pagado.

Escribir «Introducir la tarifa: «


Leer tarifa
Escribir «Introducir el precio pagado: «
Leer precio
dto = tarifa - precio
Porcentaje_dto = dto * 100 / tarifa
Escribir porcentaje_dto

Ejercicio 4: Introducir por teclado dos números enteros y mostrar su


suma, resta, multiplicación y división.

Escribir «Introduce número 1: «


Leer num1
Escribir «Introduce número 2: «
Leer num2
Escribir “n1 + n2 = “, num1+num2
Escribir “n1 - n2 = “, num1-num2
Escribir “n1 * n2 = “, num1*num2
Escribir “n1 / n2 = “, num1/num2
Curso 2011/2012 Javier Carmona Murillo

Ejercicio 5: Sumar los 100 primeros números.

c=1
suma = 0
Mientras c<= 100 Repetir
suma = suma + c
c=c+1
FinMientras
Escribir «La suma de los 100 primeros números es: », suma

Curso 2011/2012 Javier Carmona Murillo


Ejercicio 6: Imprimir en pantalla todos los números naturales que hay
desde la unidad hasta un número introducido por teclado.

i=1
n=0
Escribir «Introduce un número: »
Leer n
Mientras i<n Repetir
i=i+1
Escribir i
FinMientras

Curso 2011/2012 Javier Carmona Murillo

Ejercicio 7: Imprimir en pantalla si un número introducido por teclado


es positivo o negativo.

num = 0
Escribir «Introduce un número: »
Leer num
Si num >=0 Entonces
Escribir «Es positivo»
Si No
Escribir «Es negativo»

Curso 2011/2012 Javier Carmona Murillo


Ejercicio 8: De los números del 1 al 100, calcular la suma de todos los
pares por un lado, y por otro la de todos los impares.
Imprimir por pantalla ambas sumas.
1

i=1
SumaPar = 0
SumaImpar = 0
Mientras i<=100 Repetir
Si i = int(i/2)*2 Entonces
SumaPar = SumaPar + i
Si No
SumaImpar = SumaImpar + i
FinSi
i=i+1
FinMientras
Escribir «La suma de los pares es: », SumaPar
Escribir «La suma de los impares es: », SumaImpar

Curso 2011/2012 Javier Carmona Murillo

Ejercicio 9: Suponiendo que una paella se puede cocinar


exclusivamente con arroz y gambas, y que para cada cuatro
personas se utiliza medio kilo de arroz y un cuarto de kilo de gambas,
1 escribir un algoritmo que pida por pantalla el número de comensales
para la paella, el precio por kilo de los ingredientes y muestre las
cantidades de los ingredientes necesarios y el coste de la misma.

Escribir «Introducir el número de comensales: «


Leer comensales
Escribir «Introducir el precio del kilo de arroz: «
Leer precio_arroz
Escribir «Introducir el precio del kilo de gambas: «
Leer precio_gambas
cant_arroz = comensales * 0.5/4
cant_gambas = comensales * 0.25/4
coste_arroz = cant_arroz * precio_arroz
coste_gambas = cant_gambas * precio_gambas
coste_total = coste_arroz + coste_gambas
Escribir «La cantidad de arroz necesaria es: «, cant_arroz
Escribir «La cantidad de gambas necesaria es: «, cant_gambas
Escribir «El coste del arroz es: «, coste_arroz
Escribir «El coste de las gambas es: «, coste_gambas
Escribir «El coste total de la paella es: «, coste_total

Curso 2011/2012 Javier Carmona Murillo


Proceso de creación de un programa.

•  Un programa es la transcripción de un algoritmo a un lenguaje de


programación.
•  Para poder crear un programa se han de seguir los siguientes pasos:
•  Realizar el planteamiento del problema:
•  Resultados a obtener.
•  Qué valores pueden tomar los datos.
•  Relaciones entre los datos.
•  Seleccionar las estructuras de datos que se van a usar, es
decir, representación de los datos.
•  Diseñar un algoritmo que resuelva el problema. Para diseñar
algoritmos complejos se puede seguir un proceso de diseño
descendente.
•  Comprobación y optimización de algoritmos. Comprobar
que es correcto y que realiza las operaciones que se desean.

Curso 2011/2012 Javier Carmona Murillo

Proceso de creación de un programa.

DISEÑO DESCENDENTE
• Es una técnica natural de desarrollo de algoritmos.
• Consiste en descomponer el problema en otros más simples.
• Estos problemas simples se vuelven a descomponer hasta llegar a
problemas suficientemente pequeños como para ser resueltos
directamente.

Curso 2011/2012 Javier Carmona Murillo


Ejercicios de creación de programas.
Ejercicio 1: Dado un número introducido por teclado, decir si es par o
impar.

PROGRAMA: NUMERO_PAR_IMPAR
INICIO
Variables
N, M: Números enteros
Algoritmo
Escribir «Introducir un número: «
Leer N
M = 2 * int(N / 2)
Si M = N entonces Escribe «es par»
Si_no Escribe «es impar»
FIN

Curso 2011/2012 Javier Carmona Murillo

Ejercicios de creación de programas.


Ejercicio 2: Imprimir los números del 100 al 0.

PROGRAMA: Imprimir_Números
INICIO
Variables
c: Número entero
Algoritmo
c = 100
Mientras c <= 0 Repetir
Escribir c
c=c–1
FinMientras
FIN

Curso 2011/2012 Javier Carmona Murillo


Ejercicios de creación de programas.
Ejercicio 3: Imprimir los números pares del 0 al 100.

PROGRAMA: IMPRIMIR_NUMEROS_PARES
INICIO
Variables
c: Número entero
Algoritmo
c=0
Mientras c <= 100 Repetir
Escribir c
c=c+2
FinMientras
FIN

Curso 2011/2012 Javier Carmona Murillo

Ejercicio 4: Imprimir el porcentaje descontado en una compra,


introduciendo por teclado el precio de la tarifa y el precio
pagado.

PROGRAMA: PORCENTAJE_DESCONTADO
INICIO
Variables
tarifa, precio: Números enteros
Algoritmo
Escribir «Introducir la tarifa: «
Leer tarifa
Escribir «Introducir el precio pagado: «
Leer precio
dto = tarifa - precio
Porcentaje_dto = dto * 100 / tarifa
Escribir porcentaje_dto
FIN

Curso 2011/2012 Javier Carmona Murillo


Ejercicio 5: Introducir por teclado dos números enteros y mostrar su
suma, resta, multiplicación y división.

PROGRAMA: OPERACIONES_ARITMETICAS
INICIO
Variables
num1, num2: Números enteros
Algoritmo
Escribir «Introduce número 1: «
Leer num1
Escribir «Introduce número 2: «
Leer num2
Escribir “n1 + n2 = “, num1+num2
Escribir “n1 - n2 = “, num1-num2
Escribir “n1 * n2 = “, num1*num2
Escribir “n1 / n2 = “, num1/num2
FIN

Curso 2011/2012 Javier Carmona Murillo

Ejercicio 6: Sumar los 100 primeros números.

PROGRAMA: SUMAR_100_NUMEROS
INICIO
Variables
c, suma: Números enteros
Algoritmo
c=1
suma = 0
Mientras c<= 100 Repetir
suma = suma + c
c=c+1
FinMientras
Escribir «La suma de los 100 primeros números es: », suma
FIN

Curso 2011/2012 Javier Carmona Murillo


Ejercicio 7: Imprimir en pantalla todos los números naturales que hay
desde la unidad hasta un número introducido por teclado.

PROGRAMA: NUMEROS_NATURALES
INICIO
Variables
i, n: Números enteros
Algoritmo
i=1
n=0
Escribir «Introduce un número: »
Leer n
Mientras i<n Repetir
i=i+1
Escribir i
FinMientras
FIN

Curso 2011/2012 Javier Carmona Murillo

Ejercicio 8: Imprimir en pantalla si un número introducido por teclado


es positivo o negativo.

PROGRAMA: POSITIVO_NEGATIVO
INICIO
Variables
num: Número entero
Algoritmo
num = 0
Escribir «Introduce un número: »
Leer num
Si num >=0 Entonces
Escribir «Es positivo»
Si No
Escribir «Es negativo»
FIN

Curso 2011/2012 Javier Carmona Murillo


Ejercicio 9: De los números del 1 al 100, calcular la suma de todos los
pares por un lado, y por otro la de todos los impares.
Imprimir por pantalla ambas sumas.
1
PROGRAMA: SUMAR_PARES_IMPARES
INICIO
Variables
i, SumaPar, SumaImpar: Números enteros
Algoritmo
i=1
SumaPar = 0
SumaImpar = 0
Mientras i<=100 Repetir
Si i = int(i/2)*2 Entonces
SumaPar = SumaPar + i
Si No
SumaImpar = SumaImpar + i
FinSi
i=i+1
FinMientras
Escribir «La suma de los pares es: », SumaPar
Escribir «La suma de los impares es: », SumaImpar
FIN
Curso 2011/2012 Javier Carmona Murillo

Ejercicio 10: Suponiendo que una paella se puede cocinar exclusivamente con
arroz y gambas, y que para cada cuatro personas se utiliza medio kilo de arroz y
un cuarto de kilo de gambas, escribir un algoritmo que pida por pantalla el
número de comensales para la paella, el precio por kilo de los ingredientes y
1 muestre las cantidades de los ingredientes necesarios y el coste de la misma.
PROGRAMA: PAELLA

INICIO
Variables
comensales: Número entero
precio_arroz, precio_gambas, cant_arroz, cant_gambas: Números reales
coste_arroz, coste_gambas : Números reales
Algoritmo
Escribir «Introducir el número de comensales: «
Leer comensales
Escribir «Introducir el precio del kilo de arroz: «
Leer precio_arroz
Escribir «Introducir el precio del kilo de gambas: «
Leer precio_gambas
cant_arroz = comensales * 0.5/4
cant_gambas = comensales * 0.25/4
coste_arroz = cant_arroz * precio_arroz
coste_gambas = cant_gambas * precio_gambas
coste_total = coste_arroz + coste_gambas
Escribir «La cantidad de arroz necesaria es: «, cant_arroz
Escribir «La cantidad de gambas necesaria es: «, cant_gambas
Escribir «El coste del arroz es: «, coste_arroz
Escribir «El coste de las gambas es: «, coste_gambas
Escribir «El coste total de la paella es: «, coste_total
FIN
Curso 2011/2012 Javier Carmona Murillo

También podría gustarte