Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2011, 10:55   #1
PRIVIDENIE18
Пользователь
 
Аватар для PRIVIDENIE18
 
Регистрация: 01.04.2009
Сообщений: 28
По умолчанию Теория.......

Народ подскажите пожалуйста,
Какие существуют стандартные процедуры для работы со строковыми переменными? Желательно подробно))))

Последний раз редактировалось PRIVIDENIE18; 29.05.2011 в 11:28.
PRIVIDENIE18 вне форума Ответить с цитированием
Старый 29.05.2011, 11:17   #2
swillrocker
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 44
По умолчанию

Функция Concat(s1, s2, ..., sn) возвращает строку, являющуюся слиянием строк s1, s2, ..., sn. Ее действие аналогично операции конкатенации.

Функция Copy(s, start, len) возвращает подстроку длиной len, начинающуюся с позиции start строки s. Параметры len и start должны быть целого типа.

Процедура Delete(s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной len.

Процедура Insert(subs, s, start) вставляет в строку s подстроку subs, начиная с позиции start.

Функция Length(s) возвращает фактическую длину строки s, результат имеет тип byte.

Функция Pos(subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или 0, если subs не содержится в s.

Процедура Str(x, s) преобразует числовое значение x в строку s, при этом для x может быть задан формат, как в процедурах вывода write и writeln, например, Str(x:6:2, s).

Процедура Val(s, x, errcode) преобразует строку s в значение числовой переменной x, при этом строка s должна содержать символьное изображение числа. В случае успешного преобразования переменная errcode равна нулю. Если же обнаружена ошибка, то errcode будет содержать номер позиции первого ошибочного символа, а значение не x определено.
swillrocker вне форума Ответить с цитированием
Старый 29.05.2011, 11:19   #3
PRIVIDENIE18
Пользователь
 
Аватар для PRIVIDENIE18
 
Регистрация: 01.04.2009
Сообщений: 28
По умолчанию

Цитата:
Сообщение от swillrocker Посмотреть сообщение
Функция Concat(s1, s2, ..., sn) возвращает строку, являющуюся слиянием строк s1, s2, ..., sn. Ее действие аналогично операции конкатенации.

Функция Copy(s, start, len) возвращает подстроку длиной len, начинающуюся с позиции start строки s. Параметры len и start должны быть целого типа.

Процедура Delete(s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной len.

Процедура Insert(subs, s, start) вставляет в строку s подстроку subs, начиная с позиции start.

Функция Length(s) возвращает фактическую длину строки s, результат имеет тип byte.

Функция Pos(subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или 0, если subs не содержится в s.

Процедура Str(x, s) преобразует числовое значение x в строку s, при этом для x может быть задан формат, как в процедурах вывода write и writeln, например, Str(x:6:2, s).

Процедура Val(s, x, errcode) преобразует строку s в значение числовой переменной x, при этом строка s должна содержать символьное изображение числа. В случае успешного преобразования переменная errcode равна нулю. Если же обнаружена ошибка, то errcode будет содержать номер позиции первого ошибочного символа, а значение не x определено.
Спасибо большое)))))))))))))
PRIVIDENIE18 вне форума Ответить с цитированием
Старый 29.05.2011, 11:29   #4
PRIVIDENIE18
Пользователь
 
Аватар для PRIVIDENIE18
 
Регистрация: 01.04.2009
Сообщений: 28
По умолчанию

Что такое массив и как работает алгоритм поиска минимальных элементов?
PRIVIDENIE18 вне форума Ответить с цитированием
Старый 29.05.2011, 13:05   #5
swillrocker
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 44
По умолчанию

Цитата:
Сообщение от PRIVIDENIE18 Посмотреть сообщение
Что такое массив и как работает алгоритм поиска минимальных элементов?
Код:
PROGRAM Min_Max;
VAR 
   V : array [1..5] of Integer;
   i, min, max : Integer;
BEGIN
 for i:=1 to 5 do read(a[i]); 
   min := V[1];
   max := V[1];
   FOR i:=2 TO 5 DO begin
     IF V[i] < min THEN min := V[i];
     IF V[i] > max THEN max := V[i];
   end;
   Writeln(‘min: ’, min);
   Writeln(‘max: ’, max)
END.
Он (алгоритм) работает так:
1.Вводим элементы в массив
2.Берем за минимальный(максимальный) первый элемент массива.
3.В цикле от двух до n проверяем условие:
Если i-ый элемент массива меньше(больше) min присваиваем min этот элемент.
Иначе оставляем без изменения.

