case, until, for, pares, impares, primos, calculo de notas


program logicander;


uses wincrt;
var
   opcion, i : integer;
   respuesta : char;
   ni, nii, prome : real;
   nombre : string;
begin


WriteLn ( '1- Numeros pares' );
WriteLn ( '2- Numeros impares' );
WriteLn ( '3- Numeros primos' );
WriteLn ( '4- Calculo de notas' );
WriteLn ('');
WriteLn ( 'Ingrese una opcion' );
ReadLn (opcion);
case opcion of


1 : Begin
  ClrScr;
  Writeln('Numero Pares');
  FOR i:=1 TO 10 DO
  IF (i mod 2)=0 then
  Writeln(i);
  End;


2 : Begin
  ClrScr;
  Writeln('Numero Pares');
  FOR i:=1 TO 10 DO
  IF (i mod 2)=1 then
  Writeln(i);
  End;


3 : Begin
   ClrScr;
   Writeln('Numero Primos');
   FOR i:=1 TO 10 DO
   IF ((i mod 2)=1) and (i<>9) or (i=2) THEN
   Writeln(i);
   End;


4 : Begin
  repeat
  Begin
  Writeln ( 'Ingrese el nombre del alumno' );
  Readln (nombre);
  Writeln ('');
  writeln ( 'ingrese nota 1' );
  readln (ni);
  writeln ('');
  writeln ( 'Ingrese nota 2' );
  readln (nii);


  prome:=(ni+nii)/2;


  writeln ('');
  writeln ( 'el promedio es: ', prome:5:2);


  writeln ('');
  writeln ( 'desea agregar otro S/N' );
  readln (respuesta);
  end;
  until respuesta='N';
  end;
  end;


end.

Repita until, alumno 2 notas, promedio individual, ingresar otro alumno

program logicander;


Uses WinCrt;
Var
    respuesta : char;
    ni, nii, prome : real;
    nombre : string;
Begin


Repeat
    Begin
    WriteLn ( 'Ingrese el nombre del alumno' );
    ReadLn (nombre);
    WriteLn ('');
    WriteLn ( 'Ingrese nota 1' );
    ReadLn (ni);
    WriteLn ('');
    WriteLn ( 'Ingrese nota 2' );
    ReadLn (nii);


    prome:= (ni+nii)/2;


    WriteLn ('');
    WriteLn ( 'El promedio es: ', prome:5:2);


    WriteLn ('');
    WriteLn ( '¿Desea agregar a otro alumno? S/N' );
    ReadLn (respuesta);
    end;


until respuesta='N';


end.

Repita until, hasta x numero

program logicander;


Uses WinCrt;
Var
    n : integer;
Begin


n:=1
WriteLn ( 'Hasta donde se repetira' );
ReadLn (x);
repeat
WriteLn (n);
n:= n+1:
until n<=x;


end.

Repita until, hasta 10

program logicander;


Uses WinCrt;
Var
    n : integer;
Begin


n:=1;
repeat
WriteLn (n);
n:= n+1;
until n<11;


end.

Repita until

program logicander;

Uses WinCrt;
Var
   resp : char;
Begin

Repeat
WriteLn ( '¿Desea finalizar el programa? S/N' );
ReadLn (resp);
Until resp='N';

end.

III Parcial (Injusticia)


program logicander;


Uses WinCrt;
Var
  opc, i, nt : integer;
  suma, prom : real;
Begin


WriteLn ( 'Menu del exameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeen' );
WriteLn ( 'Presione 1 para el Sistema Numerico' );
WriteLn ( 'Presione 2 para el Calculo de Notas' );
ReadLn (opc);


if opc=1 then
Begin
     Clrscr;
     WriteLn ( 'Lista ordenada de 7 a 7 hasta 100 (sin numeros pares)' );


     for i:= 7 to 100 do


     if ((i mod 7)=0) and (i<>9) and (i<>11) and (i<>13) and (i<>14) and (i<>28) and (i<>42) and (i<>56) and (i<>70)
     and (i<>84) and (i<>98) then




     WriteLn (i);




     end;


