Паскаль, не могу разобраться в чем ошибка. в общем напишите программу создать, нетекстовый файл, который содержит информацию о телефонах сотрудников учреждения (фамилия, инициалы, номер телефона). требуется: а) найти номер телефона сотрудника по его фамилии б) переписать в алфавитном порядке в текстовый файл информацию о сотрудниках, у которых первые цифры телефона 41.
295
441
Ответы на вопрос:
{1 шаг - создать типизированный файл! } program ex; uses crt; const name='baze'; type stfio = string[30]; adress=string[50]; recbook = record fio : stfio; {ф.и.о} adress: adress; {адрес} num_tel: string[20]{телефон}; end; mas= array[1..30] of recbook; var bookfile : file of recbook; work : recbook; vid : char; end_menu : boolean; a: mas; procedure sort_buble(var a: mas; count: integer); var c: mas; last,current: integer; begin for last : = count downto 2 do for current : = 1 to last-1 do begin if a[current].fio > a[current+1].fio then begin c[1]: =a[current]; a[current]: =a[current+1]; a[current+1]: =c[1]; end; end; end; procedure outputrec_z; begin with work do begin gotoxy(2,2); write(' фио '); gotoxy(19,2); write(' tel '); gotoxy(35,2); write(' адрес '); gotoxy(2,4); write(fio); gotoxy(19,4); write(num_tel); gotoxy(35,4); writeln(adress); end; readkey; clrscr; end; procedure find; var findst: string; end_menu2: boolean; begin write(' введите строку поиска(fio) '); readln(findst); textcolor(15); clrscr; assign(bookfile,name); {$i-} reset(bookfile); {$i+} if ioresult = 0 then begin seek(bookfile, 0); while (not eof(bookfile)) do begin clrscr; read(bookfile,work); if pos(findst,work.fio)< > 0 then outputrec_z; end; writeln('больше записей удовлетворяющих критерию поиска не обнаружено'); readkey; end end; var f: text; procedure find_b; var i,j: integer; begin textcolor(15); clrscr; assign(bookfile,name); {$i-} reset(bookfile); {$i+} if ioresult = 0 then begin i: =0; {кол-во записей тел которых начинается с 41} seek(bookfile, 0); while (not eof(bookfile)) do begin read(bookfile,work); if (pos('41',work.num_tel)=1) then begin i: =i+1; a[i]: =work; end; end; sort_buble(a, i); assign(f,'res.txt'); rewrite(f); for j: =1 to i do writeln(f,a[j].fio,' ', a[i].num_tel: 7); close(f); end; end; {****************************************************************************} procedure addrec; begin clrscr; write(' номер добавляемой записи '); textcolor(15); write(filepos(bookfile)+1); with work do begin writeln; write(' фио '); readln(fio); write(' телефон '); readln(num_tel); write(' адрес '); readln(adress); write(bookfile,work); end; end; {****************************************************************************} procedure create_book_phone; var ind, count : integer; begin clrscr; textcolor(15); assign(bookfile,name); rewrite(bookfile); write(' новый файл '); writeln(name); write(' введите количество записей в файле '); readln(count); for ind : = 1 to count do addrec; writeln; writeln(' создание завершено'); writeln; writeln(' количество записей в файле '); writeln(filesize(bookfile)); close(bookfile); end; {****************************************************************************} procedure outputrec; begin clrscr; read(bookfile,work); with work do begin gotoxy(10,2); write('фио '); gotoxy(34,2); write('телефон '); gotoxy(50,2); write('адрес '); gotoxy(2,4); write(fio); gotoxy(35,4); write(num_tel); gotoxy(50,4); writeln(adress); readkey; clrscr; end; end; {****************************************************************************} procedure outputallrec; begin clrscr; assign(bookfile,name); {$i-} reset(bookfile); {$i+} if ioresult = 0 then begin seek(bookfile, 0); while (not eof(bookfile)) do outputrec; end end; {****************************************************************************} begin clrscr; textbackground(0); vid : = ' '; end_menu : = false; repeat textcolor(15); write(' текущий файл: ',chr(13),name); writeln; writeln; writeln('*********************************************************************'); writeln; writeln('меню: '); writeln(' 2 cоздать новый файл'); writeln(' 3 просмотреть все '); writeln(' 4 найти номер телефона сотрудника по его фамилии'); writeln(' 5 переписать в алф. порядке в текстовый файл информацию о сотрудниках первые цифры телефона 41'); writeln(' 8 bыход'); readln(vid); case vid of '2' : create_book_phone; '3' : outputallrec; '4' : find; '5' : find_b; '8' : end_menu : = true; end; clrscr; until end_menu; end.
Объяснение:
11100110101011001(двоичная)
1*2^16+1*2^15+1*2^14+0*2^13+0*2^12+1*2^11+1*2^10+0*2⁹+1*2⁸+0*2⁷+1*2⁶+0*2⁵+1*2⁴+1*2³+0*2²+0*2¹+
+1*2⁰=65536+32768+16384+0+0+2048+1024+0+
+256+0+64+0+16+8+0+0+1=118105(десятичная)
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
anyk200418.01.2023 04:47
-
Андріана20031424.03.2023 06:29
-
miirko77716.06.2021 16:07
-
илья186214.05.2021 12:46
-
aaapruda20.04.2020 19:33
-
Gogogogh12.06.2021 15:38
-
Амина76229.09.2021 07:06
-
artemcxt08.01.2021 17:12
-
shahriyorchikozb8ts07.06.2022 11:12
-
8905133093917.06.2020 20:20
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.