Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
Страницы: « 1 2 3 4 5 6 7 ... 123 124 »
Показано 61-75 из 1848 сообщений
1788.
Анастасия
(10.11.2009 15:23)
0
Здравствуйте! Помогите решить задачу. Только начала изучать паскаль, по этому нужно придумать решение без массивов. Задача: Создать программу, осуществляющую перевод числа (формата real) из десятичной системы счисления в Q-ичную. Заранее спасибо.
Ответ: Вот простейший вариант трех подпрограмм: первая для вещественного положительного, другая для целого без знака, третья для перевода в дополнительный код
uses CRT; CONST NumChars: String = ''0123456789ABCDEF''; max_frac_chars = 10; ord0 = ord(''0'');
function ConvertToSystemReal(src: real; ToSyst: Integer): String; var intg, count: Longint; frc, r : Real; s: String; begin s := ''''; if (ToSyst < 2) or (ToSyst > 16) then begin ConvertToSystemReal := ''Uncorrect System''; exit end; src := abs(src); intg := round(Int(src)); repeat s := NumChars[(intg mod ToSyst) + 1] + s; intg := intg div ToSyst; until intg = 0; s := s + ''.''; count := 0; frc := frac(src); repeat frc := frc*ToSyst; intg:= round(int(frc)); s := s + NumChars[intg + 1]; frc := frc - intg; inc(count); until ((count > max_frac_chars) or (frc = 0)); ConvertToSystemReal := s; end;
function ConvertToSystemInt(src: Word; ToSyst: Integer): String; var s: String; begin s := ''''; if (ToSyst < 2) or (ToSyst > 16) then begin ConvertToSystemInt := ''Uncorrect System''; exit end; repeat s := NumChars[( src mod ToSyst) + 1] + s; src := src div ToSyst; until src = 0; ConvertToSystemInt := s end;
function ConvertToBinAdditional(src: Integer): String; var s: String; i, len, ad: Integer; begin if src < 0 then begin s:=''1''; src :=abs(src) end else s:=''0''; repeat s := chr((src mod 2) + ord0) + s; src := src div 2 until src = 0; if s[1] = ''1'' then begin len := length(s); for i:= 2 to len do if s[i] = ''1'' then s[i] := ''0'' else s[i] := ''1'';
i := len; if s[len] = ''1'' then ad := 1 else ad := 0; repeat if s[i] = ''1'' then begin s[i] := ''0''; ad := 1 end else begin s[i] := ''0''; ad:=0 end; dec(i); until (ad = 0) or (i < 2); end; ConvertToBinAdditional := s end;
var i: Integer;
BEGIN ClrScr; {integer unsigned} WriteLn(''Вещественное''); for i:=2 to 16 do WriteLn(i:3,'': '',ConvertToSystemReal(12.34, i)); {real} WriteLn(''Нажмите любую клавишу''); ReadKey;
WriteLn(''Целое беззнаковое''); for i:=2 to 16 do WriteLn(i:3,'': '',ConvertToSystemInt(24, i)); {integer signed - system = binary} WriteLn(''Нажмите любую клавишу''); ReadKey;
WriteLn(''Целое в дополнительном коде (бинарное)''); for i:=2 to 16 do WriteLn(i:3,'': '',ConvertToBinAdditional(-i)); WriteLn(''Нажмите любую клавишу''); ReadKey; END.
|
1787.
Аширов Артем
(04.11.2009 23:08)
0
Ах, да. Немножко надоедает писать одно и то же в Паскале. Подскажите, как создавать модули?
Ответ: Сейчас завал - у нас скоро конференция, а я отвечаю на ней за многое :(( Если не найдете нужную Вам информацию, напомните после 22 ноября
|
1786.
Артем Аширов
(04.11.2009 22:29)
0
Здравствуйте! Хочу поблагодарить вас за такой огромный сайт. Практически, он сильно помог мне с изучением Паскаля. Теперь я перехожу к Делфи. Мне 16, учусь в 10 кл. Подскажите, пожалуйста, какие примерно бывают задачи на олимпиаде по инф-ке? Какие на Паскале?
Ответ: Как раз сейчас проходит IV Открытая олимпиада школьников по программированию в 2009/10 учебном год. Посмотрите ... (проверил сейчас адрес - проблемы) http://www.olympiads.ru/ Прочитал тут: http://window.edu.ru/window/news?p_news_id=26933 или тут: http://news.emind.ru/competition/show/356
|
1785.
Аня
(31.10.2009 17:51)
0
Здравствуйте. помогите пожалуйста!! Очень прошу и заранее большое спасибо. дан целочисленный массив размера N. Вставить перед1|после2 каждой серии нулевой элемент.
Ответ: Вот решение: uses CRT; CONST max_len = 10000; {Максимальная длина КОНЕЧНОГО массива} _len = max_len div 2; {Длина при вводе, с учетом того, что куда-то надо будет вставлять символы} VAR ar: array[1 .. _len] of char; count : Integer; {длина заполненной строки} ser_beg, ser_end: Integer; i, j: Integer; BEGIN ClrScr; randomize; count := 20; for i:= 1 to count do ar[i] := chr(random(10)+ord(''0'')); for i:= 1 to count do write(ar[i]); WriteLn; count := 20; i:=2; while i <= count do begin if ar[i] = ar[i-1] then begin ser_beg := i-1; ser_end := i; while (ser_end <= count) and (ar[ser_end] = ar[ser_beg]) do inc(ser_end); {Освобождаем место для первого нуля} inc(count); for j:=count downto ser_beg do ar[j] := ar[j-1]; ar[ser_beg] := ''0''; inc(ser_end); {Освобождаем место для второго нуля} inc(count); for j:=count downto ser_end do ar[j] := ar[j-1]; ar[ser_end]:=''0''; i:= ser_end+1; inc(i) end else inc(i) end; for i:= 1 to count do write(ar[i]); Writeln; END. Или скачайте тут: http://borlpasc.narod.ru/Boris/NUSH.PAS
|
1784.
katya
(26.10.2009 22:46)
0
Здравствуйте! Помогите пожалуйста с задачкой..очень надо! :) Даны 2 круга с общим центром и радиусами R1 и R2 (R1>R2) найти площадь этих кругов, а так же площадь S3 кольца, внешний радиус которого R1 а внутренний радиус равен R2: S1=пи*(R1)в квадрате S2=пи*( R2)в квадрате S3= S1- S2. в качествезначения пи использовать константу языка паскаль pi. Выходные данные : ввести 2 целыхх числа R1 и R2 (1<= R1 , R2<=100). Выходные данные: вывести площади этих кругов S1 и S2, а так же площадь S3 кольца, внешний радиус которго равен R1, а внутренний радиус равен с точностью до 3х цифр в дробной части в разных строках
Ответ: Это просто: Учтите только, что здесь есть ляп - один апостроф заменяется на 2
{Два круга и кольцо из гостевой 26 окт 2009} VAR R1, R2, s: Real; BEGIN WriteLn(''Вычисление площади кругов и кольца''); WriteLn(''Введите значение радиусов колец:''); Write('' Радиус первого круга: ''); ReadLn(R1); Write('' Радиус второго круга: ''); ReadLn(R2); if R2 > R1 then begin s:=R1; R1:=R2; R2:=s end; WriteLn(''Площадь большего круга = '', pi*R1*R1:8:3); WriteLn(''Площадь меньшего круга = '', pi*R2*R2:8:3); WriteLn(''Площадь кольца = '',pi*(R1*R1 - R2*R2):8:3); WriteLn; WriteLn(''Для выхода нажмите клавишу ENTER''); ReadLn END.
|
1783.
strelok
(25.10.2009 16:19)
0
блин,почему как хочу скачать текст или прогу выбивает символы какие то???
Ответ: Первое слово не обязательно было писать, а вот какую именно программу или текст скачать хотите, чтобы я проверить мог ...
|
1782.
dsf
(20.10.2009 17:27)
0
Скачать бесплатно Паскаль на merd.ucoz.ru
|
1781.
Alexandr
(18.10.2009 08:46)
0
Здравствуйте! Подскажите как подклеить CHR-шрифты (можно туда же и EgaVga.bgi) в один файл
|
1780.
Skry
(02.10.2009 15:24)
0
сайт в общем клевый, но дизайн по мойму "немного" скучноват
Ответ: Да разве в этом суть? :))
|
1779.
Alexandr
(22.09.2009 06:30)
0
Здравствуйте! Не подскажите ли, где найти редактор CHR - шрифтов?
Ответ: Вот тут возьмите: http://borlpasc.narod.ru/Boris/Bfe.zip
|
1778.
Алексей
(10.09.2009 17:21)
0
Отличный сайт!!! првда то что искал не нашел но много полезного почерпнул.
Ответ: А что Вы искали и не нашли? Может есть у меня?
|
1777.
Юрий
(23.08.2009 15:10)
0
Хочу такой же раскрученности как у Вашего сайта. Я предлагал Вам исходники неплохих игр. Но переписка заглохла. Все на мой сайт!
|
1776.
Богдан
(21.08.2009 21:50)
0
А есть справочник Паскаля - типа все команды с лбьяснением?
Ответ: Делал как-то такой: http://borlpasc.narod.ru/Boris/BPascal7.zip
|
1775.
Вася
(03.08.2009 11:25)
0
Здравствуйте! Посетив Ваш сайт, хочу Вас поблагодарить и задать вопрос. Написав программу для элементарного графического отображения не запускается графический файл. Компилятор выдает ошибку - файл не найден. Прошу Вашей помощи. С уважением, посетитель сайта.
Ответ: Если компилятор, то значит, не найден GRAPH.TPU. Нужно зайти в меню среды программирования Options -> Directories... и там, в строке Unit directories написать D:BPUNITS; У меня именно там лежит файл GRAPH.TPU (ну а Вы напишите свой путь) ЗЫ, третьим параметром в InitGraph нужно написать путь к файлу EGAVGA.BGI. Это должен быть "короткий" путь, без пробелов и русских букв. Или положить этот файл в папку, где находится исходный файл Вашей программы. У меня этот файл находится в папке D:BPBGI
|
1774.
(01.08.2009 11:06)
0
Отличный сайт, только ссылки не сверены, ну и как-то не широко объята тема, можно ведь и на новости в этой области внимание обращать
Ответ: Признаем :)), и осенью поработаем. Но как-то новостей особых нет. Разве что ответы на просьбы решить задачу ...
|
|
|
|