Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
тут всё про100
1 / 1 / 0
Регистрация: 13.07.2011
Сообщений: 5
1

Оператор выбора задач, оформленных в виде подпрограмм с выбором первой или второй программы

14.07.2011, 23:01. Просмотров 920. Ответов 3
Метки нет (Все метки)

В основной программе должен быть оператор выбора задач, оформленных в виде подпрограмм с выбором первой или второй программы при запуске в PascalABC.И нужно написать модуль этой программы.
программа 1.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Const
 s2:string[79]='0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111';
 s3:string[16]='0123456789ABCDEF';
Var
 s,rez:string;
 i:byte;
begin
readln(s);
writeln(s);
if length(s) mod 4<>0 then s:=s+'0';
rez:='';
for i:=0 to length(s) div 5 do
begin
if length(s) mod 4<>0 then s:=s+'0';
 rez:=rez+s3[(pos(copy(s,i*4+1,4),s2) div 5+1)];
end;
writeln(s,' ',rez);
end.
программа 2.


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            uses
    crt;
var
   s:string;
   i:integer;
begin
     readln(s);
      if s[1]=' ' then
         delete(s,1,1);
      if s[length(s)]=' 'then
         delete(s,length(s),1);
      while pos('  ',s)>0 do
            delete(s,pos('  ',s),1);
      write(s);
end.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2011, 23:01
Ответы с готовыми решениями:

В основной программе должен быть оператор выбора задач, оформленных в виде подпрограмм..
Здравствуйте помогите пожалуйста! В основной программе должен быть оператор выбора задач,...

Выборка из второй таблицы БД в зависимости от выбора записи в первой
Я недавно начал изучать vb, и у меня возник вопрос. Я создал базу данных. В ней 4 колонки и 10...

Оператор выбора или что-то другое?
Дана строка, изображающая десятичную запись целого числа. Вывести строку, изображающую двоичную...

Реализовать в виде набора подпрограмм (процедур или функций) выполнение операций над обыкновенными дробями
Реализовать в виде набора подпрограмм (процедур или функций) выполнение операций над обыкновенными...

Вывод результатов выбора одной формы в виде данных из второй формы соответствующего индекса.
есть 2 формы с &lt;select id=&quot;mySelectId&quot; name=&quot;mySelect&quot;&gt; . в каждом есть несколько &lt;option...

3
SuPeR XaKer
2848 / 1977 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
14.07.2011, 23:03 2
первый код возьми из старой темы. Программа перевода из двоичной системы счисления в шестнадцатеричную систему счисления. Я его там поправил.И тегами выдели.
1
тут всё про100
1 / 1 / 0
Регистрация: 13.07.2011
Сообщений: 5
15.07.2011, 00:14  [ТС] 3
а как модуль написать?
0
Puporev
Модератор
57279 / 43708 / 30197
Регистрация: 18.05.2008
Сообщений: 104,223
15.07.2011, 09:13 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Текст модуля.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
unit unit2;
interface
uses crt;
procedure BinToHex;
procedure DelSpace;
implementation
procedure BinToHex;
Const
 s2:string[79]='0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111';
 s3:string[16]='0123456789ABCDEF';
Var  s,rez:string;
     i,k:byte;
begin
clrscr;
repeat
writeln('Введите число в системе счисления 2:');
read(s);
k:=0;
i:=1;
while(i<=length(s))and(k=0)do
if not (s[i] in ['0','1']) then k:=1
else i:=i+1;
if k=1 then writeln('Ввод неверный, повторите');
until k=0;
if length(s) mod 4<>0 then s:=copy(s2,1,4-length(s) mod 4)+s;
rez:='';
for i:=1 to length(s) div 4 do
rez:=rez+s3[(pos(copy(s,i*4-3,4),s2) div 5+1)];
writeln('Число в СС 16 = ',rez);
readln
end;
procedure DelSpace;
var s:string;
    i:integer;
begin
clrscr;
writeln('Введите строку, содержащую лишние пробелы:');
read(s);
while pos('  ',s)>0 do
delete(s,pos('  ',s),1);
if s[1]=' ' then
delete(s,1,1);
if s[length(s)]=' 'then
delete(s,length(s),1);
write(s);
readln
end;
end.
Текст программы.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt,unit2;
var w:byte;
begin
repeat
clrscr;
writeln('Выберите действие:');
writeln('1-Перевод из СС 2 в СС 16');
writeln('2-Удаление лишних пробелов');
writeln('3-Выход');
repeat
read(w);
until w in [1..3];
case w of
1:BinToHex;
2:DelSpace;
3:exit;
end;
until w=3;
end.
0
15.07.2011, 09:13
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2011, 09:13

Определить, в какой строке больше цифр: в первой или во второй
Определить, в какой строке(не более 80 симв. и кончается точкой) больше цифр: в первой или во...

Определить, в какой строке больше цифр: в первой или во второй
Даны две строки длиной до 80 символов. Определить, в какой строке больше цифр: в первой или во...

Что поставить в оператор выбора case, или day нужно в переменные добавить?
var s: string; begin randomize; repeat write('your question:'); readln(s); if s=''...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru