Нужно перевести код с паскаля на питон PROGRAM reader;
USES crt;
TYPE mas=array[1..80]of char;
masid=array[1..80] of integer;
maskluch=array[1..62] of string;
cifra=set of '0'..'9';
bukv=set of 'a'..'z';
BUKV2=set of 'A'..'Z';
VAR
{строки}
s,s1,s2,sb,sb1: string[80];
chislo:string[33];
{счетчики}
dlina,dlina1,kol,j,i,n,kolp,kolt,kolk,n1,n2: integer;
{массивы}
b,mb,mz,mc: mas;
mk,ms,mt,mp: maskluch;
{множества}
c: cifra;
bukva: bukv;
BUKVA2: BUKV2;
{файлы}
f,g: text;
{}
{$I TRANS.pas}
{$I LEKSIKA.pas}
{$I IDENT.pas}
{$I SINTAKS.pas}
{}
BEGIN
initial; {чтение из файла}
trans; {транслитерация: с-буква, ' '-пробел}
leksika; {лексический блок: символ входного языка - класс символа}
ident; {идентификация: какое из слов соответствует заданному идентификатору}
sintaksis; {синтаксический блок: соответствует ли цепочка формулам}
END.
begin
var s:=ReadlnString('>');
var delims:=' ,:;!?'.ToCharArray; // разделители
var a:=s.ToWords(delims).JoinIntoString; // очистка от мусора
var aw:=a.MatchValues('([A-Za-zА-Яа-яЁё])+').ToArray;
var ad:=a.MatchValues('([-\d.])+').ToArray;
Print('Слова:'); aw.Println;
Print('Самое длинное слово:');
var ind:=aw.Select(x->x.Length).ToArray.IndexMax;
Println(aw[ind]);
var m:=aw[ind].Length; // самая большая длина слова
aw:=aw.Select(x->x.PadRight(m)).ToArray;
Print('Числа:'); ad.Println;
Print('Самое длинное число:');
Println(ad[ad.Select(x->x.Length).ToArray.IndexMax]);
for var j:=1 to m do begin
for var i:=0 to aw.Length-1 do Print(aw[i][j]);
Writeln
end;
end.
Тестовое решение:
> Длина составляет 1.2 метра; ширина 0.93 метра!
Слова: Длина составляет метра ширина метра
Самое длинное слово: составляет
Числа: 1.2 0.93
Самое длинное число: 0.93
Д с м ш м
л о е и е
и с т р т
н т р и р
а а а н а
в а
л
я
е
т
Из-за того, что тут используется пропорциональный шрифт, нарушено взаимное расположение символов на выводе. Истинная картина дана во вложении.
var a, b, c, d:integer;
begin
read (a);
if a mod 10 = 0 then writeln ('число оканчивается на ноль')
else writeln ('число оканчивается не на ноль');
end. – программа, которая высчитывает, оканчивается ли число на ноль или нет. Принцип работы:
ты вводишь число. Если число делится на 10, тогда на экран тебе выводится подтверждающая этому информация, что число оканчивается на ноль.
program random;
var a, b:integer;
begin
read (a, b); // a – десятки, b – единицы
if a = 4 or 6 then writeln ('число имеет в себе 4 десятка')
end. – программа, которая говорит тебе, имеет ли число в себе 4 или 6 десятков. Принцип работы:
ты вводишь 2 переменные: a и b; a — это десятки, а b — единицы. Если число a (десятки) равно четырём или шести, тогда на экран тебе выводится информация, подтверждающая это.