if opc=2 then
Begin
     Clrscr;
     WriteLn ( 'Calculo de Notas (Sumatoria de Promedio)' );


     WriteLn ( '¿Cuantas notas son?' );
     Readln (nt);


     for i:= 1 to 4 do


     begin
     WriteLn ( 'Ingrese las notas' );
     ReadLn (nt);


     suma:= suma+nt;
     prom:= suma/4;


     end;


     WriteLn ( 'La suma de las notas es: ', suma:5:3);


     WriteLn ( 'El promedio es: ', prom:3:2);


     if prom<10 then
     writeln ( 'reprobado' )
     else
     if prom>10 then
     Writeln ( 'aprobado' )


     end;


end.

Calculo de Ingresos por horas

program logicander;


Uses WinCrt;
Var
    n : integer;
    hrd, csd, hrn, csn, td, tn, suma, ingreso : real;
Begin


WriteLn ( 'Cuantos trabajadores tiene la empresa' );
ReadLn (n);


For i:= 1 to n do


Begin
    WriteLn ( 'Cuantas horas de trabajo al dia' );
    ReadLn (hrd);
    WriteLn ( 'Costo de la hora diurna' );
    ReadLn (csd);
    td:= hrd*csd;
    
    WriteLn ( 'Cuantas horas de trabajo de noche' );
    ReadLn (hrn);
    WriteLn ( 'Costo de la hora nocturna' );
    ReadLn (csn);
    tn:= hrn*csn


    ingreso:= td+tn
    suma:= suma+ingreso
    end;


WriteLn ( 'El pago a todos los empleados es: ', suma:5:3);


end.

Menú para Ordenar Números


Program logicander;


Uses WinCrt;
Var 
    i, j, opc : integer;
Begin


WriteLn ( 'Menu para Ordenar Numeros' );
WriteLn ( '1-Ordenar por Numeros pares' );
WriteLn ( '2-Ordenar por Numeros impares' );
WriteLn ( '3-Ordenar por Numeros primos' );
ReadLn (opc);


If opc=1 then
Begin
    ClrScr;
    
    For i:= 1 to 10 do
    If (i mod 2)=0 then
    
    WriteLn (i);
    
    end;


If opc=2 then
Begin
    ClrScr;
    
    For i:=1 to 10 do
    If (i mod 2)=1 then
    
    WriteLn (i);
    
    end;


If opc=3 then
Begin
    ClrScr;


    For j:= 1 to 2 do
    WriteLn (j);


    For i:=3to 10 do
    If (i mod 2)=1 then
    If (i<>9) then
    WriteLn (i)
    end;


end.

Notas y promedio (con contador)

Program Logicander;


Uses WinCrt;
Var
    contador, nota, promedio : real;
    i, n : integer;
Begin


WriteLn ( '¿Cuantas notas tiene el alumno?' );
ReadLn (n);


For i:= 1 to n do
Begin
    WriteLn ( 'Ingrese nota', i);
    ReadLn (nota);
    contador:= contador+nota;
   end;


WriteLn ( 'La suma es: ', contador:3:2);
promedio:= contador/n;
WriteLn ( 'El promedio es: ', promedio:3:2);


end.

Menú de Ordenamiento desde 1-10 (Ascendente y Descendente) (Con N)




Program Logicander;


Uses WinCrt;
Var
    i, n, opc : integer;
Begin


WriteLn ( 'Menu' );
WriteLn ( '1.- Ordenar de Manera Ascendente 1-n' );
WriteLn ( '2.- Ordenar de Manera Descendente n-1' );
ReadLn (opc);


If opc=1 then
Begin
    WriteLn ( 'Ordenar de manera Ascendente' );
    WriteLn ( '¿Cuantas veces desea que se repita?' );
    ReadLn (n);
    
    for i:= 1 to n do


    WriteLn (i);


    end;


If opc=2 then
Begin
    WriteLn ( 'Ordenar de manera Descendente' );
    WriteLn ( '¿Cuantas veces desea que se repita?' );
    ReadLn (n);
    
    for i:= n downto 1 do


    WriteLn (i);


    end;


end.

Menú de Ordenamiento desde 1-10 (Ascendente y Descendente)

Program Logicander;


Uses WinCrt;
Var
    i, n, opc : integer;
Begin


WriteLn ( 'Menu' );
WriteLn ( '1.- Ordenar de Manera Ascendente 1-10' );
WriteLn ( '2.- Ordenar de Manera Descendente 10-1' );
ReadLn (opc);


