# data[].attributes.attachment_link.readable_text
Program teste_pascal;                             
uses CRT;                                                  
Var nome, produto: string;
    vendas,custos,balanco: array [1..2,1..4] of real;
    s,m: integer;
    menu:char;
    ts:real;
    tc:real;
    mnc:real;
    bt:real;
    mdb: real;
    
    
    
//Joana_Lemos

 Procedure empresa;
   Begin
    writeln ('qual o nome da empresa?');
    readln (nome);
    writeln ('qual o produto que comercializa?');
    readln (produto);
    writeln ('A empresa � ' , nome, 'e comercializa ', produto ,'.');
   End;
 Procedure vendas_semanais;  
     
    Begin
     For m:=1 to 2 do
      For s:=1 to 4 do
       Begin
        Writeln ('Quais foram as vendas do ',produto,' que fez na semana ',s,' do mes ',m,'?');
        Readln (vendas[m,s]);
       End;
       Readln;
    End;
    
 Function total_vendas_mensal_1:real;
   
     Begin                         
      total_vendas_mensal_1:=0;
       For s:=1 to 4 do
        Begin
         total_vendas_mensal_1:=total_vendas_mensal_1+vendas[1,s];
        End;
      End;  

 Function total_vendas_mensal_2:real;
 
     Begin
      total_vendas_mensal_2:=0;
       For s:=1 to 4 do
        Begin
         total_vendas_mensal_2:=total_vendas_mensal_2+vendas[2,s];
        End;
     End;
	 
 Function total_vendas:real;
    Var tv:real;
     Begin                         
      tv:=0;
      For m:=1 to 2 do
       For s:=1 to 4 do
        Begin
         tv:=tv+vendas[m,s];
         total_vendas:=tv;
        End;
     End;
    

 Procedure media_vendas;
    Var mv:real;
     Begin
      mv:=mv/8;
      Writeln ('A media semanal das vendas de ',produto,' e ',mv:5:2,'.');
     End; 
     
 Procedure maximo_de_vendas;                                                                                                                                                                                                                
    Var mdv:real;
        mdvm, mdvs:integer;
     Begin
      mdv:=0;
      For m:=1 to 2 do
       Begin
        For s:=1 to 4 do
         Begin
          If vendas[m,s]>= mdv then
           Begin
             mdv:=vendas[m,s];
             mdvm:=m;
             mdvs:=s;
           End;
         End;
       End;
       Writeln('O maximo dos custos do ',produto,' e ',mdv:5:2,' na semana ',mdvs:2,' do mes ',mdvm:2,'.');
     End;
     
 Procedure minimo_de_vendas;                                                                                                                                                                                                                
    Var mdv:real;
        mdvm, mdvs:integer;
     Begin
      mdv:= vendas[1,1];
      For m:=1 to 2 do
       Begin
        For s:=1 to 4 do
         Begin
           If vendas[m,s]<= mdv then
           Begin
             mdv:=vendas[m,s];
             mdvm:=m;
             mdvs:=s;
           End;
          End;
        End;
         Writeln('O minimo das vendas do ',produto,' e ',mdv:5:2,',neste caso, na semana ',mdvs:2,' do mes ',mdvm:2,'.'); 
      End;   
	 
       
 Procedure custos_semanais;
    Var custoss: array [1..2,1..4] of real;   
     Begin                                     
      Begin
       For m:=1 to 2 do
        For s:=1 to 4 do
         Begin
          Writeln ('Na semana ', s, ' do mes ', m,' teve custos de ',custos[m,s]:5:2,'.');
         End;
      End;
     End; 

 Function total_custos_mensais1:real;
    Var tcm1:real;
     Begin                         
     tcm1:=0;
      For s:=1 to 4 do
       Begin
       tcm1:=tcm1+custos[1,s];
       total_custos_mensais1:=tcm1;
      End;
     End;
      
