Предлагаю следующее решение:
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var a:integer;
s:string;
begin
randomize;
write('Введите путь и имя файла программы:');
readln(s);
if not FileExists(s) then
begin
writeln('Файла не существует!');
readln;
exit;
end;
a:=Random(5);
case a of
0:writeln('Программа на C');
1:writeln('Программа на C#');
2:writeln('Программа на C++');
3:writeln('Программа на Basic');
4:writeln('Программа на Pascal');
end;
readln;
end.
А если всерьёз - нужно дизассемблировать программу и искать в получившимся коде последовательности действий, характерных для определённого языка, перед этим изучить особенности определённых языков.