dmdlir
?>

Напишите программу, которая проверяет правильность имени переменной в языке паскаль. имя может содержать только латинские буквы (заглавные и строчные), цифры и знак подчёркивания, но не может начинаться с цифры. входные данные на вход программы подаётся символьная строка, содержащая имя переменной. выходные данные программа должна вывести ответ 'yes', если строка представляет собой правильное имя переменной в языке паскаль, и 'no', если имя ошибочно. примеры входные данные abc123 выходные данные yes входные данные abc[a! выходные данные no pascal abc 1.8 с использованием множеств

Информатика

Ответы

vodexshop2
Var s: string;
    i: integer;
    good: boolean;
begin
readln(s);

good := True;
if (s[1] in ['0'..'9']) then
  good := False
else
begin
  for i := 1 to length(s) do
    if not ((s[i] in ['a'..'z']) or (s[i] in ['A'..'Z']) or (s[i] in ['0'..'9']) or (s[i] = '_')) then
      good := False;
end;

if (good) then
  writeln('YES')
else
  writeln('NO');
end.
set907

Объяснение:

Если и считать всё в двоичной системе, то надо сначала все числа перевести в неё.

Перевод из шестнадцатеричной в двоичную- каждая шестнадцатеричная цифра заменяется на четыре двоичных, затем незначащие нули спереди- отбрасываются:

10₁₆ = 00010000₂ = 10000₂

Перевод из восьмеричной в двоичную- каждая восьмеричная цифра заменяется на три двоичных, затем незначащие нули спереди- отбрасываются:

10₈ = 001000₂ = 1000₂

Получаем в итоге пример:

10000₂ + 1000₂ + 10₂* 10000₂ = 10000₂ + 1000₂ + 100000₂ =

= 111000₂

s-shulga
1)

const
  n=40;
var
  a:array [1..n] of integer;
  i,k:integer;
begin
  Randomize;
  k:=0;
  Writeln('Исходный массив');
  for i:=1 to n do begin a[i]:=random(63)+20; Write(a[i],' ') end;
  Writeln; Writeln('Четные элементы, кратные 3');
  for i:=1 to n do
    if a[i] mod 6=0 then begin Inc(k); Write(a[i],' ') end;
  Writeln; Writeln('Отобрано элементов: ',k)
end.

Пример
Исходный массив
43 49 27 45 57 20 54 22 74 79 57 64 30 41 67 58 36 68 79 46 28 74 61 21 80 57 50 24 80 36 27 57 38 38 41 71 50 69 39 48
Четные элементы, кратные 3
54 30 36 24 36 48
Отобрано элементов: 6

2)

const
  n=20;
var
  a:array [1..n] of integer;
  i,imin:integer;
begin
  Randomize;
  Writeln('Исходный массив');
  imin:=1;
  for i:=1 to n do begin
    a[i]:=random(351)+20;
    Write(a[i],' ');
    if a[i]<a[imin] then imin:=i
    end;
  Writeln;
  Writeln('Минимальный элемент a[',imin,']=',a[imin])
end.

Пример
Исходный массив
292 54 248 310 181 210 263 284 255 156 177 340 173 39 108 144 270 40 318 155
Минимальный элемент a[14]=39

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая проверяет правильность имени переменной в языке паскаль. имя может содержать только латинские буквы (заглавные и строчные), цифры и знак подчёркивания, но не может начинаться с цифры. входные данные на вход программы подаётся символьная строка, содержащая имя переменной. выходные данные программа должна вывести ответ 'yes', если строка представляет собой правильное имя переменной в языке паскаль, и 'no', если имя ошибочно. примеры входные данные abc123 выходные данные yes входные данные abc[a! выходные данные no pascal abc 1.8 с использованием множеств
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Eduard Melikyan
timpavilion23
Андрей-Викторовна1910
enot1975
mb9037479491
akremlev2015
Maksimova-Shorokhov303
janepustu
margo929
Anton661
dkedrin74038
Amulenkov
viz-art-pnz1664
Vladimirovna1370