Что будет выведено на экран в результате выполнения следующей программы? * Program prim; Var s: string; i, k: integer; begin writeln ('Введите строку); read (s); k:=0; for i:=1 to length (s) do if s[i]='a' then k:=k+1; writeln (k); end.
Первая программа предназначена ТОЛЬКО для Pascal.ABC, в другой среде она работать не будет. Она самая короткая и простая. Метод Split разбивает исходную строку на слова по символу пробела и формирует динамический массив. Что бы мы ни вводили, мы всегда будем получать в результате то, что требовалось. (понятно, что если слов будет меньше трех, будем получать то, что ввели).
var s: string; ms: array of string;
begin Write('Введите три слова через пробел: '); Readln(s); ms := s.Split(' '); Writeln(ms[0] + ' ' + ms[2] + ' ' + ms[1]) end.
Вторая программа реализуется в любой версии Pascal. Её недостаток в том, что она правильно работает только тогда, когда введена фраза из трех слов, разделенных пробелом. Это простейший линейный алгоритм.
var s, s1, s2, s3: string; n, p: integer;
begin Write('Введите три слова через пробел: '); Readln(s); n := Length(s); p := Pos(' ', s); s1 := Copy(s, 1, p - 1); s3 := Copy(s, p + 1, n - p); p := Pos(' ', s3); s2 := Copy(s3, 1, p - 1); n := Length(s3); s3 := Copy(s3, p + 1, n - p); Writeln(s1 + ' ' + s3 + ' ' + s2) end.
Третья программа также реализуема в любой версии Pascal и содержит "классический" работы со строкой, состоящий в последовательном анализе каждого символа. Имеет защиту на случай, если слов будет больше или меньше трех.
var s: string; ms: array[1..3] of string; i, n, p, j: integer;
begin Write('Введите три слова через пробел: '); Readln(s); { Алгоритм: Просматриваем все символы строки начиная с позиции p и при обнаружении пробела в позиции q заносим в массив очередное слово, копируя q-p символов, начиная с p. Затем заносим в p значение q+1 и продолжаем просмотр. При старте принимаем p=1 } p := 1; j := 0; n := Length(s); for i := 1 to n do if s[i] = ' ' then begin j := j + 1; if j <= 3 then begin{ если введено больше двух пробелов } ms[j] := Copy(s, p, i - p); p := i + 1 end end; if j < 3 then ms[3] := Copy(s, p, n - p + 1); Writeln(ms[1] + ' ' + ms[3] + ' ' + ms[2]) end.
Все три программы опробованы и результаты их работы одинаковы:
Введите три слова через пробел: Зебра полосатая лошадь Зебра лошадь полосатая
1.Что общего у пиктограммы и символа? В чем между ними различия?
Общее - оба являются небольшими графическими объектами
Различия - пиктограмма или иконка используется как растровый графический объект и страдает от маштабирования, но при этом может иметь много цветов. Обычно используется как подсказка на кнопку с некой командой (напр. сохранить, копировать, вставить)
Символ является частью некого шрифта и потому нарисован в векторной графике, не искажается при маштабировании, но может быть лишь одного цвета. Может иметь несколько вариантов начертания - курсив, жирный и тд. Используется так же как текст
В последнее время микрософт ввели новый шрифт для пиктограм, окончательно сроднив оба элемента. 2. Что такое знаковая система? Попытайтесь описать русский язык как знаковую систему? Опишите десятичную систему счисления как знаковую систему.
Знаковая система - это система определения неких определенных знаков как определенные понятия.
Язык - знаковая система сама по себе. Например есть обьект красно-желтый, сладкий, для него придумали название "яблоко". Доугой назвали "абрикос" и тд. Тут все легко, сложнее с абстрактными понятиями и действиями, чувствами. Еще примечательно что оперировать можно лишь внутри понятий определенных языком. Весьма трудно увидель то чего нет в языке. Это уже часть управления С десятичной системой думаю и так все ясно. Два яблока это "2", семь это "7". Просто так обозначили
var
s: string;
ms: array of string;
begin
Write('Введите три слова через пробел: ');
Readln(s);
ms := s.Split(' ');
Writeln(ms[0] + ' ' + ms[2] + ' ' + ms[1])
end.
Вторая программа реализуется в любой версии Pascal. Её недостаток в том, что она правильно работает только тогда, когда введена фраза из трех слов, разделенных пробелом. Это простейший линейный алгоритм.
var
s, s1, s2, s3: string;
n, p: integer;
begin
Write('Введите три слова через пробел: ');
Readln(s);
n := Length(s);
p := Pos(' ', s);
s1 := Copy(s, 1, p - 1);
s3 := Copy(s, p + 1, n - p);
p := Pos(' ', s3);
s2 := Copy(s3, 1, p - 1);
n := Length(s3);
s3 := Copy(s3, p + 1, n - p);
Writeln(s1 + ' ' + s3 + ' ' + s2)
end.
Третья программа также реализуема в любой версии Pascal и содержит "классический" работы со строкой, состоящий в последовательном анализе каждого символа. Имеет защиту на случай, если слов будет больше или меньше трех.
var
s: string;
ms: array[1..3] of string;
i, n, p, j: integer;
begin
Write('Введите три слова через пробел: ');
Readln(s);
{
Алгоритм: Просматриваем все символы строки начиная с позиции p
и при обнаружении пробела в позиции q заносим в массив очередное слово,
копируя q-p символов, начиная с p. Затем заносим в p значение q+1
и продолжаем просмотр. При старте принимаем p=1
}
p := 1; j := 0; n := Length(s);
for i := 1 to n do
if s[i] = ' ' then
begin
j := j + 1;
if j <= 3 then begin{ если введено больше двух пробелов }
ms[j] := Copy(s, p, i - p);
p := i + 1
end
end;
if j < 3 then ms[3] := Copy(s, p, n - p + 1);
Writeln(ms[1] + ' ' + ms[3] + ' ' + ms[2])
end.
Все три программы опробованы и результаты их работы одинаковы:
Введите три слова через пробел: Зебра полосатая лошадь
Зебра лошадь полосатая
Общее - оба являются небольшими графическими объектами
Различия - пиктограмма или иконка используется как растровый графический объект и страдает от маштабирования, но при этом может иметь много цветов. Обычно используется как подсказка на кнопку с некой командой (напр. сохранить, копировать, вставить)
Символ является частью некого шрифта и потому нарисован в векторной графике, не искажается при маштабировании, но может быть лишь одного цвета. Может иметь несколько вариантов начертания - курсив, жирный и тд. Используется так же как текст
В последнее время микрософт ввели новый шрифт для пиктограм, окончательно сроднив оба элемента.
2. Что такое знаковая система? Попытайтесь описать русский язык как знаковую систему? Опишите десятичную систему счисления как знаковую систему.
Знаковая система - это система определения неких определенных знаков как определенные понятия.
Язык - знаковая система сама по себе. Например есть обьект красно-желтый, сладкий, для него придумали название "яблоко". Доугой назвали "абрикос" и тд. Тут все легко, сложнее с абстрактными понятиями и действиями, чувствами. Еще примечательно что оперировать можно лишь внутри понятий определенных языком.
Весьма трудно увидель то чего нет в языке. Это уже часть управления
С десятичной системой думаю и так все ясно. Два яблока это "2", семь это "7". Просто так обозначили