Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Турбо Паскаль. Программирование на 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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]
Модераторы: paradise, KMA
  

KMA



Долгожитель

Короче он не может найти драйвера для инициализации графики. Найди файл egavga.bgi, зампомни его адрес. А потом напиши следующие
initGraph (gs, gm, 'адрес ');
Ну заместо адрес пишешь адрес где валяется этот файл. Он должен, наверное, быть рядом в папке с Паскалем.  

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 30 янв. 2006 11:47 | IP
Guest



Новичок

В текстовом файлы хранится список товаров: ножницы, ручки, карандаши и линейки.
1. Создать текстовый файл, согласно структуре варианта.
2. написать процедуру считывания файла
3. Процедура сортировки по названию товара.
4. Процедура вывода на экран информации о товаре название которого введено с клавиатуры.
Организовать меню в основной программе.

Всего сообщений: Нет | Присоединился: Never | Отправлено: 1 фев. 2006 13:34 | IP
KMA



Долгожитель

Парень, ты конечно извини, но по пользуйся поиском, и переделай задачку под себя, там пару строк переписать. Или говори до того места, где у тебя ничего не получается.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 2 фев. 2006 10:51 | IP
azatik


Удален

Люди добрые если не трудно помогите пожалуйста я с этими задачами целую неделю мучаюсь, вот они:
1. Даны действительные числа а(1), :, а(15). Получить а=1/15*(а(1)+:+а(15)); а=1/14*а2(1) - а2+:+(а1/215)-а))):
program Lab_7;
uses crt;
var
a:array [1..15] of integer ;
n,c,k,d,c1,d1:real;
i,j:integer;
begin
clrscr;
randomize;
for i:= 1 to 15 do
 begin
  a{{i}}:=random(100);
  writeln('a(',i,')=',a{{i}});
  c1:=c1+a{{i}};    {c1=a(1)+...+a(15)}
  begin
   k:=2;
    repeat
     k:=k-0.1;  {не уверен меняется ли k от 2 до 0,5, хотя должно}
     d1:=d1+(exp(k*ln(a{{i}})-c));    {d1+a^2(1)-a^2+...+(a(^1/2)15))-a)))}
    {write(k:2:2);}
    until k>0.5;
  end;
 end;
c:=1/15*c1;    d:=1/14*d1;
writeln('c1=',c1:4:2,' | d1=',d1:4:2);
writeln('c=',c:4:2,' |d=',d:4:2);
readkey;
end.

2. Дано натуральное число n, символы S1,:,Sn. Удалить из данной последовательности все группы букв <abcd>:
program Lab_9;
uses crt;
var
o:string;
i,k,n,j:integer;
S: array [1..100] of char;
begin
clrscr;
write('Vvedite kolichestvo elementov n=');
readln(n);
for i:= 1 to n do
begin
write('Vvedite ',i,' element ');
readln(s{{i}});
o:=o+s{{i}};
end;
if pos('abcd',o)<>0 then
begin
for i:= 1 to j do
begin
s{{i}}:=o{{i}};
write(S{{i}}:4);
end;
writeln('!!!!!');
delete(o,pos('abcd',o),4);
j:=length(o);
writeln('Ishodnaya posledivatelnost:');
for i:=1 to n do
write(s{{i}});
writeln;
writeln('rezultat:');
for i:= 1 to j do
begin
s{{i}}:=o{{i}};
write(S{{i}}:4);
end;
end;

readkey;
end.
Или:
program Lab_9;
uses crt;
var
p:string;
s1:string;
i,j,k,n:integer;
begin
p:='abcd';
clrscr;
writeln('Vvedite stroku');
readln(s1);
if p in s1 then
writeln(s1-p);
{if pos(p,s1) then
delete(s,p,4);}
writeln(length(s1));
readkey;
end.
Не знаю заменить их на пробелы или удалить, всё равно не получается.

3. Даны символы S1, S2, : Известно, что символы S1 отличается от пробела и что среди S2, S3; имеется хотя бы один пробел. Рассматривается S1, :, SN символы, предшествующие первому (N - заранее известно). Преобразовать последовательность S1, : SN: заменить все малые буквы на одноимённые большие:
program Lab_10;
uses crt;
var
n,i:integer;
s: array [1..100] of char;
begin
clrscr;
write('Vvedite n=');
readln(n);
for i:= 1 to n do
begin
 write('Vvedite ',i,' element ');
 readln(s{{i}});
end;
for i:= 1 to n do
begin
 write(s{{i}});
end;
writeln;
write('rezultat: ');
for i:= 1 to n do
begin
s{{i}}:= UpCase(s{{i}});
write(s{{i}});
end;
readkey;
end.
Но здесь надо выводить (и преобразовывать) только до пробела, т.е. до 1-го или 2-го символа, пробовал оператором While, но циклит, если <'_', то вообще не чего не выводит, а если >'_', то зацикливается, выводя последний элемент.  
Помогите, пожалуйста, если не трудно напишите код(хотя бы не полный)!!!

Перед публикацией листингов заменяйте индекс массива {{i}} на { { i } } (без пробелов) или [ i ] (с пробелами). Иначе форум воспринимает индекс как тег курсива.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 23 фев. 2006 19:30 | IP
miss_graffiti


Долгожитель

так. стоп.
первая задача - дан массив, а что ты пытаешься посчитать? и что не получается?

вторая: совсем ерунду делаешь.
это ж не с++, чтобы компилятор пропускал перлы вроде
if pos(p,s1) then
условие должно быть типа boolean, а не integer.
да и на writeln(length(s1)) скорее всего ругаться будет (если речь о турбопаскале). а зачем тебе, собственно, длина строки?!
и алгоритм странный.
что ты должен делать:
1.считываешь строку.
2. проверяешь, есть ли в ней заданная последовательность.
3. если есть, удаляешь.
4. проверяешь еще раз.... если есть -..., если нет - выводишь то, что получилось.

третья. что такое "меньше пробела"?! глупость.
тебе надо проверять, если i<позиции первого пробела, то.....

если хочешь подробнее - стучи в аську 276337193.

Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 23 фев. 2006 21:36 | IP
KMA



Долгожитель

угу, azatik прости меня пожалуйста, но вторая задача будет сильно ругаться, если ты сразуже не поменяешь array [1..100] of char на string (обращение по тому же типу, + еще дополнительный модуль автоматически подключаешь, который даст тебе возможность использовать всякие процедурки типа pos, length и т. д.). Тут дело в том, что такой метод действительно используется в С++, ты, наверное скачивал чего из инета.  По поводу второй еще могу добавить, чтобы постоянно проверять строку снова и снова, то это не рационально, лучше так проверил, если нашел, то удалил, и снова вернулся на столько символов назад, на сколько мы из удалили, ты же последовательно сть то знаешь

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 23 фев. 2006 22:37 | IP
miss_graffiti


Долгожитель

KMA, подожди....
а кто отменил цикл с постусловием и предусловием?
хоть
while pos(.....)<>0 do
ты считаешь, не рационально?

паскаль (чистый паскаль, не делфи) не любит length.
а информация о длине строки хранится в s[0]. правда, по-моему, ее в число еще надо преобразовывать. ну, на то нам val и дан.

на массив даже внимания не обратила.... KMA, молодец, что заметил.

Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 23 фев. 2006 23:12 | IP
KMA



Долгожитель

Не, это конечно рационально, но все таки для пояснения и продолжения идеи воспринимать строку как массив символов для azatik я просто ему предложил одно из выставленных условий.
А вот по поводу чистого pascal и length ты не права, он ее очень даже любит, сам смотрел в справочнике, да и не в одном, в моем сборнике задач по Паскалю стоит первой процедурой, которую надо изучить в теме строки, так что здесь, ты не права.

_____
У меня вопрос по offу. Кто нибудь знает как надо писать программу оболочку-тест на Делфи. У меня на эту тему может еще одна исследовательская будет. Если есть какие-нибудь идейки, то подкиньте, пожалуйста.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 фев. 2006 20:18 | IP
miss_graffiti


Долгожитель

KMA, от компилятора зависит, наверное.
и от того, BP или TP.
у меня потому что ругается.

в ответ на off.
а что именно она должна делать?...
мне, в принципе, сейчас тему курсовой выбирать все равно... могли бы совместный проект сделать.

Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 24 фев. 2006 20:50 | IP
KMA



Долгожитель

Короче заходи на внешняя ссылка удалена  там специальная тема есть, надо дико поработать, если все получиться, то возможно мне даже поступать никуда не надо будет, сами меня возьмут.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 фев. 2006 12:11 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]

Форум работает на скрипте © Ikonboard.com