// Joana_Lemos   
                        
 Function total_custos_mensais2:real;                                 
    Var tcm2:real;                                                           
     Begin                                                                  
      tcm2:=0;                                                               
      For s:=1 to 4 do                                                   
       Begin
         tcm2:=tcm2+custos[2,s];
         total_custos_mensais2:=tcm2;
       End;
     End;



 Function total_custos:real;
    Var ctt:real;
     Begin                         
      tc:=0;
      For s:=1 to 4 do
       For m:=1 to 2 do
        Begin
         tc:=tc+custos[m,s];
         total_custos:=tc;
        End;
     End;


 Procedure media_dos_custos;
    Var mdc:real;
     Begin
      mdc:=mdc/8;
      Writeln ('A media semanal dos custos dos(as) ',produto,' e ',mdc:5:2,'.');
     End; 


 Procedure maximo_custos;
    Var mc: real;
        mcm, mcs:integer;
     Begin
      mc:=0;
      For m:=1 to 2 do
       Begin
        For s:=1 to 4 do
         Begin
          If custos[m,s]>= mc then
           Begin
             mc:=custos[m,s];
             mcm:=m;
             mcs:=s;
           End;
         End;
       End;
         Writeln('O maximo de custos do ',produto,' e: ',mc:5:2, ',neste caso, na semana ',mcs:2,' do mes ',mcm:2,'.');
     End;


 Procedure minimo_custos;
    Var mnc: real;
        mncm, mncs:integer;
     Begin
       mnc:= custos[1,1];
      For m:=1 to 2 do
       Begin
        For s:=1 to 4 do
         Begin
          If custos[m,s]<= mnc then
           Begin
             mnc:=custos[m,s];
             mncm:=m;
             mncs:=s;
           End;
         End;
       End;
         Writeln('O minimo dos custos dos(as) ',produto,' e ',mnc:5:2,',neste caso, na semana ',mncs:2,' do mes ',mncm:2,'.');
     End;
     
 Procedure balanco_semanal;
    Var sbalanco: array [1..4, 1..2] of real; 
     Begin
      For m:=1 to 2 do
       Begin
        For s:=1 to 4 do	
         Begin
          balanco[m,s]:= vendas[m,s] - custos[m,s];
          writeln ('Na semana ', s, ', do mes ', m, ' o balanco e de ',balanco[m,s]:5:2, '.');
         End;
       End;
     End;

 Procedure balanco_mensal;                                                                                 
    Var mbalanco:real;
     Begin
      mbalanco:=0;
      For m:=1 to 2 do
       Begin
        For s:=1 to 4 do
         Begin	
            mbalanco:=mbalanco + (vendas[m,s]-custos[m,s]);
         End;
        writeln ('No mes ',m, ' o balanco e de ',mbalanco:5:2,'.');
        mbalanco:=0; 
       End;
     End;



   Procedure maximo_balanco;
    Var mxb:real;
        mxbm, mxbs: integer;
     Begin
      mxb:=0;
      For m:=1 to 2 do
       begin
        For s:=1 to 4 do 
         begin
          If balanco[m,s]>=mxb then
           Begin
             mxb:=balanco[m,s];
             mxbm:=m;
             mxbs:=s;
           End;
         End;
        End;
        Writeln('O maximo do balanco e ',mxb:5:2,', neste caso, na semana ',mxbs:2,' no mes ',mxbm:2,'.');
     End;


   Procedure minimo_balanco;
    Var mnb:real;
        mnbm,mnbs:integer;
     Begin
       mnb:=balanco[1,1];                                                
      For m:=1 to 2 do
       Begin
        For s:=1 to 4 do 
         Begin
          If balanco[m,s]<=mnb then
           Begin       
             mnb:=balanco[m,s];
             mnbm:=m;
             mnbs:=s;
           End;
         End;
       End;
         Writeln('O minimo do balanco e ',mnb:5:2,', neste caso, na semana ',mnbs:2,' no mes ',mnbm:2,'.');
     End;

 procedure vminbalanco;
    Var vminb: real;
        mbmin, sbmin: integer;
     begin
       vminb:= balanco[1,1];
       for m:=1 to 2 do
       begin
        for s:=1 to 4 do
         begin
          if balanco[m,s]<= vminb then
           begin
             vminb:=balanco[m,s];
             mbmin:=m;
             sbmin:=s;
           end;
         end;
       end;
        Writeln('O minimo do balanco e: ',vminb:5:2, ', na semana ', sbmin,', do mes ', mbmin,'.');
     end;


 Function balanco_totalt: real;
    Var bt:real; 
     Begin
      bt:=0;
      For m:=1 to 2 do
       Begin
        For s:=1 to 4 do
         Begin
          bt:=bt + vendas[m,s] - custos[m,s];
         End;
       End;
       balanco_totalt:=bt;
     End;


 Procedure media_balanco;
    var mdb: real;  
     begin
       mdb:=mdb/8;
       writeln ('A media do balanco financeiro do seu produto e de ', mdb:5:2,'.');
     end;



 //programa

