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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 607
от 19.03.2008, 20:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 255, Экспертов: 48
В номере:Вопросов: 5, Ответов: 11

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 127215: Дано 50 вещественных чисел. Найти величину наибольшего из них. ...
Вопрос № 127247: Здравствуйте. В общем проблема в следующем: нужно писать курсовую, база данных на паскаль. Так вот, чтобы сделать несколько полей (ИФО, дата рождения и т.д.) нужно использовать записи. А чтобы эти записи не вбивать вечно нужно использова...
Вопрос № 127263: Объем V - цилиндрической подковы вычисляется по формуле ------------------------------- h u V= ------ [a*(3*r^2 - a^2) + 3*r^2*(b-r)* ----- ]. 3*b 180 ------------------------------ <u><b>Исправленая формула:</b></u><...
Вопрос № 127285: вот тут две задачки. помогите их решить. С клавиатуры вводится натуральное число n <= 100, а затем последовательность из n целых чисел. Определите, сколько среди них пар одинаковых чисел. программа в приложении. Скажите мне, пожалуйста, ош...
Вопрос № 127310: здравствуйте! у меня проблема с прогарамой! задача звучит так: "в квадратной матрице Д поменять местами елементы стороней диагонали и l-той строки предварительно упорядочив елемены последнего по возростанию". у меня меняет вместо диагонали...

Вопрос № 127.215
Дано 50 вещественных чисел. Найти величину наибольшего
из них.

Приложение:

