Написать в программе паскаль программу: вывести сначала положительные числа из отрезка [a; b], а потом отрицательные числа из отрезка [a; b] и количество положительных и отрицательных чисел из отрезка [a; b]
292
368
Ответы на вопрос:
Uses crt; const q=10000; var a: array [1..q] of integer; x,k,p,m,n,o: integer; begin write('a='); readln(m); write('b='); readln(n); a[1]: =m; for x: =2 to (n-m+1) do a[x]: =a[x-1]+1; write('положительные: '); for x: =1 to (n-m+1) do if a[x]> 0 then begin inc(p); write(a[x],' '); end; writeln; write('отрицательные: '); for x: =1 to (n-m+1) do if a[x]< 0 then begin inc(o); write(a[x],' '); end; writeln; writeln('положительных чисел: ', p); writeln('отрицательных чисел: ',o); end.
Var a,b,c,k: integer; begin read(a,b); if (a< 0) and (b> 0) then begin for k: =1 to b do write (k,' '); for k: =1 to a do write (-k, ' '); write(-a,' ',b); end else if (a> 0) and (b> 0) then begin for k: = a to b do write (k,' '); write (b-a); end else b: =-1*b; a: =-1*a; for k: = b to a do write (k,' '); write (b-a); end.
Как один из примитивных вариантов 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.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
astanina04219.07.2020 18:02
-
hyekyo31101726.04.2023 16:53
-
единорог10628.10.2021 12:01
-
Cvetochek55406.05.2022 04:10
-
gesse9912.01.2022 21:50
-
Котик284107.11.2021 09:11
-
Троцкий130.03.2021 16:18
-
вк201219.11.2021 16:45
-
sviktoria7777712.01.2021 18:27
-
Daniil19951130.01.2022 19:30
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.