На Горох
Информатика, 9 класс

7.1. Ввод, вывод, присваивание строковых величин

"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович

Объяснение темы В оглавлении: 7.1. Ввод, вывод, присваивание строковых величин

Кратко о теме

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

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Строковая величина — переменная, предназначенная для хранения последовательности символов. Например, в ней можно сохранить имя человека или название города. В отличие от числовой величины, строка обычно не участвует в арифметических вычислениях: программа воспринимает её как текст. Поэтому для названий и сообщений используют строки, а для подсчётов — числа.

Строковая константа — неизменяемая последовательность символов, записанная в кавычках, например 'Минск'. Она задаёт готовый текст, который команда может использовать напрямую. Имя переменной, напротив, обозначает место хранения значения и пишется без кавычек. Это различие нужно, чтобы программа понимала, где указан сам текст, а где — переменная.

Строковый тип данных задаёт, как программа хранит и обрабатывает последовательность символов. В изучаемом языке Pascal строковую переменную объявляют с типом string, например var city: string;. Объявление сообщает программе, что переменная city предназначена для текста. Благодаря этому можно заранее выбрать подходящий тип и не смешивать строки с числами.

Присваивание строковой величине — операция, которая задаёт переменной строковое значение. В Pascal для неё используют знак :=, например city := 'Минск';. Слева от него указывают переменную, а справа — значение, которое нужно сохранить. Присваивание позволяет менять содержимое переменной по ходу работы программы.

Как это устроено

Сначала строковую переменную объявляют и дают ей понятное имя. Например, city подходит для названия города, а message — для сообщения. Тип string сообщает компилятору, что в переменной будет текст, а не число для вычислений. Если тип не соответствует данным, программа не сможет правильно обработать значение, поэтому тип выбирают до ввода и использования переменной.

Чтобы получить строку с клавиатуры, в Pascal применяют команду readln и указывают переменную: readln(city);. Введённые символы сохраняются в city, а сама команда не задаёт текст заранее — его сообщает пользователь во время выполнения программы. Имя переменной пишут без кавычек, потому что программе нужно обратиться к месту хранения, а не показать слово city как готовый текст. Для ввода строки переменная должна иметь строковый тип.

Для вывода на экран используют writeln. Команда writeln(city); показывает значение, которое сейчас хранится в переменной, а writeln('Привет'); выводит постоянный текст Привет. В первом случае программа обращается к переменной и получает её содержимое; во втором — берёт символы непосредственно из константы. Поэтому кавычки ставят вокруг текста, но не вокруг имени переменной.

Строковой переменной можно присвоить константу или значение другой строковой переменной. Например, city := 'Минск'; сохраняет в city текст Минск, а second := first; копирует в second значение, которое на тот момент хранится в first. Знак := показывает направление действия: значение справа помещается в переменную слева. Если в переменной уже был текст, он заменяется новым, а не дополняется им автоматически.

Кавычки нужны для того, чтобы отличать текстовую константу от имени переменной. В записи writeln(city); программа ищет переменную city и выводит её содержимое, а в writeln('city'); она выводит четыре символа c, i, t, y. Та же разница действует при присваивании: city := 'Минск'; задаёт текст, а city := Minsk; заставит программу искать переменную Minsk. Проверяя команду, спросите себя, требуется ли использовать значение переменной или вывести именно написанные символы.

Операции со строковыми величинами

ДействиеНазначениеОбщий видПример
Ввод строкиСохранить введённый текст в переменнойreadln(имя);readln(city);
Вывод строкиПоказать значение переменной или текстwriteln(имя); или writeln('текст');writeln(city);
Присваивание строковой константыЗаписать готовый текст в переменнуюимя := 'текст';city := 'Минск';
Присваивание значения другой переменнойСкопировать строковое значениеимя1 := имя2;second := first;

Сначала найдите в таблице нужное действие: ввод, вывод или присваивание. Затем подставьте вместо общего обозначения имя переменной или нужный текст, соблюдая правила кавычек. Примеры показывают формы команд для Pascal; точка с запятой завершает команду.

Разбор задач

Задача 1. Составить фрагмент программы, который вводит строку и выводит её на экран. Понадобится одна переменная, потому что введённое значение можно сохранить в ней, а затем обратиться к нему при выводе. Объявим строковую переменную s, чтобы программа знала, что в неё будут записывать текст.

  1. Объявляем переменную: var s: string;.
  2. Считываем введённую пользователем строку: readln(s);.
  3. Выводим значение переменной: writeln(s);.