Begin
    writeln ('qual o nome da empresa?');
    readln (nome);
    writeln ('qual o produto que comercializa?');
    readln (produto);
    writeln ('A empresa � ' , nome, 'e comercializa ', produto ,'.');
   
   
   
   Repeat
   
    Writeln ('         x                                                x         ');
    Writeln ('        xxx                                              xxx        ');
    Writeln ('       xxxxx                                            xxxxx       ');
    Writeln ('     xxxxxxxxx                                        xxxxxxxx      ');
    Writeln ('  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  ');
    Writeln (' xx                                                              xx ');                                 
    Writeln ('xx  1-Vendas semanais                   6-Minimo das vendas       xx');
    Writeln ('x   2-Total das vendas mensal           7-Custos semanais          x');
    Writeln ('x   3-Total das vendas                  8-Total dos custos mensal  x');
    Writeln ('x   4-Media das vendas                  9-Total dos custos         x');
    Writeln ('x   5-Maximo das vendas                 a -Media dos custos        x');
    Writeln ('x                                                                  x');
    Writeln ('x                                                                  x');
    Writeln ('x                            s-sair                                x');
    Writeln ('x                                                                  x');
    Writeln ('x                                                                  x');
    Writeln ('x                        b-Maximo dos custos                       x');
    Writeln ('x                        c-Minimo dos custos                       x');
    Writeln ('x                        d-Balanco semanal                         x');
    Writeln ('x                        e-Balanco mensal                          x');
    Writeln ('x                        f-Balanco total                           x');
    Writeln ('x                        g-Media total                             x');
    Writeln ('x                        h-Maximo (balanco)                        x');
    Writeln ('xx                       i-Minimo (balanco)                       xx');
    Writeln (' xx                                                              xx '); 
    Writeln ('  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  ');
   
   Readln (menu);
   
   Case menu of
   
   '1': vendas_semanais;
   '2':Begin
       Writeln ('O total de vendas do mes 1 e ', total_vendas_mensal_1:5:2,' e do mes 2 e ', total_vendas_mensal_2:5:2,'.');
       End;
   '3':Begin
       Writeln ('O total das vendas de ',produto,' e ',total_vendas:5:2,'.');
       End;
   '4':media_vendas;
   '5':maximo_de_vendas;
   '6':minimo_de_vendas;
   '7':custos_semanais;
   '8':Begin
       Writeln ('O total dos custos do mes 1 e ',total_custos_mensais1:5:2,' e do mes 2 e ',total_custos_mensais2:5:2,'.');
       End;
   '9':Begin
       Writeln ('O total dos custos dos(as) ',produto,' e ',total_custos:5:2,'.');
       End;
   'a':media_dos_custos;
   'b':maximo_custos;
   'c':minimo_custos;
   'd':balanco_semanal;
   'e':balanco_mensal;
   'f': if balanco_totalt>0 then
     writeln ('O seu produto esta a render. Teve um lucro de  ', balanco_totalt:5:2, '.')
     Else 
     writeln ('Aconcelho a revisao do preco de venda e custos do seu produto pois perdeu ',balanco_totalt:5:2, '.');
   'g':media_balanco;
   'h':maximo_balanco;                                                         
   'i':minimo_balanco;
   
   Else
     Begin
     Writeln('Opcao invalida ',menu);
     End;
     End;
     Until menu='s'; 
  
End.