Autor
|
Tema: Pasar a c (Leído 3,829 veces)
|
Dumy
Desconectado
Mensajes: 25
|
Hola Estoy intentando codifixar a a C este pseudocodigo, ¿Alguien puede indicarme algunos conceptos como cadena?, no estoy seguro a si se refiere a array var num, divisor1, divisor2, divisor3: entero; fvar
num := leerEntero( );
mientras (num ≠ -1) hacer buscadivisor1(num, divisor1, divisor2,divisor3);
si loEs(num, divisor1, divisor2,divisor3) entonces printaExito(num, divisor1, divisor2,divisor3
sino printaFracaso(num);
fsi
num := leerEntero( );
fmientras
falgoritmo
accion printaExito( ent a: entero, ent b: entero, ent c: entero, ent d: entero )
escribirCadena(‘El número: ‘); escribirEntero(a);
escribirCadena(‘ es igual a ‘);
escribirEntero(b);
escribirCadena(‘ multiplicado por ‘);
escribirEntero(c);
escribirCadena(‘ y por ‘);
escribirEntero(d);
fsi
faccion
accion printaFracaso(ent a: entero) escribirCadena(‘El número: ‘); escribirEntero(a); escribirCadena(‘ no tiene divisores diferentes de 1 que multiplicados sean igual a el. ‘); faccion
funcion loEs(ent x: entero,ent y:entero,ent z: entero, ent w: entero): booleano;
retorna x = (y * z * w); ffuncion
accion buscadivisor1(ent n: entero, sal d1: entero, sal d2: entero, sal d3: entero ) var
encontrado: booleano; fvar
encontrado:=falso;
d1:=2;
d2:=2;
d3:=2;
mientras d1<=(n div 2) y no encontrado hacer buscadivisor2 (n,d1,d2,d3); encontrado:= loEs (n,d1,d2,d3);
si no encontrado entonces
d1:=d1+1;
fsi fmientras faccion accion buscadivisor2( ent num: entero, ent d1: entero, sal d2: entero, sal d3: entero )
var
encontrado: booleano; fvar
encontrado:=falso;
d2:=2;
d3:=2;
mientras d2 <= (num div 2) y no encontrado hacer buscadivisor3(num,d1,d2,d3);
encontrado:= loEs (num,d1,d2,d3); si no encontrado entonces d2:=d2+1; fsi fmientras faccion
accion buscadivisor3( ent num: entero, ent d1: entero, sal d2: entero, sal d3: entero )
var
encontrado: booleano; fvar
encontrado:=falso;
d3:=2;
mientras d3 <= (num div 2) y no encontrado hacer
encontrado:= loEs (num,d1,d2,d3); si no encontrado entonces d3:=d3+1; fsi fmientras faccion
¿Por otro lado alguien sabe de algun codificador a C?
|
|
« Última modificación: 16 Noviembre 2023, 08:12 am por fary »
|
En línea
|
|
|
|
.xAk.
Desconectado
Mensajes: 397
F0r3v3R NeWbI3
|
Estoy intentando codifixar a a C este pseudocodigo bien, estoy seguro que ya tienes el nombre de archivo y me gustaría ver cómo lo inicias. , ¿Alguien puede indicarme algunos conceptos como cadena?, no estoy seguro a si se refiere a array puedes verlo así, se trata de un carácter (8 bits), y uno al lado de otro hacen la cadena que llamas array. ¿Por otro lado alguien sabe de algun codificador a C? ¿perdón? puedes explicarlo un poco mejor. Muestranos tus progresos.
|
|
|
En línea
|
|
|
|
Atika
Desconectado
Mensajes: 6
|
Creo que esto es lo más parecido a lo que tu quieres en C: #include <stdio.h> #include <stdbool.h> void printaExito(int a, int b, int c, int d) { printf("El número: %d es igual a %d multiplicado por %d y por %d\n", a , b , c , d ); } void printaFracaso(int a) { printf("El número: %d no tiene divisores diferentes de 1 que multiplicados sean igual a él.\n", a ); } bool loEs(int x, int y, int z, int w) { return x == (y * z * w); } void buscadivisor1(int n, int *d1, int *d2, int *d3) { bool encontrado = false; *d1 = 2; *d2 = 2; *d3 = 2; while (*d1 <= (n / 2) && !encontrado) { // Lógica para buscadivisor2 encontrado = loEs(n, *d1, *d2, *d3); if (!encontrado) { (*d1)++; } } } void buscadivisor2(int num, int d1, int *d2, int *d3) { bool encontrado = false; *d2 = 2; *d3 = 2; while (*d2 <= (num / 2) && !encontrado) { // Lógica para buscadivisor3 encontrado = loEs(num, d1, *d2, *d3); if (!encontrado) { (*d2)++; } } } void buscadivisor3(int num, int d1, int d2, int *d3) { bool encontrado = false; *d3 = 2; while (*d3 <= (num / 2) && !encontrado) { encontrado = loEs(num, d1, d2, *d3); if (!encontrado) { (*d3)++; } } } int main() { int num, divisor1, divisor2, divisor3; printf("Ingrese un número (-1 para salir): "); while (num != -1) { buscadivisor1(num, &divisor1, &divisor2, &divisor3); if (loEs(num, divisor1, divisor2, divisor3)) { printaExito(num, divisor1, divisor2, divisor3); } else { printaFracaso(num); } printf("Ingrese un número (-1 para salir): "); } return 0; }
MOD: Etiqueta GeSHi
|
|
« Última modificación: 12 Diciembre 2023, 01:07 am por MCKSys Argentina »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
Atika: por favor no hagas tareas ajenas, maxime cuando el usuario no lo pide ("¿Alguien puede indicarme algunos conceptos como cadena?"). Dumy: https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Cadenas_de_caracteres
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
pasar vqf a mp3
Multimedia
|
Cobac
|
3
|
2,808
|
24 Septiembre 2004, 05:51 am
por Songoku
|
|
|
Pasar de swf a mpg, avi o wmv
Multimedia
|
jorge23es
|
3
|
2,320
|
29 Septiembre 2004, 08:05 am
por Songoku
|
|
|
pasar avi mpg
Multimedia
|
TRON1
|
2
|
2,167
|
18 Diciembre 2004, 10:17 am
por Songoku
|
|
|
Pasar avi a dvd ?? xD
Multimedia
|
no_manzana
|
1
|
1,514
|
13 Febrero 2006, 07:44 am
por Sourraund
|
|
|
Pasar de C# a C++ CLR.
.NET (C#, VB.NET, ASP)
|
Meta
|
0
|
2,138
|
8 Febrero 2016, 13:14 pm
por Meta
|
|