На паскале var z, x, y : real; begin readln(x,y); z: = (x - y)/2 + (x/6); writeln(z); end.
irinakiral
05.07.2022
При работе со строками можно использовать много различных способов решения . здесь предлагается способ, в котором применяются только две библиотечных подпрограммы (length и delete). можно было сделать и без delete, а можно использовать trim, например. короче говоря, вот такой вариант программы на паскале: var s,s1: string; mn: set of char; i,l: integer; begin writeln('введите строку: '); readln(s); mn: =['.',',','; ',': ','! ','? ']; while s[1]=' ' do delete(s,1,1); while s[length(s)]=' ' do delete(s,length(s),1); while pos(' ',s)> 0 do delete(s,pos(' ',s),1); s1: =s[1]; for i: =2 to length(s)-1 do if not((s[i]=' ')and(s[i+1] in mn)) then s1: =s1+s[i]; s1: =s1+s[length(s)]; s: =s1[1]; for i: =2 to length(s1)-1 do if (s1[i] in mn)and(s1[i+1]< > ' ') then s: =s+s1[i]+' ' else s: =s+s1[i]; s: =s+s1[length(s1)]; writeln(s); end. пример: введите строку: дана строка ,состоящая из слов , разделенных пробелами . дана строка, состоящая из слов, разделенных пробелами.
Денис_Петровна
05.07.2022
//pascal abc.net v3.1 сборка 1172 var s,sr: string; i,j,n: integer; pr: array of char=('.',',','; ',': ','! ','? '); begin readln(s); s: =s.trim; var ars: =s.towords(); s: =''; for i: =0 to ars.length-1 do s+=ars[i]+' '; s: =s.trim; i: =0; while i< > s.length do begin inc(i); if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1); end; i: =0; while i< > s.length-1 do begin inc(i); if (s[i] in pr) and (s[i+1]< > ' ') then insert(' ',s,i+1); end; s: =s.trim; writeln(s); end. пример ввода: , , , ,, много слов. пример вывода: , , , , , много слов.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Cоставить алгоритм для вычисления значения выражения z = (x - y)/2 + (x/6) заранее большое !