• Jueves 28 de Marzo de 2024, 13:00

Autor Tema:  Programa Encuesta  (Leído 1706 veces)

ALCEST

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Programa Encuesta
« en: Miércoles 5 de Septiembre de 2007, 00:07 »
0
Hola

Bueno si alguien tiene tiempo y sugiere alguna mejora sera bienvenida, a continuación el enunciado del problema.

Un grupo de personas completan un cuestionario respondiendo si leen los diarios A, B o C. Realice un programa q informe cuantas personas leen sólo el diario A, cuantos leen los tres diarios, cuantos no leen diarios y cuantos no leen el diario A pero si algun otro.


Citar
program tp3ej1;
uses
        crt;
var
        op_a,op_b,op_c,opcion:char;
        leen_abc,solo_leen_a,no_leen,leen_solo_b_o_c:integer;
        bandera:boolean;
begin
    clrscr;
    leen_abc:=0;
    solo_leen_a:=0;
    no_leen:=0;
    leen_solo_b_o_c:=0;
    repeat
        clrscr;
        bandera:=false;
        repeat
             writeln('Usted lee el diario A ? (S/N): ');
             readln(op_a);
             op_a:=upcase(op_a);
             if op_a='S' then
                bandera:=true
             else
                if op_a='N' then
                  bandera:=true;
        until bandera;
        bandera:=false;
        repeat
             writeln('Usted lee el diario B ? (S/N): ');
             readln(op_b);
             op_b:=upcase(op_b);
             if op_b='S' then
                bandera:=true
             else
                if op_b='N' then
                  bandera:=true;
        until bandera;
        bandera:=false;
        repeat
             writeln('Usted lee el diario C ? (S/N): ');
             readln(op_c);
             op_c:=upcase(op_c);
             if op_c='S' then
                bandera:=true
             else
                if op_c='N' then
                  bandera:=true;
        until bandera;

        if op_a = 'S' then
          begin
           if op_b = 'S' then
             begin
              if op_c = 'S' then
                 leen_abc:=leen_abc+1
             end
           else
               if op_c = 'N' then
                  solo_leen_a:=solo_leen_a+1
          end
        else
           begin
            if op_b = 'N' then
              begin
               if op_c = 'N' then
                  no_leen:=no_leen+1
               else
                   leen_solo_b_o_c:=leen_solo_b_o_c+1
              end
            else
                leen_solo_b_o_c:=leen_solo_b_o_c+1
           end;

        writeln('Ingrese F para finalizar encuesta');
        writeln('Ingrese C para continuar encuesta');
        readln(opcion);
        opcion:=upcase(opcion);
    until opcion = 'F';
    clrscr;
    writeln(solo_leen_a,' personas sólo leen el diario A.');
    writeln(leen_abc,' personas leen los diarios A,B,C.');
    writeln(no_leen,' personas no leen ningún diario.');
    writeln(leen_solo_b_o_c,' personas leen los diarios B o C.');
    readln;
end.


:comp:

-DriverOp-

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Programa Encuesta
« Respuesta #1 en: Jueves 6 de Septiembre de 2007, 07:49 »
0

ALCEST

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Programa Encuesta
« Respuesta #2 en: Viernes 7 de Septiembre de 2007, 02:57 »
0
Cita de: "-DriverOp-"
Lee acá: http://foros.solocodigo.com/index.php?showtopic=26071
Ya leí y no se cual es el problema porque no estoy pidiendo que resuelvan el problema sino ver si a algien se le ocurre una mejor idea

chau

saludos!

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Programa Encuesta
« Respuesta #3 en: Viernes 7 de Septiembre de 2007, 21:52 »
0
Si compila, funciona, y hace lo que tiene que hacer es porque está bien. ;)

GsOiD

  • Miembro activo
  • **
  • Mensajes: 83
  • Nacionalidad: mx
    • Ver Perfil
Re: Programa Encuesta
« Respuesta #4 en: Sábado 8 de Septiembre de 2007, 08:52 »
0
Me imagino que quieres una especie de mejora en la lógica que maneja tu programa, y me temo que eso es cosa que tu debes hacer... así mejorarás tu razonamiento lógico =)