Песни о Паскале - [16]
Очевидно, что для хранения имени и фамилии одной переменной мало, нужны две. Памятуя о том, что секция объявления переменных допускает несколько операторов, объявим там парочку переменных.
>var N : string;
> S : string;
Здесь переменные N и S названы мною по первым буквам слов Name (имя) и Surname (фамилия). Объявить несколько переменных одного типа можно и в одной строке, перечислив их через запятую.
>var N, S : string;
Тут две переменные объявлены одним оператором, – этот способ ничуть не хуже.
Далее, после ввода данных, надо напечатать в одной строке несколько параметров: приветствие, имя, фамилию, и восклицательный знак в конце, чтобы обратиться к Тарасу Скотинину так:
> Здравствуй, Тарас Скотинин!
Достаточно ли здесь одного оператора печати? Конечно! Вот он.
>Writeln(’Здравствуй, ’, N, ’ ’, S, ’!’);
Тут мы втиснули в процедуру Writeln аж пять параметров! Обратите внимание: в конце добавлен восклицательный знак, а между именем и фамилией печатается пробел, иначе эти слова слипнутся на экране.
После всех пояснений следующая программа должна быть вполне ясной.
>var N, S : string;
>begin
>Writeln(’Фамилия?’); Readln(S);
>Writeln(’Имя?’); Readln(N);
>Writeln(’Здравствуй, ’, N, ’ ’, S,’!’);
>Writeln(’Нажми Enter’); Readln;
>end.
Обязательно скомпилируйте её и проверьте в действии.
Итак, нам удалось скроить уже два «кармана» для хранения данных. Действительно, переменные сродни карманам, здесь можно и хранить данные, и копировать из одного «кармана» в другой. Для копирования данных в Паскале применяют оператор присваивания, вот примеры копирования данных.
>A := 'Привет, Мартышка!'; <– копирование строковой константы
>B := A; <– копирование из переменной A в переменную B
Пара символов «:=» – «двоеточие» и «равно» – означают операцию присваивания. Слева от знака операции указывают переменную, в которую будут помещены данные, а справа можно указать переменную или константу. Что, по вашему мнению, напечатает следующая программа?
>var A, B : string;
>begin
>A:= 'Первая строка';
>B:= 'Вторая строка';
>Writeln(A); Writeln(B);
>B:= A;
>Writeln(B); Readln
>end.
Очевидно, что на экране появятся следующие строки.
>Первая строка
>Вторая строка
>Первая строка
Первые два оператора заносят в переменные A и B две строковые константы, которые затем печатаются. Третий оператор присваивания B:=A скопирует в переменную B значение переменной A, где уже содержится «Первая строка», – она и будет напечатана последней.
Но, к чему здесь было копировать данные из одной переменной в другую? Сейчас это не имело смысла, согласен. Но последнее слово ещё не сказано!
Спросите у любого: для чего нужны компьютеры? Для вычислений, для чего ж еще? – ответят некоторые. Другие скажут, что для обработки данных. В самом деле, обработка данных – нечто более общее, чем вычисление. Не пора ли и нам приступить к обработке данных? Познакомимся с простейшей операцией обработки строк, которую называют сцеплением или конкатенацией.
Не пугайтесь этого заумного слова, сцепление строк – простейшее дело! Руками это делается так: берете несколько полос бумаги и пишите что-либо, – это ваши строки, – а затем склеиваете полоски. Это и есть конкатенация строк.
На рис. 22 представлено строковое выражение. Знаки «+» здесь обозначают операцию сцепления строк, – точно так же она обозначается и в Паскале. Показанный ниже оператор присваивания занесет в переменную R строку, «склеенную» из пяти других строк (здесь N и S – это переменные, содержащие имя и фамилию человека).
>R:= ’Здравствуй, ’ + N + ’ ’ + S + ’!’;
Стало быть, справа от операции присваивания «:=» может быть не только константа или переменная, но и строковое выражение.
Испытайте теперь второй вариант приветствующей программы с тремя строковыми переменными.
>var N, S, R : string;
>begin
>Writeln(’Фамилия?’); Readln(S);
>Writeln(’Имя?’); Readln(N);
>R := ’Здравствуй, ’ + N + ’ ’ + S +’!’;
>Writeln(R);
>Writeln(’Нажми Enter’); Readln;
>end.
Если найдете силы, испытайте и эту программку (в ней есть ошибка!).
>var S : string;
>begin
>Writeln(S);
>S:= ’Спартак’;
>Writeln(S);
>S:= S + ’ – чемпион!’;
>Writeln(S);
>Writeln(’Нажми Enter’); Readln;
>end.
Здесь переменная S будет напечатана трижды. Но что, по вашему мнению, выведет первый оператор Writeln(S)? Ни за что не угадаете! Этого даже я не знаю. Все потому, что при старте программы содержимое всех её переменных не определено, – в этих «карманчиках» может валяться что угодно. Обычно там остаются следы от деятельности предыдущих программ – так называемый мусор. Не пытайтесь напечатать такие переменные или извлечь из них данные, – порой это может вызвать даже аварию программы.
Запомните: прежде, чем взять из «карманчика», туда следует что-либо положить! Надо, как говорят программисты, инициализировать переменную. Это можно сделать двояко: либо вводом данных процедурой Readln, либо оператором присваивания.
В последующих операторах этого примера переменная S инициализируется, и здесь результат вывода на экран очевиден. А в операторе
Давно заброшенная и забытая Древними старая законсервированная база на одной из далёких и обследованных ими планет, внезапно посылает сигнал в метрополию. В произведении рассказывается о том, как развивалась и складывалась жизнь аборигенов, после ухода с планеты Древних, посеявших на ней семена разума.
11 февраля 1985 года был убит Талгат Нигматулин, культовый советский киноактер, сыгравший в таких фильмах, как «Пираты XX века» и «Право на выстрел», мастер Каратэ и участник секты, от рук адептов которой он в итоге и скончался. В 2003 году Дима Мишенин предпринял журналистское расследование обстоятельств этой туманной и трагической гибели, окутанной множеством слухов и домыслов. В 2005 году расследование частично было опубликовано в сибирском альтернативном глянце «Мания», а теперь — впервые публикуется полностью.
Софья устраивается на работу в банке, а там шеф - блондин неписанной красоты. И сразу в нее влюбился, просто как вампир в гематогенку! Однако девушка воспитана в строгих моральных принципах, ей бабушка с парнями встречаться не велит, уж тем более с красавцем банкиром, у которого и так налицо гарем из сотрудниц. Но тут случилась беда: лучшую подругу похитили при жутких обстоятельствах. Потом и на Соню тоже напали, увезли непонятно куда: в глухие леса, на базу отдыха и рыболовства. Вокруг - волки воют! А на носу - Новый год!.
Рассказы, которые с 2008 по 2010 г., Александр Чубарьян (также известный как Саша Чубарьян и как Sanych) выкладывал в сети, на своём блоге: sanych74.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Каждый месяц на Arzamas выходила новая глава из книги историка Ильи Венявкина «Чернильница хозяина: советский писатель внутри Большого террора». Книга посвящена Александру Афиногенову — самому популярному советскому драматургу 1930-х годов. Наблюдать за процессом создания исторического нон-фикшена можно было практически в реальном времени. *** Судьба Афиногенова была так тесно вплетена в непостоянную художественную конъюнктуру его времени, что сквозь биографию драматурга можно увидеть трагедию мира, в котором он творил и жил.