Читаем Песни о Паскале (СИ) полностью

const Pele = ’Эдсон Арантес ду Насименту’;

begin

Writeln(’Pele = ’ + Pele); Readln;

end.


Б) А эта программа что напечатает?


var A, B : string;

begin

A:=’123’; B:=’456’;

Writeln(’A+B= ’ + A + B); Readln;

end.


В) Является ли следующий оператор оператором присваивания?


const Pele = ’Эдсон Арантес ду Насименту’;


Г) Пусть ваша программа запросит у пользователя его адрес, а именно: город, улицу, номер дома и номер квартиры. А затем напечатает адрес одной строкой в таком виде:


Город: ГГГ Улица: УУУ Дом: ДДД Квартира: ККК


Сделайте два варианта программы: один – с печатью нескольких параметров оператором Writeln, другой – с объединением строк.

Д) Какие из следующих операторов забракует компилятор?


const

      Pele = ’Эдсон Арантес ду Насименту’;

      ABBA : string = ’Музыкальный шедевр из Швеции’;

var

      Moscow : string;

begin

      Pele := ’Лучший футболист мира’;

      ABBA := ’Распевают частушки’;

      Moscow:= ’Столица олимпиады’;

end.

Глава 10


Условный оператор




Согласитесь, наши последние программы слегка поумнели, догнав по интеллекту попугая. Но негоже на лаврах почивать, – научим компьютер принимать осмысленные решения.


Стой! Кто идет?

Вот секретное учреждение, вход в него строго ограничен. А вы – часовой, и пропускаете лишь тех, кто назовет пароль – слово «pascal». Наскучив на посту, вы задумали приспособить вместо себя компьютер. Ваша новая программа «P_10_1» должна запросить у пользователя пароль и решить, пропускать ли этого человека.


Вопрос ребром

Что проще должности часового? Пускать или не пускать? Подобные вопросы решаются поминутно: свернуть направо или налево? орел или решка? быть или не быть? От полученного ответа зависят дальнейшие действия.

Обычно мы рассуждаем так: ЕСЛИ некоторое утверждение верно, ТО делаем одно, а ИНАЧЕ делаем другое. Например, ЕСЛИ на улице жарко, ТО наденем футболку, а ИНАЧЕ – свитер. Выделенные мною слова – ключевые в этом рассуждении. Переведя их на английский, получим условный оператор языка Паскаль.

Существуют два варианта условного оператора – полный и неполный. Полный оператор выражается тремя ключевыми словами: IF – «если», THEN – «то» и ELSE – «иначе», и записывается он так:

IF <условие> THEN <Оператор_1> ELSE <Оператор_2>

Первый оператор выполняется, если условие верно, а второй – если ложно. Стало быть, условный оператор – это сложная конструкция, которая включает в себя другие операторы.

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


      if S = ’pascal’ then Writeln(’Проходите!’) else Writeln (’Стойте!’)


Здесь логическое выражение выделено курсивом. То же самое можно записать чуть иначе.


if ’pascal’ = S

      then Writeln(’Проходите!’)

      else Writeln (’Стойте!’)


Теперь переменная S и константа «pascal» поменялись местами, и это никак не сказалось на условном операторе, поскольку знак равенства в логических выражениях означает сравнение (а не присваивание!).

Части условного оператора THEN и ELSE называют ветвями (положительной и отрицательной соответственно). Стало быть, и условие, и ветви оператора можно размещать в нескольких строках – это удобно как для чтения, так и для отладки программ.

В главе 7 мы познакомились с графическим изображением алгоритмов. Существуют лишь три базовые управляющие конструкции, из которых вяжется хитроумная паутина современных программ: 1) линейная последовательность, 2) условный переход и 3) цикл. Условный оператор Паскаля – это и есть один из вариантов условного перехода. На блок-схемах его изображают так (рис. 23).




Рис.23 – Блок схема полного условного оператора

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


Пост номер один

Вам понятен условный оператор? Тогда обратимся к программе-часовому. Вероятно, вы написали её раньше меня, и нам осталось лишь сверить варианты.


var S : string;

begin

Writeln(’Пароль?’); Readln(S);

if S = ’pascal’

      then Writeln(’Проходите!’)

      else Writeln(’Стойте!’);

Writeln(’Нажмите Enter’); Readln;

end.


Почему после оператора Writeln(’Проходите!’) не видно разделителя – точки с запятой? Потому, что внутри условного оператора разделители не ставят! Другое дело – оператор Writeln(’Стойте!’). Здесь заканчивается условный оператор IF, и точка с запятой уместна – она разделяет операторы. Попробуйте нарушить эту запись и узнать мнение компилятора.


Неполный условный оператор

Перейти на страницу:

Похожие книги

Букварь сценариста. Как написать интересное кино и сериал
Букварь сценариста. Как написать интересное кино и сериал

Александр Молчанов создал абсолютно честный и увлекательный «букварь» для сценаристов, делающих первые шаги в этой профессии. Но это не обычный скучный учебник, а увлекательная беседа с профессионалом, которая поможет вам написать свой первый, достойный сценарий! Книга поделена на уроки, из которых вы узнаете, с чего начать свою работу, как сделать героев живыми и интересными, а сюжет — захватывающим и волнующим. Первая часть книги посвящена написанию сценариев для больших экранов, вторая — созданию сценариев для телесериалов.Как развить и улучшить навыки сценариста? Где искать вдохновение? Почему одни идеи выстреливают, а от других клонит в сон? И как вообще правильно оформлять заявки и составлять договоры? Ответы на эти и многие другие вопросы вы найдете внутри! Помимо рассказов из своей практики и теоретической части, Александр Молчанов приводит множество примеров из отечественной и западной киноиндустрии и даже делится списком шедевров, которые обязательно нужно посмотреть каждому сценаристу, мечтающему добиться успеха.

Александр Владимирович Молчанов

Драматургия / Прочее / Культура и искусство