Está en la página 1de 12

FUNDAMENTOS DE PROGRAMACION

CAPITULO 2 METODOLOGIA DE PROGRAMCION Y DESARROLLO DE


SOFWARE
2.1 Diseñar una solución para resolver cada uno de los siguientes problemas y tratar de
refinar sus soluciones mediante algoritmos adecuados:
1. Realizar una llamada telefónica desde un teléfono público.
Inicio
Tomo el teléfono
Pongo el dinero o tarjeta
Marcar número
Esperar a que conteste
Fin

2. Cocinar una tortilla.


Inicio
    Pelar las papas
    Echar las papas en una olla con agua
    Echar sal a gusto
    Repetir
Esperar
      Hasta que las papas estén cocidas
    Vaciar el agua de la olla
    Sacar las papas a una cacerola
    Cortar las papas
    Sacar el huevo de la nevera
    Romper el huevo y botar las cáscaras
    Batir el huevo en un plato hondo
Encender el fuego
Poner la sartén
Repetir
Esperar
      Hasta que el aceite esté hirviendo
    Meter las papas en la sartén
    Esperar a que las papas estén doradas
    Verter los huevos en la sartén
Echar un poco de sal
Repetir
      Batir huevos y papas por ambos lados
      Hasta que la tortilla esté dorada
   Retirar la sartén
   Colocar la tortilla en un plato.
Fin
3. Arreglar un pinchazo de una bicicleta.
Variables
Parche
Pegamento
Proceso
Poner pegamento al parche
Colocar el parche en el pinchazo
Ponerle aire
Fin

4. Freír un huevo.
Variables
Huevo
Aceite
Estufa
Cazuela
Condimentos
Cucharas
Proceso
Inicio
Prender la estufa
Poner el aceite a la cazuela
Batir el huevo
Poner los condimentos
Echarlo a la cazuela
Cocinarlo al gusto
Fin

2.2Escribir un algoritmo para:


1. Sumar dos números enteros.
Proceso suma
definir numero1 como entero;
definir numero2 como entero;
definir m como entero;

Escribir "ingrese un numero";


Leer numero1;

Escribir "ingrese segundo numero" ;


Leer numero2;
m<-numero1+numero2;

Escribir "resultado es";


Escribir m;
Fin Proceso
2. Restar dos números enteros.
Proceso resta
definir numero1 como entero;
definir numero2 como entero;
definir m como entero;

Escribir "ingrese un numero";


Leer numero1;

Escribir "ingrese segundo


numero" ;
Leer numero2;
m<-numero1-numero2;
Escribir "resultado es";
Escribir m;
FinProceso
3. Multiplicar dos números enteros.
Proceso multiplicacion
definir numero1 como entero;
definir numero2 como entero;
definir m como entero;

Escribir "ingrese un numero";


Leer numero1;

Escribir "ingrese segundo numero" ;


Leer numero2;
m<-numero1*numero2;
Escribir "resultado es";
Escribir m;
FinProceso
4. Dividir un número entero por otro.
Proceso division
definir numerador como entero;
definir denominador como entero;
definir resultado como real ;
Escribir "insertar numerador";
leer numerador;

Escribir "insertar denominador";


Leer denominador;
Si denominador<>0 Entonces
resultado=numerador/denominador;
escribir "resultado de la
division es ",resultado;
Sino
escribir "indeterminada";
Fin Si

FinProceso
2.3 Escribir un algoritmo para determinar el máximo común divisor de dos números
enteros (MCD) por el algoritmo de Euclides:
 Dividir el mayor de los dos enteros positivos por el más pequeño.
 A continuación dividir el divisor por el resto.
 Continuar el proceso de dividir el último divisor por el último resto hasta que la
división sea exacta.
 El último divisor es el mcd.

Diagrama de flujo Pseudocódigo


Algoritmo mcd
escribir"ingresar m"
leer m;
escribir"ingresar l"
leer l;
Mientras a!=b Hacer
si m>l
A<-m-l
SiNo
B<-l-m
FinSi
Fin Mientras
C=m
Escribir "el mcd es" C;

FinAlgoritmo

2.5 Diseñar un algoritmo que visualice y sume la serie de números 3, 6, 9, 12…, 99


Algoritmo serie
definir suma,num Como Entero
suma=0
num=3
escribir num
mientras num<99
num=num+3
Escribir num
FinMientras
FinAlgoritmo
2.6 Escribir un algoritmo que lea cuatro números y a continuación visualice el mayor de
los cuatro.
Pseudocódigo
Algoritmo numero_mayor
a<-0;
a1<-0;
a2<-0;
a3<-0;
escribir"escribir cuatro numeros"
leer a,a1,a2,a3;
Si a>a1 & a>a2 & a>a3 Entonces
Escribir "el mayor es" a;
SiNo
Si a1>a & a1>a2 & a1>a3 Entonces
Escribir "el mator es" a1;
SiNo
Si a2>a & a2>a1 & a2>a3 Entonces
Escribir "el valor es" a2;
SiNo
Si a3>a & a3>a2 & a3>a1 Entonces
Escribir "el valor mayor es" a3;

FinSi