If opc=1 then
Begin
    WriteLn ( 'Ordenar de manera Ascendente' );


    for i:= 1 to 10 do


    WriteLn (i);


    end;



If opc=2 then
Begin
    WriteLn ( 'Ordenar de manera Descendente' );


    for i:= 10 downto 1 do


    WriteLn (i);


    end;


end.

¿Cuantas veces desea repetir lógica? (Descendente)


Program logicander;


Uses WinCrt;
Var
    i, n : integer;
Begin


WriteLn ( '¿Cuantas veces desea repetir logica?' );
ReadLn (n);


For i:= n downto 1 do


WriteLn ( 'La Curse', i)


end.

¿Cuantas veces deseas repetir lógica? (Ascendente)

Program logicander;


Uses WinCrt;
Var
    i, n : integer;
Begin


WriteLn ( '¿Cuantas veces desea repetir logica?' );
ReadLn (n);


For i:= 1 to n do


WriteLn ( 'La Curse', i)


end.

Repetir 'Hola' (Ascendente)

Program logicander;


Uses WinCrt;
Var
    i : integer;
Begin


WriteLn ( 'Repite Hola de Forma Ascendente' );


For i:= 1 to 10 do


WriteLn ( 'Hola', i);


end.

Repetir 'Hola'

Program logicander;


Uses WinCrt;
Var
    i : integer;
Begin


For i:= 1 to 3 do
WriteLn ( 'Hola' );


end.

Menú de Sistemas de Conversión


Program logicander;


Uses WinCrt;
Var
    kilogramos, toneladas, gramos, kilometros, centimetros, litros, onzas, metros, mililitros : real;
    opc : integer;
Begin


Writeln ( 'Menu de Sistemas de Conversion' );
WriteLn ( '1- Medidas de Peso' );
WriteLn ( '2- Medidas de Volumen' );
WriteLn ( '3- Medidas de Distancia' );
ReadLn (opc);


If opc=1 then
Begin
WriteLn ( 'Submenu de Medidas de Peso' );
WriteLn ( '1-Gramos a Kilogramos' );
WriteLn ( '2-Gramos a Toneladas' );
ReadLn (opc);


    If opc=1 then
    Begin
    WriteLn ( 'Gramos a Kilogramos' );
    WriteLn ( 'Ingrese gramos' );
    ReadLn (gramos);
    kilogramos:=gramos*0.001;
    WriteLn ( 'Gramos en kilogramos son: ', kilogramos:5:3);
    end;


    If opc=2 then
    Begin
    WriteLn ( 'Gramos a Toneladas' );
    WriteLn ( 'Ingrese gramos' );
    ReadLn (gramos);
    toneladas:=gramos*0.000001;
    WriteLn ( 'Gramos en toneladas son: ', toneladas:5:3);
    end;
   end;
    
If opc=2 then
Begin
WriteLn ( 'Submenu de Medidas de Volumen' );
WriteLn ( '1-Litros a Mililitros' );
WriteLn ( '2-Litros a Onzas liquidas' );
ReadLn (opc);


    If opc=1 then
    Begin
    WriteLn ( 'Litros a Mililitros' );
    WriteLn ( 'Ingrese litros' );
    ReadLn (litros);
    mililitros:=litros*1000;
    WriteLn ( 'Litros en mililitros son: ', mililitros:5:3);
    end;


    If opc=2 then
    Begin
    WriteLn ( 'Litros a Onzas liquidas' );
    WriteLn ( 'Ingrese litros' );
    ReadLn (litros);
    onzas:=litros/0.0295;
    WriteLn ( 'Litros a Onzas líquidas son: ', onzas:5:3);
    end;
    end;
    
If opc=3 then
Begin
WriteLn ( 'Submenu de Medidas de Distancia' );
WriteLn ( '1-Metros a Kilómetros' );
WriteLn ( '2-Metros a Centímetros' );
ReadLn (opc);


    If opc=1 then
    Begin
    WriteLn ( 'Metros a Kilometros' );
    WriteLn ( 'Ingrese metros' );
    ReadLn (metros);
    kilometros:=metros*0.001;
    WriteLn ( 'Metros en Kilometros son: ', kilometros:5:3);
    end;


    If opc=2 then
    Begin
    WriteLn ( 'Metros a Centimetros' );
    WriteLn ( 'Ingrese metros' );
    ReadLn (metros);
    centimetros:=metros*100;
    WriteLn ( 'Metros a Centimetros son: ', centimetros:4:3);
    end;
    end;


