Песни о Паскале - [15]
Укладывая предметы, вы учитываете их размеры, вес и назначение. Пылесосу удобно в своей коробке, а монете – в кошельке. «Каждый сверчок – знай свой шесток». Встретив в программе объявление переменной, компилятор отводит ей место в оперативной памяти с тем, чтобы хранимые данные поместились там. То есть, кроит «карман» подходящего размера. Это первое.
А ещё компилятору надо знать набор допустимых действий с теми данными, что «лежат» в переменной: можно ли их складывать и умножать? Или это строка текста, предназначенная для вывода на экран? Ответ на эти вопросы заключен в типе переменной. По нему компилятор определяет и размер переменной, и набор допустимых операций с нею.
Паскаль содержит ряд встроенных типов данных, со временем вы познакомитесь с ними, но сейчас нам позарез нужен только один из них. Это тип STRING, что в переводе значит «строка» – это ключевое слово языка. Переменная этого типа может хранить в себе строчку какого-нибудь текста.
Объявим переменную для хранения в ней имени пользователя. Как назовем её? Да так и назовем – Name, что переводится как «имя». Итак, объявление переменной Name строкового типа STRING выглядит так:
>var Name : string;
Напомню, что имя и тип переменной разделяются двоеточием, а завершается оператор точкой с запятой.
Теперь, когда мы объявили переменную, попробуем ввести в неё данные, а затем вывести данные на экран.
Ввод данных в переменную выполняется знакомой вам процедурой Readln. Мы уже пользовались ею, чтобы заставить компьютер ждать нажатия Enter. Но процедура придумана в основном не для этого, а для ввода разнообразных данных, в том числе строк. С этой целью процедуре передают параметры – переменные, куда вводятся данные. В нашем случае оператор ввода имени будет таким:
> Readln(Name);
Выполняя этот оператор, компьютер тоже остановится в ожидании нажатия Enter. Но символы, которые пользователь напечатает до этого нажатия, попадут в переменную Name и сохранятся там. Так в строковую переменную можно ввести слово, и даже целое предложение, завершив ввод нажатием Enter.
А как напечатать содержимое переменной? Справится ли с этим процедура Writeln? Без сомнения! Ведь нечто подобное мы уже проделывали с константой. Вот оператор печати для этого случая:
> Writeln(Name);
Все хорошо, да вот незадача! Этот оператор напечатает имя в отдельной строке, а нам хочется объединить его со словом «Привет» в одной строчке. Как это сделать? Очень просто! Ведь в процедуре печати можно указать несколько параметров, разделяя их запятыми, и тогда все они напечатаются в одной строке. В нашем случае через запятую укажем два параметра:
>Writeln(’Здравствуй, ’, Name);
Здесь первый параметр – строковая константа «Здравствуй,» (с пробелом в конце), а второй – переменная Name.
Теперь все готово для рождения новой программы. Создайте пустой файл с именем «P_08_1.PAS», а затем введите в него плод наших размышлений.
>var Name : string;
>begin
>Writeln(’Как тебя зовут?’);
>Readln(Name);
>Writeln(’Здравствуй, ’, Name);
>Writeln(’Нажми Enter’); Readln;
>end.
Откомпилируйте программу и проверьте, работает ли она.
• Константы полезны для именования неизменяемых данных. Они облегчают работу и повышают надежность программ. Но константы не могут изменяться в ходе выполнения программы.
• Переменные предназначены для хранения в оперативной памяти компьютера изменяемых данных. Переменные могут изменяться в ходе выполнения программы.
• Каждая переменная относится к некоторому типу данных, который определяет и объём занимаемой ею памяти и правила действия с переменной.
• Ввод данных в переменные выполняется оператором Readln, а вывод – оператором Writeln.
• Процедура Writeln может напечатать в одной строке несколько параметров – констант и переменных, разделенных запятыми.
• Имена констант и переменных – это идентификаторы. Программист составляет их по своему усмотрению из латинских букв, цифр и знака подчеркивания.
А) Что напечатает следующая программа, если ваша любимая команда – «Спартак»?
>const
> Champ = ’ – чемпион!';
>var
> Team : string;
>begin
>Writeln(’Ваша любимая команда?’);
>Readln(Team);
>Writeln(Team, Champ);
>Readln
>end.
Б) Найдите (и исправьте, если можно) ошибки в следующих программах.
>begin
>const Pele = ’Эдсон Арантес ду Насименту’;
>Writeln(’Лучший футболист мира – ’, Pele);
>Readln
>end.
>begin
>Writeln(’Как тебя зовут?’);
>var Name : string;
>Readln(Name);
>Writeln(’Здравствуй, ’, Name);
>Writeln(’Нажми Enter’); Readln;
>end.
>const Pele = ’Эдсон Арантес ду Насименту’;
>begin
>Writeln(’Лучший футболист мира’);
>Readln(Pele);
>Writeln(Pele);
>Readln
>end.
Глава 9
Переменные: продолжение знакомства
Теперь, после знакомства с переменными, вы умеете объявлять их, вводить в переменные данные и печатать. Отныне мы не расстанемся с ними.
Наша следующая программа «P_09_1» спросит у пользователя имя и фамилию, после чего обратится к нему уважительно, как следует. Вот пример такой «беседы» (выделенное курсивом печатал пользователь).
>Фамилия?
>Скотинин
>Имя?
>Тарас
>Здравствуй, Тарас Скотинин!
>Нажми Enter
Примечание. Тарас Скотинин — персонаж комедии Д.И. Фонвизина «Недоросль».
11 февраля 1985 года был убит Талгат Нигматулин, культовый советский киноактер, сыгравший в таких фильмах, как «Пираты XX века» и «Право на выстрел», мастер Каратэ и участник секты, от рук адептов которой он в итоге и скончался. В 2003 году Дима Мишенин предпринял журналистское расследование обстоятельств этой туманной и трагической гибели, окутанной множеством слухов и домыслов. В 2005 году расследование частично было опубликовано в сибирском альтернативном глянце «Мания», а теперь — впервые публикуется полностью.
Софья устраивается на работу в банке, а там шеф - блондин неписанной красоты. И сразу в нее влюбился, просто как вампир в гематогенку! Однако девушка воспитана в строгих моральных принципах, ей бабушка с парнями встречаться не велит, уж тем более с красавцем банкиром, у которого и так налицо гарем из сотрудниц. Но тут случилась беда: лучшую подругу похитили при жутких обстоятельствах. Потом и на Соню тоже напали, увезли непонятно куда: в глухие леса, на базу отдыха и рыболовства. Вокруг - волки воют! А на носу - Новый год!.
Все решили за нее. Ей суждено стать инкатором — безжалостным олицетворением королевского правосудия. Занять должность, одно название которой вызывает у людей суеверный трепет. Но сперва ее наставникам нужно полностью изменить ее взгляды на жизнь, привить ей новые идеалы и принципы. Жизнь доброй и впечатлительной девочки превращается в кромешный ад, в котором зверские пытки и убийства — повседневность, а любовь и дружба — строжайшие табу. Все, что ей дорого, немедленно уничтожается ее учителем, ведь инкатор, имеющий привязанности — слабый инкатор.
Рассказы, которые с 2008 по 2010 г., Александр Чубарьян (также известный как Саша Чубарьян и как Sanych) выкладывал в сети, на своём блоге: sanych74.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Каждый месяц на Arzamas выходила новая глава из книги историка Ильи Венявкина «Чернильница хозяина: советский писатель внутри Большого террора». Книга посвящена Александру Афиногенову — самому популярному советскому драматургу 1930-х годов. Наблюдать за процессом создания исторического нон-фикшена можно было практически в реальном времени. *** Судьба Афиногенова была так тесно вплетена в непостоянную художественную конъюнктуру его времени, что сквозь биографию драматурга можно увидеть трагедию мира, в котором он творил и жил.