Новые книги

В словосочетании «творческое мышление» главное слово – мышление. Оно само по себе творческий акт. Все новое, интересное, сложное – пища для ума, и пищу эту окружающий мир поставляет в избытке. А переработать материал в новые идеи можно, используя приемы из этой книги, написанной известным российским блогером (40,000 читателей!) Дмитрием Чернышевым, работа которого – креативный директор в рекламном агентстве – почти полтора десятка лет связана с ежедневной генерацией идей.
Бестселлер в компьютерной литературе для тех, кому за …, поможет каждому желающему освоить компьютер легко и просто не только в теории, но и на практике! В книге подробно описан каждый важный процесс в освоении киберпространства, а также проиллюстрирован каждый шаг.

От великого множества учебников по компьютерам он отличается тем, что написан дилетантом и протестирован такими же дилетантами. Как показала практика, Букварь, написанный человеком, познающим компьютер, принес большую пользу ученикам пенсионного возраста. Автор помогает своим сверстникам, для которых тяжело сразу понять, какой кнопкой кликать – и что значит «кликать» вообще – познать азы компьютерной грамотности.

24. Строки

24. Строки

   Особое место в языке ПАСКАЛЬ занимают массивы символов.  Стандарт-

ный ПАСКАЛЬ допускает два способа хранения символьных массивов в  па-

мяти ЭВМ: распакованный и упакованный. Распакованные массивы символов

хранятся в памяти ЭВМ по одному символу в машинном слове, упакованные

- по одному символу в байте. При описании упакованного массива симво-

лов используют служебное слово PACKED, например:

 

            var   MAS: Packed Array[1..20] of Char;

 

Описание распакованного массива символов имеет вид:

 

            var   M: Array[1..20] of char;

 

   Для преобразования символьного массива из  распакованной  формы  в

упакованную и наоборот,  из упакованной в распакованную,  в язык ПАС-

КАЛЬ введены две стандартные функции Pack, UnPack.

   Упакованный массив символов образует символьную строку. Символьная

строка может быть либо строковой константой, либо строковой  перемен-

ной. Строковая константа, или строка, представляет собой совокупность

символов, заключенную  в апострофы.  Строка - это элементарная  конс-

трукция языка ПАСКАЛЬ. Строковые константы могут входить в состав вы-

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

описания констант.

   Строковые переменные - это одномерные упакованные  массивы  симво-

лов, для описания которых в TURBO PASCAL введен тип String.

   Например, если строка содержит до 30 символов,  ее тип будет опре-

делен как

 

    type   s= String[30];

 

   Длина строки не может содержать более, чем 255 символов.

   В TURBO PASCAL определено понятие строки переменной длины,  в этом

случае ее описание задается как

 

    type  s= String;

 

   Тип String без указания длины совместим со всеми типами строк.

   Особенностью строковых переменных является то, что к ним можно об-

ращаться как к скалярным переменным, так и к массивам. Во втором слу-

чае применяется конструкция "переменная с индексом", что обеспечивает

доступ к   отдельным символам строки.  При этом нижняя граница идекса

равна 1. Отдельный символ строки совместим с типом Char.

   В памяти ЭВМ строка занимает количество байтов, на единицу большее

ее длины. Нулевой байт строки содержит ее длину.

   Для строк определены операции присваивания, слияния (конкатенации)

и сравнения.

 

   Для сравнения строк применяются все операции отношения.  Сравнение

строк происходит посимвольно,  начиная с первого символа. Строки рав-

ны, если имеют одинаковую длину и посимвольно эквивалентны.

   Строки могут быть элементами списка ввода - вывода, при этом запи-

сывается имя строки без индекса.

   При вводе  строковых переменных количество вводимых символов может

быть меньше,  чем длина строки. В этом случае вводимые символы разме-

щаются с начала строки, а оставшиеся байты заполняются пробелами. Ес-

ли количество  вводимых  символов  превышает  длину  строки,   лишние

символы отбрасываются.

   Инициализация строк может производиться как с помощью типизирован-

ных констант:

 

   const sName: String[9]= 'IBM PC/AT';

 

так и с использованием второй разновидности функции FillChar:

 

   FillChar( var V; NBytes: Word; C: Char );

 

например:

 

   FillChar(A, SizeOf(A), '0');

 

   Для работы  со  строками в TURBO PASCAL включены процедуры и функ-

ции, которые обеспечивают редактирование и преобразование строк.