Последний раз редактировалось swillrocker; 29.05.2011 в 13:07.
swillrocker вне форума Ответить с цитированием
Старый 29.05.2011, 13:07   #6
PRIVIDENIE18
Пользователь
 
Аватар для PRIVIDENIE18
 
Регистрация: 01.04.2009
Сообщений: 28
По умолчанию

Цитата:
Сообщение от swillrocker Посмотреть сообщение
Код:
PROGRAM Min_Max;
VAR 
   V : array [1..5] of Integer;
   i, min, max : Integer;
BEGIN
 for i:=1 to 5 do read(a[i]); 
   min := V[1];
   max := V[1];
   FOR i:=2 TO 5 DO begin
     IF V[i] < min THEN min := V[i];
     IF V[i] > max THEN max := V[i];
   end;
   Writeln(‘min: ’, min);
   Writeln(‘max: ’, max)
END.
Он (алгоритм) работает так:
1.Вводим элементы в массив
2.Берем за минимальный(максимальный) первый элемент массива.
3.В цикле от двух до n проверяем условие:
Если i-ый элемент массива меньше min присваиваем min этот элемент.
Иначе оставляем без изменения.
Спасибо большое
PRIVIDENIE18 вне форума Ответить с цитированием
Старый 29.05.2011, 13:10   #7
swillrocker
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 44
По умолчанию

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

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

взято с http://ru.wikipedia.org/wiki/Индексный_массив
swillrocker вне форума Ответить с цитированием
Старый 29.05.2011, 13:24   #8
PRIVIDENIE18
Пользователь
 
Аватар для PRIVIDENIE18
 
Регистрация: 01.04.2009
Сообщений: 28
По умолчанию

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

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

взято с http://ru.wikipedia.org/wiki/Индексный_массив
Спасибо большое
PRIVIDENIE18 вне форума Ответить с цитированием
Старый 29.05.2011, 13:27   #9
PRIVIDENIE18
Пользователь
 
Аватар для PRIVIDENIE18
 
Регистрация: 01.04.2009
Сообщений: 28
По умолчанию

Что такое функция, созданная программистом, на примере данного текста:

Программа:
Program menu;
Type Mas=Array[1..10] of Integer; {создаем тип – массив из 10 целых чисел}
Var X:Mas; N,K:Integer;
procedure vvod(var A: Mas); {процедура ввода массива}
var I: integer;
begin
Writeln('Введите элементы массива:');
For I:=1 To 10 Do
Read(A[I]);
end;
Procedure vivod(var A: Mas); {процедура вывода массива на экран}
var I:integer;
begin
For I:=1 To 10 Do Write(A[I]:5);
Writeln;
end;
procedure vichisl(var A: Mas); {процедура вычисления среднего арифметического}
var I,sum:integer;
begin
sum:=0;
For I:=1 To 10 Do sum:=sum+A[I]; {считаем сумму элементов}
sum:=sum div 10; {вычисляем среднее арифметическое без дробной части}
For I:=1 To 10 Do If A[I]>0 Then A[I]:=sum; {заменяем нулевые элементы на полученное число}
End;
Begin
repeat
writeln('1. Ввод массива 10 целых чисел:');
writeln('2. Вывод массива в строку:');
writeln('3. Вычисление среднего арифметического значения элементов массива и замена положительных элементов массива целой частью от среднего арифметического значения');
Writeln('4. Конец работы.');
writeln('Выберите пункт меню');
readln(K);
case K of {проверка выбранного пункта меню}
1: vvod(X);
2: vivod(X);
3: vichisl(X);
4: break;
else writeln('Нет такого пункта меню');
end;
until K=4;
end.
PRIVIDENIE18 вне форума Ответить с цитированием
Старый 07.12.2011, 14:53   #10
Op1nG.Spark
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 28
По умолчанию

Цитата:
Сообщение от PRIVIDENIE18 Посмотреть сообщение
Народ подскажите пожалуйста,
Какие существуют стандартные процедуры для работы со строковыми переменными? Желательно подробно))))

а что google перестал работать?
Op1nG.Spark вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменные экземпляра,класса, константы и переменные cop08 Общие вопросы .NET 3 20.12.2010 21:56
like, переменные radik-com Microsoft Office Excel 2 07.02.2010 22:23
Переменные Hehe Общие вопросы Delphi 4 11.12.2009 13:40
переменные Артэс Общие вопросы C/C++ 11 23.06.2009 12:12