end.

Menú para novios

Program logicander;


Uses WinCrt;
Var
    si, no, opc : integer;
Begin


WriteLn ( 'Menu para novios' );
WriteLn ( '¿Quieres ser mi novia?' );
WriteLn ( 'Pulse 1 para decir que SI' );
WriteLn ( 'Pulse 2 para decir que NO' );
ReadLn (opc);


If opc=1 then
WriteLn ( '¡Te han dicho que SI!' )
else
If opc=2 then
Begin
WriteLn ( '¡Te han dicho que NO! FRIENDZONED' );


WriteLn ( '¿Quieres seguir intentando?' );
WriteLn ( 'Pulse 1 para decir que SI' );
WriteLn ( 'Pulse 2 para decir que NO' );
ReadLn (opc);


If opc=1 then
WriteLn ( '¡Felicitaciones, la ladilla ha dado frutos!' )
else
If opc=2 then
WriteLn ( 'Lo siento campeon, la vida continua' )
end;


end.

Calculo del Sueldo según Salario Mínimo

Program logicander;

Uses WinCrt;
Var
    diurno, nocturno, cdiurno, cnocturno, total : real;
Begin

WriteLn ( 'Ingrese las horas diurnas trabajadas' );
ReadLn (diurno);
WriteLn ( 'Ingrese las horas nocturnas trabajadas' );
ReadLn (nocturno);
WriteLn ( 'Ingrese el costo de las horas diurnas trabajadas' );
ReadLn (cdiurno);
WriteLn ( 'Ingrese el costo de las horas nocturnas trabajadas' );
ReadLn (cnocturno);

total:= (diurno*cdiurno)+(nocturno*cnocturno);
WriteLn ( 'Su sueldo mensual seria: ', total:5:3);

If total<1780 then
WriteLn ( 'Usted gana por debajo del sueldo minimo' )
else
WriteLn ( 'Usted gana por encima del sueldo minimo' )

end.

Calculo de edad

Program logicander;


Uses WinCrt;
Var
    edad, falta, fn, presente : integer;
Begin


WriteLn ( 'Ingrese el año actual' ); 
ReadLn (presente);
WriteLn ( 'Ingrese su año de nacimiento' );
ReadLn (fn);


edad:= presente-fn;
falta:= 18-edad;


WriteLn ( 'Su edad es: ', edad);
WriteLn ( 'Le falta/n para ser mayor de edad: ', falta);




If edad<18 then
WriteLn ( 'Usted aun es menor de edad')
Else
WriteLn ( 'Usted ya es mayor de edad' )


end.

Menú Miligramos/Kilogramos/Onzas/Toneladas

Program logicander;


Uses WinCrt;
Var
    miligramos, kilogramos, onzas, toneladas, gramos, opc : real;
Begin


WriteLn ( 'Menu para transformar de gramos alguna de las siguientes opciones' );
WriteLn ( 'Pulse 1 para transformar a Miligramos' );
WriteLn ( 'Pulse 2 para transformar a Kilogramos' );
WriteLn ( 'Pulse 3 para transformar a Onzas' );
WriteLn ( 'Pulse 4 para transformar a Toneladas' );
ReadLn (opc);


If opc=1 then
Begin
WriteLn ( 'Transformaremos de Gramos a Miligramos' );
    WriteLn ( 'Ingrese gramos' );
    ReadLn (gramos);
    miligramos:= gramos*1000;
    WriteLn ( 'El resultado en miligramos seria: ', miligramos:5:5);
    end;


If opc=2 then
Begin
WriteLn ( 'Transformaremos de Gramos a Kilogramos' );
    WriteLn ( 'Ingrese gramos' );
    ReadLn (gramos);
    kilogramos:= gramos*0.001;
    WriteLn ( 'El resultado en kilogramos seria: ', kilogramos:5:5);
    end;


