Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите решить 3 задачи...По ''Pascal'', Нужна срочно помощь ! 
:(
    Опции темы
John
Дата 6.1.2005, 16:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Народ- уважаемые программисты, будьте так добры помочи мне решить 3 задачки по ''Pascal''
Нужен тексты программ.
Они мне нужны для школы. Возможно решил бы сам, но реально нет время.
Поэтому, если можете помогите пожалуйста.
Заранее СПАСИБО тем кто откликнется и попробует мне помоч.

1) Вот вариант первой программы:

Вводится число N. Внутри квадрата с вершинами в точках (0;0), (0;1), (1;1), (1;0) случайно выбираются N точек (точка задается парой координат x и y). Определить количество точек n, попавших в круг радиуса 1 с центром в начале координат и найти pi из соотношения pi/4 примерно равно n/N.

2) Вот вариант второй программы:

Вводится число N. Построить последовательность его простых сомножителей.

3) Вот вариант третий программы:

Вводится массив. Сколько в нем чисел в 3 раза больше минимального элемента.





СПАСИБО !!!!!




  Вверх
dvs
Дата 7.1.2005, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Владимир Драпалюк
**


Профиль
Группа: Участник Клуба
Сообщений: 660
Регистрация: 25.8.2003
Где: Воронеж->Москв а

Репутация: нет
Всего: 19





--------------------
Любите друг друга!
PM MAIL WWW ICQ   Вверх
neutrino
Дата 7.1.2005, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



1)

Привет!

Чтобы сгенерировать число, можно воспользоваться функцией random.Но для того, чтобы она работала, сначала нужно построить последовательность случайных чисел с помощью вызова процедуры randomize. Функция random(n) возвращает случайное число от 0 до параметра n. Тебе нужно сгенерировать число от 0 до 1, значит нужно разделить на необходимую степень 10 (эта степень равна количеству цифр, которое тебе нобходимо), чтобы отодвинуть цифры за точки. Например, генерируем 3 цифры после точки:

Код

program test;

uses crt;

var r: Real;

begin
    randomize;
    r := random(1000)/1000;
    writeln(r);
end.


Сгенерировали мы таким образом точки (каждую координату мы генерируем отдельным вызовом функции random). Важно заметить, что процедуру randomize для генерированиея последовательности случайных чисел нужно вызвать только один раз в начале программы. Теперь осталось узнать, попала ли конкретная точка в окружность с центром (0,0) и радиусом 1. Для этого мы можем воспользоваться проверкой на простое неравенство:

(x - Xo)^2 + (y - Yo)^2 <= R^2

((Xo,Yo) - координаты точки, (x,y) - координаты центра, знак обозначает "в квадрате", R - радиус окружности).

В твоем случае координаты центра - нули, значит неравенство имеет вид:

Xo^2 + Yo^2 <= R^2

Что нам осталось? Общая структура программы. Хорошо. Нужно в цикле от 0 до н-1 генерировать пару координат (одну для оси абцисс, вторую для ординат) и проверять вышеуказанное неравенство, если оно правдиво, надо увеличить на 1 счетчик заведомо (до цикла) обнуленный.

Саму программу я писать не буду. Но если у тебя возникнут вопросы по ее составлению спрашивай - помогу.
Добавлено @ 15:15
Цитата(John @ 6.1.2005, 15:06)
Вводится число N. Построить последовательность его простых сомножителей.

В "алгоритмы"


Цитата(John @ 6.1.2005, 15:06)
Вводится массив. Сколько в нем чисел в 3 раза больше минимального элемента.

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


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.