Какая строка будет выведена на экран в результате выполнения программы var s string

Строка в Pascal представляет собой одномерный массив символов. Для того, что бы объявить переменную типа строка используется слово String. При объявлении переменной типа String после слова String можно в квадратных скобках указать максимальную длину строки. При этом во время выполнения программы данная переменная не сможет содержать в себе строку с большим количеством символов.

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

Var s1: String [ 5 ]; //Строка из 5 символов

s2: String ; //Строка переменной длины

Работа с переменными типа String похожа на работу с переменными других типов, но со своими нюансами.

Вывести на экран строку можно с помощью процедур Write и Writeln.

Так как переменная типа String является массивом символов, то к каждому символу можно обратиться по его порядковому номеру, причём порядковые номера начинаются с единицы:

Программирование-2 (зачет, ТУСУР)

Переменной типа String можно присвоить какое-либо значение с помощью оператора присваивания, причём справа от него должна находиться строка, заключённая в одинарные кавычки (апострофы):

Если вы укажете строку с большим количеством символов, чем может содержать переменная, то последние символы просто обрежутся:

Var s1: String [ 5 ];

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

Var s1: String [ 5 ];

Переменные типа String можно складывать (сцеплять) друг с другом с помощью операции +:

Var s1,s2,s3: string ;

s3:= ‘Меня зовут ‘ +s1+ ‘ ‘ +s2;

Меня зовут Куклин Денис

Переменные типа String можно сравнивать друг с другом с помощью всех известных нам знаков сравнения, причём сравниваться они будут посимвольно, начиная с первого символа. Большей будет считаться та строка, в которой первый символ имеет порядковый номер больше, чем первый символ другой строки. Если первые символы одинаковые, то сравниваются вторые символы. И т.д. Если в какой либо строке будет меньше символов, то для сравнения автоматически в конец этой строки добавятся недостающие символы с порядковыми номерами 0:

Var s1,s2: string ;

else writeln(s1, ‘ > ‘ ,s2);

Для работы со строками в Pascal существуют различные системные процедуры и функции. Здесь мы рассмотрим некоторые из них, остальные можно изучить в справке PascalABC.NET в разделе «Справочник по языку -> Системные процедуры, функции, типы и константы -> Процедуры и функции для работы с символами и строками».

Небольшое отступление. Сейчас и далее по тексту процедуры и функции буду приводить так же как и в справке PascalABC.Net, в следующем виде:

function Pos (subs,s: string): integer;

Конкатенация строк что это. Объединение строк.Тип данных string c++ что это. Урок #64

Первое слово (function или procedure) указывает на то, чем является данная подпрограмма, процедурой или функцией. Далее название подпрограммы, затем в скобках указывается список передаваемых подпрограмме параметров. Этот список состоит из названий переменных. На практике, эти названия вы можете придумать свои. Так же в скобках после двоеточия указывается тип этих параметров.

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

Читайте также:
Медленный вальс какая программа

Вернёмся к процедурам и функциям для работы со строками.

function Pos (subs,s: string): integer;

Возвращает позицию подстроки subs в строке s. Если не найдена, возвращает 0. Говоря простыми словами, данная функция осуществляет поиск какой-то «небольшой» строчки в «большой» строке и при этом выдаёт порядковый номер символа, с которого начинается данная «небольшая» строчка в «большой» строке. Если в «большой» строке нет данной строчки, то функция выдаёт ноль. Пример:

Var s1,s2: string ;

s1:= ‘В классе 20 учеников.’ ;

write( ‘В строке «‘ ,s1, ‘» слово ученик ‘ );

if i <> 0 then write( ‘присутствует, начиная с ‘ ,i, ‘ символа.’ )

else write( ‘отсутствует.’ );

В строке «В классе 20 учеников.» слово ученик присутствует, начиная с 13 символа.

Обратите внимание, что в строке s1 встречается слово «учеников», а не «ученик», однако компьютер нам сообщил, что данное слово присутствует. Это потому что компьютер не человек и всё воспринимает буквально. Поэтому, что бы он искал именно слово «ученик» необходимо проверять какой символ стоит после слова «ученик», если это не буква, то значит мы нашли именно слово «ученик».

function PosEx (subs,s: string; from: integer := 1): integer;

Возвращает позицию подстроки subs в строке s, начиная с позиции from. Если не найдена, возвращает 0. Такая же функция, как и предыдущая, только здесь можно указать позицию, с которой нужно искать «маленькую» строчку. Если позицию не указать, то по умолчанию поиск начнётся с первого символа. В следующем примере программа отыскивает слово в тексте и считает – сколько раз оно там встречается:

Var s1,s2: string ;

s1:= ‘В классе 20 учеников. Все ученики учатся по-разному. Одни ученики ‘ +

‘являются отличниками или хорошистами, другие ученики троечники, учеников ‘ +

if (PosEx(s2,s1,i)<> 0 ) then

writeln( ‘В следующем тексте:’ );

write( ‘слово ученик ‘ );

if s<> 0 then writeln( ‘встречается ‘ ,s, ‘ раз.’ )

else writeln( ‘не встречается ни разу.’ );

В следующем тексте:

В классе 20 учеников. Все ученики учатся по-разному. Одни ученики являются отличниками или хорошистами, другие ученики троечники, учеников двоечников нет.

слово ученик встречается 5 раз.

Пояснение к строкам 4-6: В старых версиях языка Pascal cтрока в коде программы не может занимать белее определённого количества символов. Сейчас речь идёт не о переменной типа строка, а о строке в редакторе кода. Для того, что бы переменной типа String присвоить строку с большим числом символов, чем то количество, которое входит в строку редактора кода, можно использовать операцию сцепления строк, как это сделано в 4-6 строках программы. В PascalABC.NET весь текст можно разместить в одной строчке, однако для чтения программы это не удобно, так как такая строка не войдёт в страницу текстового редактора и для того, что бы её просмотреть придётся прокручивать страницу вправо. Поэтому рекомендую такой вариант заполнения переменной типа String.

Пояснение к строке 10. В строке 10 встретилась незнакомая вам функция Length. Данная функция возвращает длину строки, т.е. количество символов строки или порядковый номер последнего символа.

function Length (s: string): integer;

Возвращает длину строки. Пример использования данной функции приведён в предыдущем примере.

procedure SetLength (var s: string; n: integer);

Устанавливает длину строки s равной n, то же самое, если мы при объявлении переменной типа String в квадратных скобках укажем максимальную длину строки. Данная процедура может использоваться в том случае, если заранее неизвестно, какая длина должна быть у строки. Пример:

Примечание: обратите внимание на то, что в скобках присутствует слово var. Использование данного слова в описании процедур и функций будет подробно изучено в 15 параграфе. А сейчас вам достаточно знать, что если встречается такое слово, то процедура или функция будет производить какие-либо действия напрямую с той переменной, которая была передана в качестве параметра. Т.е. в данном примере процедура SetLength устанавливает максимальную длину именно в переменной s, а не в какой-то своей собственной.

Читайте также:
Селекс программа для зоотехников это

procedure Insert (source, var s:string; index:integer);

Вставляет подстроку source в строку s с позиции index. Пример:

s:= ‘Автомобиль 2109’ ;

Insert( ‘ваз ‘ ,s, 12 );

Автомобиль ваз 2109

procedure Delete (var s:string; index,count: integer);

Удаляет из строки s count символов с позиции index. Пример:

s:= ‘Автомобиль ваз 2109’ ;

Автомобиль ваз 2109

function Copy (s: string; index,count: integer): string;

Возвращает подстроку строки s длины count с позиции index. Пример:

s:= ‘Автомобиль ваз 2109’ ;

Writeln(Copy(s, 12 , 4 ));

Автомобиль ваз 2109

function Concat (s1,s2. string): string;

Возвращает строку, являющуюся результатом слияния строк s1,s2. Данная функция равносильна следующему коду: s1+s2+… В данном случае вы сами решите для себя каким способом вам удобнее пользоваться. Пример:

Writeln(concat(s, ‘ ваз ‘ , ‘2109’ ));

Автомобиль ваз 2109

function LowerCase (s: string): string;

Возвращает строку в нижнем регистре.

function UpperCase (s: string): string;

Возвращает строку в верхнем регистре. Пример:

s:= ‘Автомобиль Ваз 2109’ ;

АВТОМОБИЛЬ ВАЗ 2109

автомобиль ваз 2109

function CompareStr (s1,s2: string): integer;

Сравнивает строки. Возвращает значение равное меньше нуля в том случае, если s1s2 и равное нулю – если s1=s2.

var s1,s2: string ;

function StrToInt (s: string): integer;

Преобразует строковое представление целого числа к числовому значению. Преобразует строку, в которой записано целое число в число типа integer.

function StrToFloat (s: string): real;

Преобразует строковое представление вещественного числа к числовому значению. Преобразует строку, в которой записано вещественное число в число типа real. Пример:

var s1,s2: string ;

s1:= ‘153’ ; i:=StrToInt(s1);

s2:= ‘136.34’ ; r:=StrToFloat(s2);

function TryStrToInt (s: string; var value: integer): boolean;

Преобразует строковое представление s целого числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False.

function TryStrToFloat (s: string; var value: real): boolean;

Преобразует строковое представление s вещественного числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False.