Отправлен: 13.03.2008, 22:19
Вопрос задал: Dolgopolov (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Пупорев Юрий Борисович
!!!
Здравствуйте, Dolgopolov!
Если вам нужен алгоритм этой задачи на словах, то он заключается в следующем:
1. Вводим с клавиатуры первое данное число. Присваиванм ему значение максимального.
2.Вводим второе число. Если оно больше, присваиваем ему значение max, если нет - пропускаем.
Все поторяется 50 раз, после чего на экран выводится последнее запомненное максимальное число.
3.Завершение программы.
Код в приложении.
Вообще-то я думаю, что вам нужен не алгоритм, а блок-схема, но ее здесь приложить нельзя, только по e-mail/

В приложенном примере допущена ошибка:
Строка 7
max:=a[1];
- переменной max присваивается значение первого элемента массива a, который еще не заполнен (в TP это значение обычно равно 0.0). Т.о., если пользователь введет 50 отрицательных значений, программа выдаст неверный результат, равный нулю.

-----
∙ Отредактировал: Denisss (Профессионал)
∙ Дата редактирования: 14.03.2008, 11:25

Приложение:

Ответ отправил: Пупорев Юрий Борисович (статус: 6-ой класс)
Ответ отправлен: 14.03.2008, 07:28
Оценка за ответ: 5

Отвечает: Delph
Здравствуйте, Dolgopolov!

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

Приложение:

---------
Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.

Ответ отправил: Delph (статус: Студент)
Ответ отправлен: 14.03.2008, 09:26
Оценка за ответ: 5


Вопрос № 127.247
Здравствуйте.
В общем проблема в следующем: нужно писать курсовую, база данных на паскаль.

Так вот, чтобы сделать несколько полей (ИФО, дата рождения и т.д.) нужно использовать записи. А чтобы эти записи не вбивать вечно нужно использовать файлы. Так вот вопрос в чём, как сделать так, чтобы запись сохранялась в файл, но и в то же время была массивом.
ТО беж, чтобы можно было вбить не одну фамилию имя и т.д. а множество и всё это сохранялось, а затем бралось из файла...
Отправлен: 14.03.2008, 07:35
Вопрос задал: Зыков Николай Павлович (статус: 1-ый класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Пупорев Юрий Борисович
Здравствуйте, Зыков Николай Павлович!
Если подробно рассказывать, как все это делается, будет целая лекция. Лучше я вам выложу образец курсовой работы, аналогичной вашей, она написана с пояснениями, ловольно все понятно, попробуйте сделать также. Когда в процессе работы появятся конкретные вопросы, задавайте.

Приложение:

Ответ отправил: Пупорев Юрий Борисович (статус: 6-ой класс)
Ответ отправлен: 14.03.2008, 08:13
Оценка за ответ: 5
Комментарий оценки:
Отлично, спасибо сейчас буду разбираться

Отвечает: Delph
Здравствуйте, Зыков Николай Павлович!

Привожу пример давнего проекта, который сам делал в качестве курсовой работы по языку Turbo Pascal 7.0. Задание было весьма похожим на Ваше. Полный архив проекта Вы можете скачать по ссылке Steller.ZIP (около 6 килобайт). В приложении я привожу текст основной программы и вспомогательного модуля, выполняющего основную работу.

Скачайте весь проект, чтобы иметь возможность запустить его, если хотите - поэкспериментируйте. В нём Вы сможете увидеть реализацию необходимых Вам технологий. Использовать проект можете без ограничений.

Приложение:

---------
Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.

Ответ отправил: Delph (статус: Студент)
Ответ отправлен: 14.03.2008, 09:00

Отвечает: Шемет Станіслав Васильович
Здравствуйте, Зыков Николай Павлович!
После вывода на монитор информации о записи, одновременно и заполниться массив информацией о записях.
n - не должно быть меньше максимального числа записей в файле.
Можно еще было б создать простой текстовый файл и внего записывать всю информацию о записи по строчно это более экономно так как когда записывается запись она занимает строгий обьем памяти который вычисляться так : нужно про суммировать все обьем всех переменных в записи
в нашем случаи так :
Year - 2 байта
Monce - 1 байт
Day - 1 байт
Name - 255 байт(єто символы) плюс один байт это количество символов в строке
и того получается :2+1+1+255+1=260 байт
А допустим мы ввели такое значения записи:
Year - 1991
Monce - 12
Day - N
Name - Stanislav
Если мы б это сохранили построчно то одна запись в файле занимала б :
4+2+1+9=16 байт , а не 260 как при при сохранении целой записи
Year занимает 4 байта потому что там 4 символа
Monce - 2 байта здесь 2 символа
ну и все остальное аналогично.
Вот как можно для это улучшить код сохранения информации о записи токо теперь F (текстовый файл) :

const
n=10;
........(*многоточии єто значит что там дальше объявляются другие переменные и еще какойто программный код нужный для каких - то нужд программы*)
var
F:text;
i:integer;
Zapis:array[1..n] of Tzapis;
........
begin
assign(f,'d:zapis.txt');
Reset(f);
.........
For i:=1 to n do
Writeln(f,zapis[i].Year);
Writeln(f,Zapis[i].Monce);
Writeln(f,zapis[i].Day);
Writeln(f,zapis[i].Name);
close(f);
.............
end.
А вот так будет выглядит код для чтения информации из файла:
const
n=10
.......
Var
F:text;
I:Integer;
Zapis:array[1..n] of Tzapis;
..........
Begin
assign(f,'d:zapis.txt');
Reset(f);
.........
I:=0;
Repeat
inc(i);
Readln(f,zapis[i].Year);
Readln(f,Zapis[i].Monce);
Readln(f,zapis[i].Day);
Readln(f,zapis[i].Name);

until eof(f);
Close(f);
..........
end.
Так что решайте скоко памяти должно использовать ваша программа.
Удачи!

Приложение:

---------
Любовь это прекрасно!!!

Ответ отправил: Шемет Станіслав Васильович (статус: 4-ый класс)
Ответ отправлен: 14.03.2008, 11:48

Отвечает: Евчик Сергей Александрович
Здравствуйте, Зыков Николай Павлович! Код в приложении... удачи...

Приложение:

Ответ отправил: Евчик Сергей Александрович (статус: 3-ий класс)
Ответ отправлен: 14.03.2008, 15:52


Вопрос № 127.263
Объем V - цилиндрической подковы вычисляется по формуле

-------------------------------
h u
V= ------ [a*(3*r^2 - a^2) + 3*r^2*(b-r)* ----- ].
3*b 180
------------------------------
Исправленая формула:

V= h/(3*b)[a*(3*r^2 - a^2) + 3*r^2*(b-r)* (u/180) ]

Составить алгоритм для построения графика зависимости V
от угла u , если a,b и r известны, а u изменяется в ди-
апазоне от u(1) до u(2) с шагом u.

Исправлена формула.
-----
∙ Отредактировал: sir henry (Академик)
∙ Дата редактирования: 14.03.2008, 12:52

Приложение:

Отправлен: 14.03.2008, 10:17
Вопрос задал: Dolgopolov (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Пупорев Юрий Борисович
Здравствуйте, Dolgopolov!
Написал код вычислений по формуле, которая у вас уехала влево, еле разобрал. Если разобрал неправильно, поправьте. Отправил письмом блок-схему. Код для графика писать долго и нудно, сделаете сами. Код расчетов в приложении.

Приложение:

Ответ отправил: Пупорев Юрий Борисович (статус: 6-ой класс)
Ответ отправлен: 14.03.2008, 13:08
Оценка за ответ: 5
Комментарий оценки:
большое спасибо


Вопрос № 127.285
вот тут две задачки. помогите их решить.
С клавиатуры вводится натуральное число n <= 100, а затем последовательность из n целых чисел. Определите, сколько среди них пар одинаковых чисел.
программа в приложении. Скажите мне, пожалуйста, ошибку в ней.
и ещё вот:
С клавиатуры вводится натуральное число. Определите, сколько различных цифр присутствует в его записи.
Массивы испльзовать можно.

Приложение:

Отправлен: 14.03.2008, 13:52
Вопрос задал: Хощенко Артём Владимирович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Delph
Здравствуйте, Хощенко Артём Владимирович!

В Вашей программе ошибка содержится в 15-й строке. Вот что Вы там написали:
If ((j = arr[i]) Or (i = j) Or (i = arr[i])) Then ...
Иными словами программа ищет не пары одинаковых чисел, а равенства между номерами и содержимым ячеек массива. Вот на что нужно заменить эту строку:
if arr[i] = arr[j] then...
---------
Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph (статус: Студент)
Ответ отправлен: 14.03.2008, 14:20
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: Пупорев Юрий Борисович
Здравствуйте, Хощенко Артём Владимирович!
Певая программа написана вами неправильно, поэтому одну ошибку там искать бесполезно. Посмотрире мрй код и сравните со свойм, может как-то поправите свой.

Вторую задачу я решил используя строковый тип записи чисел, так быстрее. Не нужно разбивать число на цифры, создавать из них массив или множество и т.д.
Если такой способ не устроит, пишите, переделаю посложнее.
Обе задачи в приложении.

Приложение:

Ответ отправил: Пупорев Юрий Борисович (статус: 6-ой класс)
Ответ отправлен: 14.03.2008, 14:29
Оценка за ответ: 5
Комментарий оценки:
Извините, но я ещё не изучал некоторые фунции и т. д. Если я их использую, то моё решение не зачтут. Пользоваться можно только типами данных интегер и булеан, можно использовать массивы, функции Abs, Inc, Sqr, Dec, Random, Odd, циклами, условными операторами. Заранее спасибо!

Отвечает: Denisss

Здравствуйте, Хощенко Артём Владимирович!

В приложении приведен пример решения второй задачи с использованием множеств (set).

Удачи!

Приложение:

---------
Будь осторожен, когда молишься ради чего-то, потому что можешь это получить...

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
ICQ: 281599577
----
Ответ отправлен: 15.03.2008, 13:12
Оценка за ответ: 5
Комментарий оценки:
Извините, но я ещё не изучал некоторые фунции и т. д. Если я их использую, то моё решение не зачтут. Пользоваться можно только типами данных интегер и булеан, можно использовать массивы, функции Abs, Inc, Sqr, Dec, Random, Odd, циклами, условными операторами. Заранее спасибо!


Вопрос № 127.310
здравствуйте! у меня проблема с прогарамой! задача звучит так: "в квадратной матрице Д поменять местами елементы стороней диагонали и l-той строки предварительно упорядочив елемены последнего по возростанию". у меня меняет вместо диагонали и строки строку и столбец! помогите пожалуйстя!
Отправлен: 14.03.2008, 16:37
Вопрос задал: коваль максим владимирович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Пупорев Юрий Борисович
Здравствуйте, коваль максим владимирович!
Немного сомневался насчет сторонней диагонали. Если это по нашему побочная диагональ, то решение перепишите один к одному, если это главная, то я сделал примечание.
Решение в приложении.

Приложение:

Ответ отправил: Пупорев Юрий Борисович (статус: 6-ой класс)
Ответ отправлен: 14.03.2008, 17:34
Оценка за ответ: 5
Комментарий оценки:
спасибо большое


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


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

В избранное