Fin Si
Fin Si
Fin Si
FinAlgoritmo
Diagrama de flujo
2.7 Diseñar un algoritmo que lea tres números y descubra si uno de ellos es la suma de
los otros dos.

Algoritmo suma_dos_numeros
escribir"introducir tres numeros"
leer a,b,c
Si a+b=c Entonces
escribir"los numeros cumplen la condicion"
Si a+c=b Entonces
escribir"los numeros cumplen la condicion"
Si c+b=a Entonces
Escribir "los numeros cumplen la condicion"
Fin Si

Fin Si
SiNo
escribir "los numeros no cumplen la condicion"
Fin Si
FinAlgoritmo

2.8 Diseñar un algoritmo para calcular la velocidad (en m/s) de los corredores de la
carrera de 1.500 metros. La entrada consistirá en parejas de números (minutos,
segundos) que dan el tiempo del corredor; por cada corredor, el algoritmo debe
visualizar el tiempo en minutos y segundos, así como la velocidad media.
Ejemplo de entrada de datos: (3,53) (3,40) (3,46) (3,52) (4,0) (0,0); el último par de
datos se utilizará como fin de entrada de datos.
2.9 Diseñar un algoritmo para determinar los números primos iguales o menores que N
(leído del teclado). (Un número primo sólo puede ser divisible por él mismo y por la
unidad.)

Algoritmo primo
definir n,i,d como enteros
d<-0

escribir “ingresar número"


leer n

Para i<-1 Hasta n Hacer


Si n MOD i=0 Entonces
d<-d+1

Fin Si
Fin Para

Si d=2 Entonces
escribir "es primo"
Sino
escribir "no es primo"
Fin Si

FinAlgoritmo
2.10 Escribir un algoritmo que calcule la superficie de un triángulo en función de la
base y la altura (S = 1/2 Base × Altura).
Diagrama de flujo Pseudocódigo
Algoritmo triangulo
Escribir "ingrese la base del
triangulo"
leer b;

escribir"ingrese la altura del


triangulo"
leer h;
a=b*h/2;

Escribir"respuesta es " a
finalgoritmo

2.11. Calcular y visualizar la longitud de la circunferencia y el área de un círculo de


radio dado.
Algoritmo circulo

escribir “digite el radio"


leer r;

a<-PI*r^2
l<-2*PI*r

escribir " el area del circulo es " a


escribir " la longitud del circulo es
"l

FinAlgoritmo

2.12 Escribir un algoritmo que encuentre el salario semanal de un trabajador, dada la


tarifa horaria y el número de horas trabajadas diariamente.
Algoritmo salario_trabajdor
Leer tarifas;
leer horas;
salario<-tarifas*horas;
Imprimir salario
FinAlgoritmo
2.13 Escribir un algoritmo que indique si una palabra leída del teclado es un
palíndromo. Un palíndromo (capicúa) es una palabra que se lee igual en ambos sentidos
como “radar”

Algoritmo palindromas
Escribir "ingrese la palabra"
leer palabraoriginal

Para i<-longitud(palabraoriginal) Hasta 0 Con Paso-1 Hacer


palabrainvertida<-palabrainvertida+Subcadena(palabraoriginal,i,i)

Fin Para

Limpiar Pantalla

Si palabrainvertida = palabraoriginal Entonces


escribir"la palabra es palindroma "
SiNo
escribir " la palabra no es palindroma "
Fin Si

Escribir "palabra original ",palabraoriginal


escribir "palabra volteada ",palabrainvertida
FinAlgoritmo
2.14 Escribir un algoritmo que cuente el número de ocurrencias de cada letra en una
palabra leída como entrada. Por ejemplo, "Mortimer" contiene dos "m", una "o", dos
"r", una "i", una "t" y una "e".
Funcion veces <- buscarcaracteres (cadena,letras )
definir cont como entero
Para i<-1 Hasta longitud(cadena) Con Paso 1 Hacer
Si (Subcadena(cadena,i,i)=letras) Entonces
cont=cont+1

Fin Si
Fin Para

veces=cont

Fin Funcion

Funcion separarletras(palabra)

definir size, veces como entero

size<-longitud(palabra)

Para i<-1 Hasta size Con Paso 1 Hacer


veces= buscarcaracteres(palabra,Subcadena( palabra,i,i ))
escribir"la letra", subcadena( palabra,i,i ), "esta ", veces, " veces en la
palabra ",palabra

Fin Para

FinFuncion

Algoritmo ocurrencia

definir cadena Como Caracter

Escribir "ingresar palabra"


leer cadena

separarletras(cadena)

FinAlgoritmo
2.15 Muchos bancos y cajas de ahorro calculan los intereses de las cantidades
depositadas por los clientes diariamente según las premisas siguientes. Un capital de
1.000 euros, con una tasa de interés del 6 por 100, renta un interés en un día de 0,06
multiplicado por 1.000 y dividido por 365. Esta operación producirá 0,16 euros de
interés y el capital acumulado será 1.000,16. El interés para el segundo día se calculará
multiplicando 0,06 por 1.000 y dividiendo el resultado por 365. Diseñar un algoritmo
que reciba tres entradas: el capital a depositar, la tasa de interés y la duración del
depósito en semanas, y calcular el capital total acumulado al final del período de tiempo
especificado.

También podría gustarte