Ответ: var s: string; readln(s); writeln(s);. После запуска пользователь вводит строку, она сохраняется в s, а следующая команда выводит её на экран. В кавычки имя s не заключают, потому что нужен сохранённый текст, а не буква s.

Задача 2. Записать команду, присваивающую переменной с именем city строковую константу «Минск», и вывести её значение. В условии уже заданы и имя переменной, и нужный текст. Нужно записать текст в кавычках, а переменную оставить без кавычек, чтобы программа различала их роли.

  1. Присваиваем константу переменной: city := 'Минск';.
  2. Выводим содержимое переменной: writeln(city);.

Ответ: city := 'Минск'; writeln(city);. Сначала в city сохраняется текст Минск, затем команда вывода получает значение из переменной. Если написать writeln('city');, на экран появится слово city, а не название города.

Задача 3. Даны строковые переменные first и second. Нужно присвоить переменной second значение переменной first, затем вывести обе переменные. При присваивании копируется текущее значение источника, то есть переменной справа от :=. Поэтому для понимания результата полезно сначала проследить, что хранится в first.

  1. Копируем значение: second := first;.
  2. Выводим первую переменную: writeln(first);.
  3. Выводим вторую переменную: writeln(second);.

Ответ: second := first; writeln(first); writeln(second);. Если до присваивания first содержала текст 'Аня', после него и first, и second содержат 'Аня'. Команда не стирает источник и не переносит значение с его удалением: она записывает копию в переменную second.

Типичные ошибки

Записывать строковую константу без кавычек. Например, в city := Минск; слово Минск может быть воспринято как имя переменной, а не как текст. Так ошибаются, когда забывают, что значение-константа и имя переменной обозначаются по-разному. Проверьте себя: если справа требуется готовое слово, заключите его в кавычки.

Заключать имя переменной в кавычки при вводе или выводе. Тогда программа может трактовать имя как постоянный текст, а не обратиться к переменной. Ошибка появляется из-за переноса правила для констант на все строковые записи. Перед запуском проверьте: кавычки должны окружать текст, но не имя переменной в readln или writeln.

Путать присваивание с проверкой равенства. Знак := задаёт переменной новое значение, а не спрашивает, совпадают ли две величины. Путаница возникает потому, что в математике равенство часто записывают одним знаком =. Проверьте команду по смыслу: слева должна стоять переменная, которой задают значение, а справа — само значение.

Вводить строку в переменную числового типа. Числовая переменная предназначена для хранения чисел, и текст не соответствует её типу. Так бывает, если выбирают переменную только по имени, не проверяя объявление. Перед вводом найдите объявление переменной: для текста у неё должен быть тип string.

Связь с другими темами

Для работы со строками нужны понятия переменной, её имени, типа данных и оператора присваивания. Если эти понятия знакомы по работе с числами, здесь меняется прежде всего вид хранимых данных: вместо числового значения переменная содержит текст. Навыки ввода и вывода чисел помогают понять общий порядок взаимодействия с программой, но текстовые значения записываются иначе. Строки пригодятся при обработке имён, названий и сообщений, то есть данных, которые нельзя свести к числовым вычислениям.

Что запомнить

  • Строковая переменная хранит последовательность символов.
  • Строковую константу записывают в кавычках.
  • Для ввода строки указывают переменную, в которую сохраняется значение.
  • При выводе можно показать как значение переменной, так и текстовую константу.
  • Присваивание заменяет текущее значение переменной новым.
  • Тип переменной должен соответствовать данным, которые в неё вводят.

Частые вопросы по теме

Чем строковая переменная отличается от строковой константы?

Строковая переменная — именованное место, в котором хранится текст и значение которого может изменяться. Строковая константа — сам текст, записанный в кавычках; он не меняется во время выполнения команды.

Зачем строковую константу заключают в кавычки?

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

Можно ли присвоить одной строковой переменной значение другой?

Да. Например, команда second := first; копирует текущее строковое значение first в переменную second.

Что произойдёт с прежним значением переменной после присваивания?

Прежнее значение будет заменено новым. После команды присваивания в переменной хранится то, что указано справа от знака :=.

Почему строку нельзя вводить в переменную числового типа?

Тип переменной определяет, какие данные она может хранить и как программа их обрабатывает. Числовая переменная предназначена для чисел, поэтому для текста нужно объявить переменную строкового типа.

Спросить по теме параграфа

7.1. Ввод, вывод, присваивание строковых величин

Учебник

Оглавление →
Предмет
Информатика
Класс
9 класс
Учебник
"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович