tokarevmax
?>

Даны три числа, найти разность наибольшого числа с наименьшимрешить с repeat, until)

Информатика

Ответы

kuzinnv1968
Const   n = 3; var   m: array[1..n] of integer;   i, mn, mx: integer; begin   write('введите через пробел три целых числа: ');   i : = 1;   repeat       read(m[i]);       i : = i + 1   until i > n;   mn : = m[1];   mx : = mn;   i : = 2;   repeat       if mx < m[i] then mx : = m[i]       else       if mn > m[i] then mn : = m[i];       i : = i + 1   until i > n;   writeln('разность наибольшего с наименьшим равна ', mx - mn) end. тестовое решение: введите через пробел три целых числа: 7 9 3 разность наибольшего с наименьшим равна 6
Volochaev
Как один из примитивных вариантов type   libbook = record       book: string[50];       author: string[50];       publisher: string[30];       pubyear: integer;       city: string[30];       deleted: boolean       end; var   gf: file of libbook; function create(pname: string): file of libbook; // создает или обнуляет существующий файл библиотеки // с полным именем pname (в имени можно указать и путь) begin   var f: file of libbook;   rewrite(f,pname);   result: =f;   f.close end; procedure insert(plib: libbook); // добавляет книгу в базу begin   var n: =filesize(gf);   seek(gf,n);   write(gf,plib); end; procedure bookwrite(pn: integer; plib: libbook); // вывод книги номер pn begin   writeln('*** книга №',pn,' ***');   if plib.deleted=false then begin       writeln('название: ',plib.book);       writeln('автор: ',plib.author);       writeln('издатель: ',plib.publisher);       writeln('год выпуска: ',plib.pubyear);       writeln('город: ',plib.city);       end   else writeln('=== у д а л е н а ===');   writeln end; procedure view(pkol: integer: =0); // отображает содержимое библиотеки. // можно вывести не все, а только pkol первых записей begin   var nb: =filesize(gf);   if nb=0 then writeln('библиотека пустая')   else begin       seek(gf,0);       writeln('книг в библиотеке: ',nb,newline);       if pkol< > 0 then nb: =min(pkol,nb);       var lib: libbook;       for var i: =1 to nb do begin           read(gf,lib);           bookwrite(i,lib)           end       end end; function delete(pnom: integer): boolean; // удаляет книгу с номером pnom и возвращает true. // возвращает false, если такой книги нет begin   var nb: =filesize(gf);   var lib: libbook;   if pnom-1> nb then begin       writeln('книга №',pnom,' не найдена');       result: =false       end   else begin       seek(gf,pnom-1);       read(gf,lib);       lib.deleted: =true;       seek(gf,pnom-1);       write(gf,lib);       writeln('книга №',pnom,' удалена');       result: =true       end; end; procedure find(ps: string); // поиск книги по параметрам, заданным строкой // формат < код> пробел < значение> begin   var n: =ord(ps[1])-ord('0');   delete(ps,1,2);   var par: =ps;   var lib: libbook;   case n of   0: begin // по номеру книги           var nb: =filesize(gf);           var fn: =par.tointeger;           if fn-1> nb then writeln('книги с таким номером нет')           else begin               seek(gf,fn-1);               read(gf,lib);               bookwrite(fn,lib)               end       end;   1: begin // по названию книги           var nl: =par.length; // для контекстного поиска           seek(gf,0);           var i: =1;           while not eof(gf) do begin               read(gf,lib);               if copy(lib.book,1,nl)=par then begin                   bookwrite(i,lib); exit                   end               else inc(i)               end;               writeln('поиск по названию книги ',par,' неуспешен')       end;   2: begin // по автору книги           var nl: =par.length; // для контекстного поиска           seek(gf,0);           var i: =1;           while not eof(gf) do begin               read(gf,lib);               if copy(lib.author,1,nl)=par then begin                   bookwrite(i,lib); exit                   end               else inc(i)               end;               writeln('поиск по автору книги ',par,' неуспешен')       end;   3: begin // по издательству           var nl: =par.length; // для контекстного поиска           seek(gf,0);           var i: =1;           while not eof(gf) do begin               read(gf,lib);               if copy(lib.publisher,1,nl)=par then begin                   bookwrite(i,lib); exit                   end               else inc(i)               end;               writeln('поиск по издательству книги ',par,' неуспешен')       end;   4: begin // по году выпуска           seek(gf,0);           var i: =1;           var ipar: =par.tointeger;           while not eof(gf) do begin               read(gf,lib);               if lib.pubyear=ipar then begin                   bookwrite(i,lib); exit                   end               else inc(i)               end;               writeln('поиск по году издания ',par,' неуспешен')       end;   5: begin // по городу           var nl: =par.length; // для контекстного поиска           seek(gf,0);           var i: =1;           while not eof(gf) do begin               read(gf,lib);               if copy(lib.city,1,nl)=par then begin                   bookwrite(i,lib); exit                   end               else inc(i)               end;               writeln('поиск по городу ',par,' неуспешен')       end;   else writeln('неверная строка поиска')   end end; const libname='mylib.lib'; begin   var mybook: libbook;   gf: =create(libname);   reset(gf,libname);   with mybook do begin       book: ='первый учебник';       author: ='первый автор';       publisher: ='издательство 1';       pubyear: =2010; ;       city: ='город 1'       end;   insert(mybook);   with mybook do begin       book: ='второй учебник';       author: ='второй автор';       publisher: ='издательство 2';       pubyear: =2012; ;       city: ='город 2'       end;   insert(mybook);   with mybook do begin       book: ='третий учебник';       author: ='третий автор';       publisher: ='издательство 3';       pubyear: =2006; ;       city: ='город 3'       end;   insert(mybook);   view;   delete(2);   view;   find('0 3');   find('1 перв');   find('2 тре');   find('3 издательство 2');   find('4 2006');   gf.close end.
Yelena642
Получилась громоздкая конструкция из логический условий, но по-другому никак не придумалось var t: string; n: integer; i,x,y: byte; begin   writeln ('введите строку');   readln (t);   n: =length(t);   t: =t+'.'; //пририсовываем к строке лишний символ "не буква", иначе программа может  не посчитать последнее слово в случае,  если строка кончается буквой.   x: =0;     // переменная для обозначения конца каждой группы из букв, идущих подряд      y: =0;   // переменная для подсчета количества групп из букв, идущих  подряд      for i: =1 to n do      begin       // определяем, является ли текущий символ буквой:       if ((ord(t[i])> 64) and (ord(t[i])< 91)) or ((ord(t[i])> 96) and (ord(t[i])< 123)) or ((ord(t[i])> 191) and (ord(t[i])< 256))         then x: =1     //если да, то х=1         else            begin             if x=1 then begin y: =y+1; x: =0 end;   // если текущий символ не буква, то проверяем "х" -  если х=1, значит слово кончилось и "у" увеличиваем на 1, а "х" соответственно снова обнуляем. теперь при следующем символе "небуква" наш "у" не увеличится                   //в следующем длинном условии проверяем исключение - является ли текущий символ тире или дефисом. если дефис, то количество уже посчитанных слов уменьшим на 1, т.к. дефис стоит в середине слова и значит предыдущее прибавление 1 было неправильным.             if (t[i]='-') and (t[i-1])> 64) and (ord(t[i-1])< 91)) or ((ord(t[i-1])> 96) and (ord(t[i-1])< 123)) or ((ord(t[i-1])> 191) and (ord(t[i-1])< and (t[i+1])> 64) and (ord(t[i+1])< 91)) or ((ord(t[i+1])> 96) and (ord(t[i+1])< 123)) or ((ord(t[i+1])> 191) and (ord(t[i+1])<               then y: =y-1           end     end;       writeln('в данной строке ',y,' слов') end. результат работы программы: введите строку ali-baba,- это не имя атамана разбойников, это китайский магазин. в данной строке 9 слов

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Даны три числа, найти разность наибольшого числа с наименьшимрешить с repeat, until)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Larisa-0888716
ii090758
varvara82193
Державина
ikalabuhova
missvita
julya847
adrinalin991
kv135549
expo3217
romolga3580
Apresov
MN-Natusik80
Yulechkaakulova1993
blackpoint2020273