Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 410
от 25.06.2007, 15:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 251, Экспертов: 62
В номере:Вопросов: 3, Ответов: 7


Вопрос № 92127: Здраствуйте уважаемые эксперты! я задавал это вопрос ранее, но как оказалось решить надо было по другому... просьба решить 2 задачки чере ПРОЦЕДУРЫ или ФУНКЦИИ. №1 Большая полуось орбиты обозначается как A=21.6*t^(2/3) где T-период обора...
Вопрос № 92184: у меня не идет в пошаговом программулечка пример из книжки с текстовым файлом f1-хотя компиляция ee прошла успешно, а после выполнения ASIGN я наезжаю на следующ.командочку -я там даже поставил readln- но ПАСКАЛЬ РУГАЕТСЯ-ЧТО у меня нет файла-и с...
Вопрос № 92194: Всем привет! Я изучаю паскаль по программе Pascal ABC, может кто-то сталкивался. Дошёл до раздела Series - последовательности, и не знаю, что это такое - может быть массив? В частности, там есть такая задача Дано целое число K и набор ненулевых целых...

Вопрос № 92.127
Здраствуйте уважаемые эксперты! я задавал это вопрос ранее, но как оказалось решить надо было по другому...
просьба решить 2 задачки чере ПРОЦЕДУРЫ или ФУНКЦИИ.

№1 Большая полуось орбиты обозначается как A=21.6*t^(2/3) где T-период оборачивания в секундах. Значение большой полуоси обозначается в километрах. Вычислить большую полуось з периодом оборачивания 4,8,12,24 часа.

№2
Вычислить суму двух матриц размером 3*3. Используя условный оператор if then else

еще разок повторюсь, даные задачи нужно решить через процедуры или функции ;)

Заранее спасибо ;)
Отправлен: 20.06.2007, 00:53
Вопрос задал: Grizlik (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Градов Юрий Михайлович
Здравствуйте, Grizlik!
По первой задаче предлагаю следующее решение:

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Практикант)
Ответ отправлен: 20.06.2007, 01:36


Вопрос № 92.184
у меня не идет в пошаговом программулечка пример из книжки с текстовым файлом f1-хотя компиляция ee прошла успешно,
а после выполнения ASIGN я наезжаю на следующ.командочку -я там даже поставил readln- но ПАСКАЛЬ РУГАЕТСЯ-ЧТО у меня нет файла-и стоит?
куда ехать не знаю? ведь я файл f1 определил-как текстовый-чтож там он не понимает?
program REKAA;
uses crt;
type reka=record
name:string[11];
dl:integer;
pl:longint;
end;
var f1:text;
myzap:reka;
namemax,nameplmax:string[11];
dlmax:integer;
plmax:integer;
begin clrscr;
dlmax:=0;plmax:=0;
writeln('NAZVANIE RECENKI---DLINA RECENKI---PLOSHAD BASEJNA RECENKI');
assign(f1,'C:BPNIKREKA');
readln;
readln;
reset(f1);
while not eof(f1) do
with myzap do
begin
readln(f1,name,dl,pl);
writeln(name:10,dl:10,pl:15);
if dl>dlmax then
begin dlmax:=dl;
namemax:=name;
end;
if plmax<pl then
begin plmax:=pl;
nameplmax:=name;
end;
end;
writeln('SAMAJA DLINNAJA REKA==',namemax);
writeln('SAMIJ BOLSHOJ BASSEJN U REKI==',nameplmax);
readln;
end.
заранее благодарю специалиста -который подскажет ,как выяснить мою неудачу...

Приложение:

Отправлен: 20.06.2007, 12:56
Вопрос задал: NIK VERR (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Nazar__D
Здравствуйте, NIK VERR!
Вам нужно в названии файла дописать расшырение, например txt: assign(f1,'C:BPNIKREKA.txt');
Помог, чем мог... :)
---------
Я - українець!
Ответ отправил: Nazar__D (статус: 2-ой класс)
Ответ отправлен: 20.06.2007, 13:05
Оценка за ответ: 5
Комментарий оценки:
спасибо