Обе эти функции похожи на предыдущие с той разницей что если преобразование невозможно, то возвращается логическое значение False, если преобразование прошло успешно – True. Дело в том, что в строке могут оказаться символы, не являющиеся цифрой, или вместо точки стоит запятая, или может втиснуться другой знак. Например, пользователь случайно зацепил не ту кнопку и не обратил на это внимание. Если вы не уверены в правильности строки, то используйте именно эти функции. Пример:

Writeln( ‘Введите целое число.’ );

if TryStrToInt(s1,i) then writeln( ‘Ввод целого числа произведён ‘ +

‘корректно, вы ввели число ‘ ,i)

else writeln( ‘Ввод целого числа произведён не корректно.’ );

Writeln( ‘Введите вещественное число.’ );

if TryStrToFloat(s2,r) then writeln( ‘Ввод вещественного числа’ +

‘ произведён корректно, вы ввели число ‘ ,r)

else writeln( ‘Ввод вещественного числа произведён не корректно.’ );

Введите целое число.

Ввод целого числа произведён не корректно.

Введите вещественное число.

Ввод вещественного числа произведён корректно, вы ввели число 34.45

function IntToStr (a: integer): string; – преобразует целое число в строку.

function FloatToStr (a: real): string; – преобразует вещественное число в строку. Пример:

s1:= ‘На базе ‘ +IntToStr(i)+ ‘ кг картофеля.’ ;

s2:= ‘Стоимость одного килограмма ‘ +FloatToStr(r)+ ‘ рублей.’ ;

На базе 12 кг картофеля. Стоимость одного килограмма 3.45 рублей.

Читайте также:
Как улучшить голос программа

В данном параграфе мы изучили тип данных строка. Познакомились с принципами работы с данным типом и изучили ряд процедур и функций работы с ним.

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

2. Создать базу данных учеников в классе. Должны быть следующие поля: Фамилия; Имя; Успеваемость (средняя оценка по всем предметам). Заполнить базу данных не менее 5 записей. Организовать сортировку по Успеваемости и организовать поиск ученика по фамилии.

3. В данном параграфе в качестве примера была приведена программа Poisc_slova. Составить блок-схему алгоритма работы самого процесса поиска слова. А так же переписать программу, выделив процесс поиска в отдельную функцию.

4. Имеем следующий текст: «Утром на базу поступил 112 кг картофеля. В обед привезли ещё 52 кг. А вечером приехала фура с 1050 кг картофеля». Необходимо сосчитать общее количество картофеля.

5. Имеем следующую строку: «В школе учится 520 учеников. Работает 22 учителя». Обратите внимание, что между словами не один пробел, а несколько. Необходимо удалить лишние пробелы из текста.

Const rus: set of char = [ ‘А’ .. ‘Я’ , ‘а’ .. ‘я’ ];

Writeln( ‘Введите фамилию.’ );

Источник: www.dvkuklin.ru

Какая строка будет выведена на экран в результате выполнения программы var s string

50 баллов В4. Какая строка будет выведена на экрай в результате выполнения программы? var s: string: 1: byte, begin s=’сокол около колокола»: i=pos(‘ кол); while i do begin delete (si 3); i= pos(кол’); end; Writeln(s); End.

102

Комментарии (0)

По дате По дате Популярные

Нет комментарий

Войдите, чтобы комментировать

Ответов нет

Знаешь ответ? Добавь его сюда и заработай денег! Ответы проходят модерацию. Минимум 100 символов.

Чтобы добавить ответ — нужно войти или зарегистрироваться

Похожие вопросы

(Ольга ученик ) (Информатика)

1

Источник: teachs.ru

Какая строка будет выведена на экран в результате выполнения программы var s string

Вопрос по информатике:

var s, s1: string[20];

begin

s1:=’karabas’;

s:=copy (s1, 2, 6);

s:=’b’ + s;

insert(‘-‘, s, 5);

writeln(s);

end.

Запишите строку S , которая будет выведена на экран в результате выполнения следующей программы

Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?

Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок — бесплатно!

  • bookmark_border
  • 02.10.2016 02:21
  • Информатика
  • remove_red_eye 14857
  • thumb_up 31
Ответы и объяснения 1

// Решение должно иметь от 20 до 5000 символов

  • 03.10.2016 01:16
  • thumb_up 26
Знаете ответ? Поделитесь им!

Как написать хороший ответ?

Чтобы добавить хороший ответ необходимо:

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

Этого делать не стоит:

  • Копировать ответы со сторонних ресурсов. Хорошо ценятся уникальные и личные объяснения;
  • Отвечать не по сути: «Подумай сам(а)», «Легкотня», «Не знаю» и так далее;
  • Использовать мат — это неуважительно по отношению к пользователям;
  • Писать в ВЕРХНЕМ РЕГИСТРЕ.
Есть сомнения?

Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.

Трудности с домашними заданиями? Не стесняйтесь попросить о помощи — смело задавайте вопросы!

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

Источник: online-otvet.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru