Algoritmo 'Ejerc1'
[con el mètodo de restas sucesivas]
var
Entero: a, b
Inicio
escribir 'INGRESE DOS Nº NATURALES'
leer a, b
mientras a <> b
si a > b entonces
a < -- a – b
sino
b < -- b - a
finsi
fin mientras.
Escribir ‘EL MCD ES: ‘ a
fin
2. Calcular y mostrar la división entera de dos números enteros mediante restas sucesivas.
Algoritmo 'Ejerc02' [ ]
var
Entero: a, b, Res
Inicio
escribi 'INGRESE DIVIDENDO Y DIVISOR'
leer a, b
Si a > b entonces
Res = 0
Mientras a >= b
Res < -- Res + 1
a < -- a - b
fin mientras
escribir ‘ EL REsulTADO ES: ‘ Res
sino
escribir 'LA DIVISiON NO ES POSIBLE coN EsTE METODO'
fin si
Fin
6. Se tienen registros con los datos de los estudiantes de una universidad: código del estudiante, nombre y apellido, valor por materia, número de materias a matricular, valor del recargo por matrícula Se requiere leer los registros (suponga un código de 0 como condición de terminación) e imprimir un listado con la siguiente información por estudiante: código, nombre y apellido, valor por materia, número de materias, valor del recargo, total matricula; al final se debe mostrar el total a recibir por matrículas y el número total de estudiantes matriculados.
Algoritmo 'Ejerc06'
[ ]
var
Entero: TotalAlumnos, Cantidad, Codigo
Real: TotalMatriculas, Valor, Recargo
Cadena: ApeYNom
Inicio
TotalAlumnos = 0
TotalMatriculas = 0
Escribir ‘BIENVENIDO AL REGISTRO DE ESTUDIANTES’
Escribir ‘Configuraciòn: - Ingrese Valor por materia: $ ‘, leer Valor
Escribir ‘ - Recargo $ ‘, leer Recargo
Repetir
Escribir ‘Ingrese còdigo: ‘, Leer Codigo
si Codigo <> 0 entonces
Escribir ‘Apellido y Nombre: ‘, Leer ApeYNom
Escribir ‘Cantidad de materias: ‘, Leer Cantidad
Escribir ‘ALUMNO: ‘ ApeYNom , ‘CODIGO: ‘ Codigo
Escribir ‘Cantidad de Materias: ' Cantidad
Escribir ‘Total de matrìcula del alumno: ‘ Cantidad * Valor
Escribir ‘Total Recargos:’ Cantidad * Valor + Recargo
TotalAlumnos = TotalAlumnos + 1
TotalMatriculas = TotalMatriculas + Cantidad * Valor
Finsi
Hasta que Codigo = 0
Escribir ‘TOTAL DE ALUMNOS MATRICuLADOS: ‘ TotalAlumnos
Escribir ‘MONTO TOTAL DE MATRICULAS: ‘ TotalMatriculas
Finsi
Profe le dejo el punto 8 y 9 del trabajo practico numero 9 en este link:
ResponderEliminarhttp://hotfile.com/dl/116603937/64a9351/TPN4.rar.html
Mi DNI:36226244
Hola aqui dejo el punto 3 del practico 4 con la estructura para
ResponderEliminarProceso TP4E3A
Escribir "INGRESE UN NUMERO"
Leer N
fact<-1
Para I<-2 Hasta N Hacer
fact<-fact*I
FinPara
Escribir "El factorial de ",N," es: ",fact
FinProceso
este es el ejercicio 6 con un mientras
ResponderEliminarinicio
cod<-0;
NyA<-"";
VMat<-0;
NMat<-0;
VRec<-0;
total<-0;
cont<-0
total2<-0
Escribir "Ingrese los datos del estudiante:";
Escribir "0 para salir"
Leer cod;
Mientras (cod<>0) Hacer
cont<-cont+1
Escribir "Nombre y Apellido";
Leer NyA;
Escribir "Valor por Materia";
Leer VMat;
Escribir "Numero de Materias:";
Leer NMat;
Escribir "Valor por Recargo:";
Leer VRec
total<-VMat*NMat+VRec;
total2<-total+total2
Escribir "codigo del estudiante " ,cod
escribir "nombre y apellido del alumno " ,NyA
escribir "valor por materia " ,VMat
escribir "numero de materias ",NMat
escribir "recargo por materias ", VRec
Escribir "Ingrese los datos del estudiante";
Escribir "codigo"
Leer cod
FinMientras
escribir " monto total x matriculas ", total2
escribir " total de alumnos matriculados ",cont
Fin
hola!es posible que me digan como resolver el ejercicio doce del tp nº 4 y el punto 1 del tp nº5 , no entiendo como es lo de numero primos!!!muchas gracias
ResponderEliminarhola te dejo el punto 12 del tpn4 y el 1ºpunto del tpn5
ResponderEliminarProceso TPN4E12
BAND<- Falso
I<-2
Repetir
ESCRIBIR "ESCRIBIR INGRESE UN NUMERO POSITIVO"
LEER N
Hasta Que N>0
Mientras I<N Y NO BAND
SI (N MOD I) =0 Entonces
BAND<- Verdadero
FinSi
I<-I+1
FINMientras
SI BAND Entonces
ESCRIBIR "NO ES PRIMO"
Sino
ESCRIBIR "ES PRIMO"
FinSi
FinProceso
Proceso TPN5E1
ResponderEliminarCP<-0
CI<-0
I<-2
CNNP<-0
NOPRIMO<-Falso
Repetir
Escribir "INGRESE UN NUMERO"
LEER N
Si (N MOD 2)=0 Entonces
CP<-CP+1
Sino
CI<-CI+1
FinSi
Mientras I<N Hacer
Si N MOD I =0 Entonces
NOPRIMO<-VERDADERO
FinSi
I<-I+1
FinMientras
SI NOPRIMO=Verdadero ENTONCES
CNNP<-CNNP+1
Sino
CNP<-CNP+1
FinSi
ESCRIBIR "CONTINUA ? PARA SALIR DE LA APLICACION PRESIONE 2 "
LEER R
Hasta Que R=2
ESCRIBIR "TOTAL DE NUMEROS PARES " ,CP
ESCRIBIR "TOTAL DE NUMEROS IMPARES" ,CI
Escribir "TOTAL DE NUMEROS PRIMOS" ,CNP
Escribir "TOTAL DE NUMEROS NO PRIMOS", CNNP
FinProceso
Juego del Nim. Algoritmo para Pseint.
ResponderEliminarProceso Juego_del_Nim
Escribir "Ingrese cantidad de fosforos:";
leer num;
si num<=4 Entonces
Repetir
Escribir "Debes ingresar una cantidad mayor a 4.";
Escribir "Vuelve a ingresar:";
Leer num;
Hasta Que num>4
FinSi
Escribir "Comienza usted?(si/no):";
Leer resp;
si (resp='si') o (resp='SI') Entonces
turno<-Verdadero;
Sino
turno<-Falso;
FinSi
mientras num<>1 Hacer
si turno=Falso Entonces
turno<-Verdadero;
si num mod 4=0 Entonces
num<-num-3;
Escribir "La computadora saca 3 fosforos.";
Escribir "";
Escribir "Quedan ",num," fosforos."
Sino
si (num mod 4=1) o (num mod 4=2) Entonces
num<-num-1;
Escribir "La computadora saca 1 fosforo";
Escribir "";
Escribir "Quedan ",num," fosforos";
Sino
si (num mod 4=3) Entonces
num<-num-2;
Escribir "La computadora saca 2 fosforos.";
Escribir "";
Escribir "Quedan ",num," fosforos.";
FinSi
FinSi
FinSi
Sino
si turno=Verdadero Entonces
turno<-Falso;
Escribir "Cuantos fosforos saca?";
Leer s;
si (s<=0) o (s>3) Entonces
Repetir
Escribir "Error, vuelve a ingresar:(Mayor que cero y menor o igual a 3)";
Leer s;
Hasta Que s>0 y s<=3;
FinSi
num<-num-s;
Escribir "Quedan ",num," fosforos.";
FinSi
FinSi
FinMientras
si turno=Verdadero Entonces
Escribir "Usted pierde.";
Sino
Escribir "Usted gana.";
FinSi
FinProceso
Les recomiendo que antes de ejecutarlo, seleccionen todo en pseint y aprieten el boton identado.
TPN 4. Ejercicio 10:
ResponderEliminarProceso Promedios
mayor<-0;
band<-Verdadero
cont<-0;
contp<-0;
Repetir
prom<-0;
Escribir "Ingresa nombre y apellido:";
Leer nom;
cont<-cont+1;
Escribir "Cuantas notas vas a ingresar?";
Leer notas;
Para i<-1 Hasta notas Con Paso 1 Hacer
Escribir "Ingrese nota ",i,":";
Leer not;
si not<0 Entonces
Repetir
Escribir "Ingreso erroneo, Vuelve a ingresar la nota:";
Leer not;
Hasta Que not>=0
FinSi
prom<-prom+not;
FinPara
promm<-(prom/notas);
contp<-contp+promm;
Escribir "Tu promedio es: ",promm;
si band Entonces
si mayor<promm Entonces
mayor<-promm;
primero<-nom;
band<-Falso
FinSi
Sino
si mayor<promm Entonces
mayo<-promm;
primero<-nom;
FinSi
FinSi
Escribir "Hay mas alumnos?(si/no)";
Leer resp;
Hasta Que resp='no'
Escribir "El promedio del curso es: ",(contp/cont);
Escribir "El mayor promedio es: ",mayor;
Escribir "Pertenece al alumno: ",primero;
Escribir "Total de alumnos: ",cont;
FinProceso
ejercicio nº4 del tpn6
ResponderEliminarProceso TPN6E4
R<-0.0820541
T<-300
V<-0
A1<-3.592
A2<-1.360
A3<-1.390
A4<-5.464
B1<-0.04267
B2<-0.03183
B3<-0.03912
B4<-0.03040
ESCRIBIR "INGRESE TIPO DE GAS AL CUAL DESEA CALCULARLE EL VOLUMEN"
ESCRIBIR "1:DIOXIDO DE CARBONO"
ESCRIBIR "2:OXIGENO"
Escribir "3:NITROGENO"
ESCRIBIR "4:AGUA"
LEER G
Segun G Hacer
1:
EC<-P*V^3-(B1*P+R*T)*V^2+A1*V-A1*B1
MIENTRAS EC>=-0.001 Y EC<=0.001
V<-V+0.0000001
EC<-P*V^3-(B1*P+R*T)*V^2+A1*V-A1*B1
FinMientras
ESCRIBIR "EL VALOR DEL VOLUMEN ES ", V
2:
EC<-P*V^3-(B2*P+R*T)*V^2+A2*V-A2*B2
MIENTRAS EC>=-0.001) Y (EC<=0.001)
V<-V+0.0000001
EC<-P*V^3-(B2*P+R*T)*V^2+A2*V-A2*B2
FinMientras
ESCRIBIR "EL VALOR DEL VOLUMEN ES ", V
3:
EC<-P*V^3-(B3*P+R*T)*V^2+A3*V-A3*B3
MIENTRAS EC>=-0.001) Y (EC<=0.001)
V<-V+0.0000001
EC<-P*V^3-(B3*P+R*T)*V^2+A3*V-A3*B3
FinMientras
ESCRIBIR "EL VALOR DEL VOLUMEN ES ", V
4:
EC<-P*V^3-(B4*P+R*T)*V^2+A4*V-A4*B4
MIENTRAS EC>=-0.001) Y (EC<=0.001)
V<-V+0.0000001
EC<-P*V^3-(B4*P+R*T)*V^2+A4*V-A4*B4
FinMientras
ESCRIBIR "EL VALOR DEL VOLUMEN ES ", V
De Otro Modo:
ESCRIBIR "ERROR OPCION INCORRECTA"
FinSegun
FinProceso
Hola dejo un ejemplo en Pascal utilizando procedimientos y funciones del TPNº8
ResponderEliminarProgram project1;
uses
Crt;
var
num,opc,borr:integer;
resp: string;
Function Primo(x:integer):boolean;
var
i,cont:integer;
prim:boolean;
begin
prim:=true;
cont:=0;
if x<0 then
x:=(x*-1);
if x=0 then
prim:=not(prim);
for i:=2 to (x-1) do
if x mod i=0 then
cont:=(cont+1);
if cont<>0 then
prim:=not(prim);
Primo:=prim;
end;
Procedure Bienvenida;
var
nom:string;
begin
writeln ('Escribe Tu Nombre: ');
readln (nom);
writeln;
writeln ('Bienvenido ',nom,'.');
end;
Procedure Menu(var x:integer);
begin
writeln;
writeln ('Ingresa una opcion:');
writeln;
writeln ('1- Calcular si el numero ingresado es Primo.');
writeln ('2- Calcular Factorial del numero ingresado.');
writeln;
readln (x);
if (x<>1) and (x<>2) then
repeat
writeln;
writeln ('Ingreso Erroneo. Vuelve a ingresar:');
readln (x);
until (x=2) or (x=1);
end;
Function Facto(x:integer):integer;
var
i,f:integer;
begin
if x<0 then
x:=x*-1;
f:=1;
for i:=1 to x do
f:=f*i;
Facto:=f;
end;
begin
borr:=0;
Bienvenida;
repeat
if borr<>0 then
ClrScr;
opc:=0;
Menu(opc);
case opc of
1:Begin
writeln;
writeln ('Ingresa un Numero:');
readln (num);
if Primo(num) then
writeln('El numero ',num,' si es Primo')
else
writeln('El numero ',num,' no es Primo');
end;
2: Begin
writeln;
writeln ('Ingresa un Numero Natural: ') ;
readln (num);
writeln;
writeln ('El factorial es: ',Facto(num));
end;
end;
writeln;
writeln ('Finalizar? (si/no)');
readln (resp);
borr:=1;
until (resp='si') ;
end.
Hola Dejo un algoritmo para pseint con vectores.
ResponderEliminarProceso Vectores
Dimension V[200];
Escribir "";
Escribir "Ingresa la cantidad de datos:";
Leer n;
Para i<-1 Hasta n Hacer
Escribir "";
Escribir "Ingresa el dato ",i,":";
Leer V[i];
FinPara
Repetir
Escribir "";
Escribir "Elegi una opcion: ";
Escribir "1- Buscar Numeros pares y Posicion.";
Escribir "2- Buscar Numeros Impares y Posicion.";
Escribir "3- Eliminar un dato.";
Escribir "4- Buscar Mayor y Posicion.";
Escribir "5- Mostrar datos.";
Escribir "6- Agregar datos.";
Escribir "7- Salir.";
Escribir "";
Leer opc;
Segun opc Hacer
1: Para i<-1 Hasta n Hacer
si V[i] mod 2=0 y V[i]<>0 Entonces
Escribir V[i]," en posicion: ",i;
FinSi
FinPara
2: Para i<-1 Hasta n Hacer
si V[i] mod 2<>0 Entonces
Escribir V[i]," en posicion: ",i;
FinSi
FinPara
3: Escribir "1- Dada la posicion."
Escribir "2- Dado el dato.";
Leer opcc;
Segun opcc Hacer
1: Escribir "Ingrese Posicion:"
Leer pos;
Para i<-pos Hasta n-1 Hacer
V[i]<-V[i+1];
FinPara
Escribir "Listo.";
n<-n-1;
2: Escribir "Ingrese dato:";
Leer dat;
Para i<-1 Hasta n Hacer
si V[i]=dat Entonces
pos<-i;
FinSi
FinPara
Para i<-pos Hasta n-1 Hacer
V[i]<-V[i+1];
FinPara
n<-n-1;
Escribir "Listo.";
de Otro Modo:
Escribir "Ingreso Erroneo.";
FinSegun
4: band<-Verdadero;
Para i<-1 Hasta n-1 Hacer
si band Entonces
si V[i]>V[i+1] Entonces
may<-V[i];
band<-no(band);
pos<-i;
Sino
may<-V[i+1];
band<-no(band);
pos<-i
FinSi
Sino
si V[i]>V[i+1] Entonces
may<-V[i];
pos<-i;
Sino
may<-V[i+1];
pos<-i
FinSi
FinSi
Escribir "El mayor es: ",may," en la posicion: ",pos;
FinPara
5: Para i<-1 Hasta n Hacer
Escribir "Posicion: ",i," dato: ",V[i];
FinPara
6: Escribir "Cuantos datos desea agregar:?";
Leer datos;
n<-n+1;
Para i<-n Hasta n+datos-1 Hacer
Escribir "Ingrese Dato ",(i-n+1);
Leer V[i];
FinPara
n<-n-1+datos;
Escribir "Listo.";
de Otro Modo:
si opc<>7 Entonces
Escribir "Ingreso Incorrecto.";
FinSi
FinSegun
Hasta Que opc=7
FinProceso