Отвечает: Градов Юрий Михайлович
Здравствуйте, NIK VERR!
assign(f1,'C:BPNIKREKA');
Команда связывания(открытия) файла, а не директории, должен быть конкретно указан файл. Или у Вас assign(f1,'C:BPNIKREKA.txt'); или assign(f1,'C:BPNIKREKAeka.txt');
Файл должен иметь обязательно расширение - reka.dat или reka.txt или reka.inf или ...
Файл обязательно должен находиться в пути где Вы прописываете assign() иначе нужно писать обработчик ошибок.
---------
Глаза боятся - руки делают!
Ответ отправил: Градов Юрий Михайлович (статус: Практикант)
Ответ отправлен: 20.06.2007, 13:10
Оценка за ответ: 5
Комментарий оценки:
да -я так и сделал -но после ASSIGN
ВСЕ РАВНО РУГАЕТСЯ-ГОВОРИТ НЕТ ФАЙЛА

Отвечает: Louken
Здравствуйте, NIK VERR!

Вот она проблемная строчка: assign(f1,'C:BPNIKREKA');
Т.е. вы просто либо пропустили расширение файла, либо не написали имени файла.
C:BPNIKREKA - это файл или директория?
Если файл, то укажите полное имя файла, вместе с расширением.
C:BPNIKREKA.TXT (или какое расширение у Вас? вставьте нужное)
Ответ отправил: Louken (статус: 8-ой класс)
Ответ отправлен: 20.06.2007, 13:15

Отвечает: Shapoklak
Здравствуйте, NIK VERR!
Разберитесь с файлом: он должен существовать именно там, где указано, в нем должны иметься записи.
Вот пример текстового файла reka.txt
Ural
2345
235
Volga
564
46456

А самое главное - если Вы запускаете Паскаль из под Windows XP, на файловой системе ntfs, работать с системным диском C не получится, поэтому сделайте исходный файл либо на дискете - на a:, либо на любом другом логическом диске, например, как в приложении написано (разумеется, он должен существовать).
Проверила - работает.

Приложение:

Ответ отправила: Shapoklak (статус: Академик)
Россия, Орск
Организация: школа
Адрес: www.school56orsk.narod.ru
WWW: компьютерные фирмы г. Орска
ICQ: 101137510
----
Ответ отправлен: 20.06.2007, 17:43


Вопрос № 92.194
Всем привет! Я изучаю паскаль по программе Pascal ABC, может кто-то сталкивался. Дошёл до раздела Series - последовательности, и не знаю, что это такое - может быть массив? В частности, там есть такая задача Дано целое число K и набор ненулевых целых чисел; признак его
завершения — число 0. Вывести номер первого числа в наборе, больше-
го K. Если таких чиселнет, то вывести 0. Если решать её с помощью массива, то количество чисел в наборе неизвестно, поэтому в цикле я не знаю какую указывать конечную переменную. Помогите, пожалуйста разобраться. Спасибо!

Приложение:

Отправлен: 20.06.2007, 14:03
Вопрос задал: Gene (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Louken
Здравствуйте, Gene!

Я бы Вам посоветовал определить массив так:
m:array[1..100] of integer;
100 - это такое число, сколько элементов последовательности, Вы использовать не будете.
Не будете же Вы вводить 100 чисел.
Если Вам 100 элементов последовательности мало, то можете указать предел - 10000.
Вводить последовательность (массив), лучше с помощью цикла Repeat, а искать, с помощью цикла While.
Если ответ не понятен, пишите в мини-форум.
Удачи.

Приложение:

Ответ отправил: Louken (статус: 8-ой класс)
Ответ отправлен: 20.06.2007, 14:44
Оценка за ответ: 5

Отвечает: Vassea
Здравствуйте, Gene!
В задаче не требуется считывать все числа.
Поэтому можно сделать так:
c:integer; i:integer; l:integer;
readln(k);
i:=0; l:=0;
repeat
readln(c);
inc(i);
if c>k then l:=i;
until (c=0) or (l<>0);

Ответ отправил: Vassea (статус: 3-ий класс)
Ответ отправлен: 20.06.2007, 18:05
Оценка за ответ: 4


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

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

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное