Шпаргалка по "Алгоритмические языки"

Автор: Пользователь скрыл имя, 22 Января 2011 в 20:59, шпаргалка

Описание работы

Язык программирования. Алгоритмические языки.
Понятие алгоритма, виды алгоритмов.
Основные свойства алгоритмов.
Операторы языка программирования Pascal.
Оператор присваивания.
Оператор ветвления (условный оператор).
Операторы цикла.
Типы данных языка Pascal, операторы преобразования типов.
Арифметические операции и выражения в языке Pascal. Правила записи арифметических выражений.
Функции для работы со строками.
Массивы в языке Pascal. Статические и динамические массивы.
Функции работы с датой и временем.
Логические выражения в языке Pascal.
Локальные и глобальные переменные.
Понятие подпрограммы. Виды подпрограмм.
Понятие процедуры, формальные, фактические параметры.
Понятие функции, формальные, фактические параметры.
Рекурсия.
Работа с файлами.
Компоненты среды программирования Delphi.
Отладка, пошаговая троссировка программ в среде Delphi.

Работа содержит 1 файл

ответы.doc

— 278.50 Кб (Скачать)
 

   Непосредственно сами строки Delphi поддерживают единственную операцию, так называемую операцию конкатенации, то есть присоединения. Несмотря на "научное" название, операция конкатенации выполняет очень простую процедуру. С помощью операции конкатенации одна строка присоединяется к другой: 
 
var S, S1, S2: String; 
begin 
 
S:=S1+S2; 
end; 
 
   Результирующая строка S будет суммой двух слагаемых строк. Длина строки, то есть количество символов в строке, возвращается встроенной функцией 
 
   
function Length(S: String): Integer; 
 
   Delphi работает со строками типа String, в котором длина строки записывается в начале строки. Однако в Windows используются строки типа PChar, в котором длина строки определяется специальным символом конца строки. Поэтому для использования функций Windows тип String необходимо предварительно переводить в тип PChar.
Преобразование типа String в тип PChar выполняет функция 
 
   
function PChar(S: String): PChar; 
 
   Для полноценной
работы со строками Delphi используются следующие стандартные процедуры и функции:

   Функции преобразования в  числовой формат и  обратно

   Выполняя  вычисления, используем для ввода  данных и отображения результатов  следующие функции, работающие со строками Delphi:

   функция IntToStr(N: Integer): String 
 Преобразует целое число N в строку.
   функция StrToInt(S: String): Integer 
 Преобразует строку S в целое число.
   функция FloatToStr(X: Extended): String 
 Преобразует число с плавающей точкой X в строку.
   функция StrToFloat(S: String): Extended 
 Преобразует строку S в число с плавающей точкой.

   Процедуры и функции преобразования дат и времени

   Сначала собственно функции, предоставляющие  информацию о текущих дате и времени:

   функция Now: TDateTime 
 Возвращает текущую дату и время.
   функция Date: TDateTime 
 Возвращает текущую дату.
   функция Time: TDateTime 
 Возвращает текущее время.

    
Далее, функции, работающие с составляющими  даты и времени (год, месяц, число, день недели, часы, минуты, секунды и даже миллисекунды):

   функция DayOfWeek(Date: TDateTime): Integer 
 Возвращает текущий номер дня недели: 1 - воскресенье, 7 - суббота.
   процедура DecodeDate(Date: TDateTime; var Year, Month, Day: Word) 
 Разбивает дату Date на год - Year, месяц - Month и день - Day.
   процедура DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word) 
 Разбивает время Time на час - Hour, минуты - Min, секунды - Sec и миллисекунды - MSec.
   функция EncodeDate(Year, Month, Day: Word): TDateTime 
 Объединяет год - Year, месяц - Month и день - Day в значение типа TDateTime.
   функция EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime 
 Объединяет час - Hour, минуты - Min, секунды - Sec и миллисекунды - MSec в значение типа TDateTime.

    
Наконец, собственно, функции, переводящие  дату и время из формата TDateTime в  строчный формат:

   функция DateTimeToStr(DateTime: TDateTime): String 
 Преобразует дату и время DateTime в строку.
   функция DateToStr(Date: TDateTime): String 
 Преобразует дату Date в строку.
   функция TimeToStr(Time: TDateTime): String 
 Преобразует время Time в строку.

    

   Следующие функции сравнивают две строки между собой:

   функция AnsiCompareStr(const S1, S2: String): Integer 
 Сравнивает две строки S1 и S2 с учётом регистра символов. 
 Возвращает значение <0 если S1, 0 если S1=S2, >0 если S1>S2
   функция AnsiCompareText(const S1, S2: String): Integer 
 Сравнивает две строки S1 и S2 без учёта регистра символов. 
 Возвращает значение <0 если S1, 0 если S1=S2, >0 если S1>S2

    
Следующие функции осуществляют поиск  в текущей строке подстроки, вставляют, удаляют или заменяют подстроку:

   функция Pos(Substr: String; Str: String): Integer 
 Возвращает позицию (индекс) первого вхождения Substr в строке Str. Если Substr нет в Str, возвращает 0.
   функция Insert(Source: String; var S: String; Index: Integer): Integer 
 Вставляет строку Source в строку S, начиная с номера символа, равного Index
   функция Delete(var S: String; Index, Count: Integer): Integer 
 Удаляет из строки S подстроку, начинающуюся с номера символа, равного Index, и содержащую до Count символов.
   функция StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): String 
 Заменяет в строке S подстроку OldPattern на строку NewPattern с учётом флага TReplaceFlags. Для работы с этой функцией нужно создать переменную типа TReplaceFlags - это множество, и включить в него одно или оба значения из следующих: 
   rfReplaceAll - будут заменены все вхождения. Если это значение не будет включено во множество, то будет заменено только первое вхождение; 
   rfIgnoreCase - замена будет без учёта регистра символов. Если это значение не будет включено во множество, то замена будет чувствительна к регистру символов.

    
Наконец, функция копирования части  строки:

   функция Copy(S: String; Index, Count: Integer): String 
 Возвращает подстроку строки S, начиная с номера символа, равного Index и содержащую до Count символов.

Массивы в языке Pascal. Статические и динамические массивы.

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

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

Объявление  типа «массив» в Паскале -

  type

    TArrayType = array [0..9] of Integer; (* Объявления типа "массив" *)

  var

    arr1, arr2, arr3: TArrayType; (* Объявление трёх переменных-массивов одного типа *) 

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

a:array[1..10] of string[10];

st:string;

begin

for i:=1 to 10 do

a[i]:=GetSubStr(Edit1.text,' ',i);//используем пробел в

качестве разделителя 

for i:=1 to 10 do

st:=st+IntTostr(i)+' '+a[i]+#13;

ShowMessage(st);

end;

типичные дейчтвия в массиве:поиск мин, мах, сортировка, поиск элемента.

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

Динамические массивы

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

Пример  динамического массива  на Delphi

  byteArray  : Array of Byte;           // Одномерный массив

  multiArray : Array of Array of string; // Многомерный массив

Пример  статического массива  на Паскале -

  wordArray  : array [Word] of Integer;    { Статический, размер = High(Word) + 1 }

  multiArray : array [Byte, 1..5] of Char; { Статический массив, 2 измерения }

  rangeArray : array [5..20] of String;    { Статический массив, размер = 16 } 
 
 
 
 
 
 
 
 

     Функции и процедуры  для работы с  датой и временем. 

   Date 
   Возвращает  текущую дату в формате TDateTime.
   DateTimeToFileDate 
   Конвертирует  значение даты и времени формата  TDateTime в значение даты и времени формата DOS.
   DateTimeToStr 
   Преобразовывает значение даты и времени формата  TDateTime в его строковое представление.
   DateTimeToString 
   Преобразовывает значение даты и времени формата TDateTime в строку, используя заданный формат.
   DateTimeToSystemTime 
   Конвертирует  значение даты и времени формата  TDateTime Delphi в формат TSystemTime Win32 API.
   DateTimeToTimeStamp 
   Преобразовывает значение даты и времени формата  TDateTime в соответствующее значение TTimeStamp.
   DateToStr 
   Преобразовывает значение даты формата TDateTime в ее строковое представление.
   DayOfWeek 
   Возвращает  порядковый номер дня недели указанной  даты.
   DecodeDate 
   Возвращает  отдельно год месяц и день для  значения типа TDateTime.
   DecodeTime 
   Возвращает  отдельно часы, минуты, секунды и  миллисекунды для значения времени  указанного в формате TDateTime.
   EncodeDate 
   Преобразовывает отдельные значения года, месяца и  дня в значение типа TDateTime.
   EncodeTime 
   Преобразовывает значения часов, минут, секунд и миллисекунд в значение типа TDateTime.
   FileDateToDateTime 
   Преобразовывает DOS переменную "дата-время" в формат TDateTime.
   FormatDateTime 
   Преобразовывает значение даты и времени типа TDateTime в строку заданного формата.
   IncMonth 
   Увеличивает или уменьшает дату на заданное количество месяцев.
         
         
   Now 
   Возвращает  текущую дату и время в формате  TDateTime.
   ReplaceDate 
Только в Delphi 5
   Изменяет  дату в значении даты и времени  типа TDateTime.
   ReplaceTime 
Только в Delphi 5
   Изменяет  время в значении даты и времени типа TDateTime.
   StrToDate 
   Преобразовывает строковое представление даты в  значение типа TDateTime.
   StrToDateTime 
   Преобразовывает строковое представление даты и  времени в значение типа TDateTime.
   StrToTime 
   Преобразовывает строковое представление времени в значение типа TDateTime.
   SystemTimeToDateTime 
   Конвертирует  значение времени формата Win32 API TSystemTime в значение Delphi-формата TDateTime.
   Time 
   Возвращает  текущее значение времени в формате  TDateTime.
   TimeStampToDateTime 
   Преобразовывает значение типа TTimeStamp в соответствующее значение типа TDateTime.
   TimeStampToMSecs 
   Подсчитывает  суммарное количество миллисекунд в значении типа TTimeStamp.
   TimeToStr 
   Преобразовывает значение времени формата TDateTime в его строковое представление.

Информация о работе Шпаргалка по "Алгоритмические языки"