<em><u>Принятые в программе ДОПОЛНИТЕЛЬНЫЕ К УСЛОВИЮ ЗАДАНИЯ соглашения:</u></em>
1. Разделителями между словами считаются любые символы, включенные к константу delim
2. Все символы, не входящие в delim, образуют алфавит (т.е. "буквы"), из которого может быть составлено каждое слово
3. Количество разделителей, окружающих каждое слово, ограничено только здравым смыслом. Все разделители будут переданы в строку результата без изменения.
4. Если слово содержит только один символ, оно не изменяется, несмотря на то, что единица - нечетное число. В противном случае такое слово было бы исключено. К тому же, слово длиной в один символ не имеет "средней буквы"
CONST delim = " .,;:!?-"
DIM s AS STRING, s1 AS STRING, word AS STRING, wd AS STRING
DIM i AS INTEGER, n AS INTEGER, k AS INTEGER
INPUT "Введите строку: ", s
'Обеспечить наличие пробела за последним словом
IF INSTR(delim, RIGHT$(s, 1)) = 0 THEN s = s + " "
'Начальные присваивания
n = LEN(s): s1 = "": i = 1
DO WHILE i <= n 'Просматриваем входную строку символ за символом
'Ищем первый непробельный символ
wd = "" 'qq
DO WHILE (INSTR(delim, MID$(s, i, 1)) <> 0) AND (i <= n)
wd = wd + MID$(s, i, 1)
i = i + 1
LOOP
'Выделяем очередное слово, за которым следует пробельный символ
word = ""
DO WHILE (INSTR(delim, MID$(s, i, 1)) = 0) AND (i <= n)
word = word + MID$(s, i, 1)
i = i + 1
LOOP
'Найдено ли слово?
k = LEN(word)
IF k > 0 THEN 'Если слово найдено
'--- вырезается средний символ при нечетной длине ---
IF (k > 1) AND (k MOD 2 <> 0) THEN
k = (k - 1) \ 2
word = LEFT$(word, k) + RIGHT$(word, k)
END IF
'----------------------------------------------------
'Добавляем найденное слово через wd к выходной строке
s1 = s1 + wd + word
END IF
LOOP
PRINT "Результат: " + s1
END
<em><u>Примеры работы программы:</u></em>
<em>1. Обычный текст: слова через один пробел</em>
Введите строку: А роза упала на лапу Азора
Результат: А роза упла на лапу Азра
<em>2. Использовано больше одного пробела и разделители : и !</em>
Введите строку: Пример №2: Ура! Мы ломим: гнутся шведы!
Результат: Пример №2: Уа! Мы лоим: гнутся швды!
<em>3. Использовано несколько непробельных разделителей подряд</em>
Введите строку: Пример --№3--: Какое небо голубое!...
Результат: Пример --№3--: Каое небо голбое!...
Var a:integer; k:string;
Begin
Writeln('Введите ваше имя');
Readln(k);
Writeln('В каком ты сейчас классе? ') ;
Readln(a);
If a<9 then writeln(' Ты ещё не знаешь Паскаль') else if a>11 readln(a)
Else write('Хорошо, ', k,'. Продолжим') ;
End.
Цикл повторяется 5 раз, пока выполняется условие.
Ответ:
{$CODEPAGE UTF8}
program QuadraticEquation;
var
a, b, c, x1, x2, discriminant : real;
begin
{ввыод данных}
write('a = ');
readln(a);
write('b = ');
readln(b);
write('c = ');
readln(c);
{дискриминант}
discriminant := sqr(b) - 4 * a * c;
if discriminant < 0 then
writeln('Квадратное уравнение не имеет корней')
else
begin
if discriminant = 0 then
begin
{квадратное уравнение имеет два одинаковых корня}
x1 := -b / (2 * a);
x2 := x1;
end
else
begin
{уравнение имеет два разных корня}
x1 := (-b + sqrt(discriminant)) / (2 * a);
x2 := (-b - sqrt(discriminant)) / (2 * a);
end;
{вывод корней уравнения}
writeln('x1 = ', x1:8:3);
writeln('x2 = ', x2:8:3);
end;
writeln('Press Enter to Exit...');
readln;
end.
Объяснение:
Программа для решения квадратного уравнения на языке программирования Паскаль
В (Lazarus)(не реклама) Лутьше попробуй это вбить .Те создаст калькулятор и ты сможешь посчитать.