If opc=3 then
Begin
WriteLn ( 'Transformaremos de Gramos a Onzas' );
    WriteLn ( 'Ingrese gramos' );
    ReadLn (gramos);
    onzas:= gramos*0.0352740;
    WriteLn ( 'El resultado en Onzas seria: ', onzas:5:5);
    end;


If opc= 4 then
Begin
WriteLn ( 'Transformaremos de Gramos a Toneladas' );
    WriteLn ( 'Ingrese gramos' );
    ReadLn (gramos);
    toneladas:= gramos*0.000001;
    WriteLn ( 'El resultado en Toneladas seria: ', toneladas:5:5);
    end;


end.

Mayor de 5 numeros

Program logicander;


Uses WinCrt;
Var
    a, b, c, d, e : integer;
Begin


WriteLn ( 'Ingrese A' );
ReadLn (a);
WriteLn ( 'Ingrese B' );
ReadLn (b);
WriteLn ( 'Ingrese C' );
ReadLn (c);
WriteLn ( 'Ingrese D' );
ReadLn (d);
WriteLn ( 'Ingrese E' );
ReadLn (e);


If (a>b) and (a>c) and (a>d) and (a>e) then
WriteLn ( 'Mayor es A' )
Else
If (b>a) and (b>c) and (b>d) and (b>e) then
WriteLn ( 'Mayor es B' )
Else
If (c>a) and (c>b) and (c>d) and (c>e) then
WriteLn ( 'Mayor es C' )
Else
If (d>a) and (d>b) and (d>c) and (d>e) then
WriteLn ( 'Mayor es D' )
Else
If (e>a) and (e>b) and (e>c) and (e>d) then
WriteLn ( 'Mayor es E' )


end.

Menú Circulo/Cuadrado/Triangulo

Program logicander;

Uses WinCrt;
Var
    circulo, cuadrado, triangulo, op, radio, area, lado, ac, at, a, l : real;
begin

WriteLn ( 'Menu de Geometria' );
WriteLn ( '1.- Area de un Circulo' );
WriteLn ( '2.- Area de un Cuadrado' );
WriteLn ( '3.- Area de un Triangulo' );
WriteLn ( 'Ingrese una opcion' );
ReadLn (op);

If op=1 then
Begin
WriteLn ( 'Calcularemos el Area de un Circulo' );
    WriteLn ( 'Ingrese el radio' );
    ReadLn (radio);
    area:= 3.1416*(radio*radio);
    WriteLn ( 'El resultado es: ', area:3:3);
    end;

If op=2 then
Begin
WriteLn ( 'Calcularemos el Area de un Cuadrado' );
    WriteLn ( 'Ingrese el lado' );
    ReadLn (lado);
    ac:= (lado*lado);
    WriteLn ( 'El area del Cuadrado es: ', ac:3:3);
    end;

If op=3 then
Begin
WriteLn ( 'Calcularemos el Area de un Triangulo' );
    WriteLn ( 'Ingrese el lado' );
    ReadLn (l);
    WriteLn ( 'Ingrese la altura' );
    ReadLn (a);
    at:= (l*a)/2;
    WriteLn ( 'El area del Triangulo es: ', at:3:3);
    end;

end.

Menú Suma/Resta/Multiplicación

Program logicander;


Uses WinCrt;
Var
    opc : integer;  
    a, b, re : integer;
begin


WriteLn ( 'Menu de Matematica' );
WriteLn ( '1.- Suma' );
WriteLn ( '2.- Resta' );
WriteLn ( '3.- Multiplicacion' );
WriteLn ( 'Ingrese una opcion' );
ReadLn (opc);


If opc=1 then
Begin
WriteLn ( 'Ingrese a' );
ReadLn (a);
WriteLn ( 'Ingrese b' );
ReadLn (b);
re:= a+b;
WriteLn ( 'El resultado de la suma es: ', re);
end;


If opc=2 then
Begin
WriteLn ( 'Ingrese a' );
ReadLn (a);
WriteLn ( 'Ingrese b');
ReadLn (b);
re:= a-b;
WriteLn ( 'El resultado de la resta es: ', re);
end;


If opc=3 then
Begin
WriteLn ( 'Ingrese a' );
ReadLn (a);
WriteLn ( 'Ingrese b' );
ReadLn (b);
re:= a*b;
WriteLn ( 'El resultado de la multiplicacion es: ', re);
end;


end.