Добавить в корзинуПозвонить
Найти в Дзене

Немного ностальгическая статья про ReadLn и уходящую эпоху классического программирования

В наше время, когда код пишут нейросети, зачем изучать языки программирования? Особенно такие, как Паскаль. Тем более, применительно к консольным приложениям. И зачем писать об этом статьи? Ну, во-первых, несмотря на то, что сегодня можно создавать рабочие программы не будучи программистом, я убеждён, что человек, который хочет стать профессионалам, должен знать хотя бы один язык программирования, чтобы понимать, как код превращается в программу. Я, например, не пишу программ на ассемблере и тем более в машинных кодах. Но я знаю, как это делать. Это даёт мне полное понимание того, как работает программа и “железо”. И в каких-то, пусть и редких ситуациях, это помогает решать сложные, нестандартные задачи. Во-вторых, старичкам от программирования (вроде меня) очень грустно от того, что целая эпоха уходит в небытие на наших глазах. Да, вайб-кодинг уже очень скоро заменит классическое программирование (а где-то уже заменил). Но как же ностальгически приятно видеть на экране что-то типа cou

В наше время, когда код пишут нейросети, зачем изучать языки программирования? Особенно такие, как Паскаль. Тем более, применительно к консольным приложениям. И зачем писать об этом статьи?

Ну, во-первых, несмотря на то, что сегодня можно создавать рабочие программы не будучи программистом, я убеждён, что человек, который хочет стать профессионалам, должен знать хотя бы один язык программирования, чтобы понимать, как код превращается в программу. Я, например, не пишу программ на ассемблере и тем более в машинных кодах. Но я знаю, как это делать. Это даёт мне полное понимание того, как работает программа и “железо”. И в каких-то, пусть и редких ситуациях, это помогает решать сложные, нестандартные задачи.

Во-вторых, старичкам от программирования (вроде меня) очень грустно от того, что целая эпоха уходит в небытие на наших глазах. Да, вайб-кодинг уже очень скоро заменит классическое программирование (а где-то уже заменил). Но как же ностальгически приятно видеть на экране что-то типа cout или ReadLn…

Вот о последней сегодня и расскажу (специально для любителей Паскаля и его современных версий типа Lazarus).

Итак, все паскалисты, даже начинающие и сочувствующие, знают, что процедура ReadLn считывает с консоли то, что вводит пользователь. Возможно не все, но большинство также знают, что передавать в эту процедуру можно более одной переменной.

Считывать можно как числа, так и строки. В случае с числами, если принимаем несколько значений, эти значения должны разделяться пробелами или символами табуляции.

А вот как быть в случае со стоками? Ведь строки могут содержать и пробелы, и табуляцию?

И вот о том, как ведёт себя ReadLn в случае получения от пользователя нескольких строк в несколько переменных, думаю, знают не все. Поэтому и расскажу. Например:

ReadLn(s1, s2, s3);

В этом случае в первую переменную (s1) будет получено столько символов (включая пробелы и прочие), сколько указано в её объявлении, или, если длина не указана, то вся строка попадёт в первую переменную. Вторая переменная будет содержать оставшиеся символы строки (все или несколько, если для второй переменной указана длина строки). Если же все символы прочитаны в первые переменные, то последующие переменные будут содержать пустые строки.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить. Изучайте программирование. Хотя бы потому, что это просто интересно и развивает мозг. Да, все хотят заниматься творческой работой, чтобы было поменьше рутины. Но если от этого совсем отказаться, то так незаметно можно и отупеть…