IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите пожалуйста написать прогу, математическая задача
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Доброго времени суток !
Условие: дано 2 натуральных числа a и b, притом a<b. Найти их сумму, среднее арифметическое, количество чисел. Использовать нужно цикл Repeat - Until, While - Do.
Может кто - то помочь с написанием этой программы в паскале ? Очень нужно.
Спасибо заранее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
количество чисел

может количество цифр?

Что-нибудь пытался делать? Какие мысли есть? Делись))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Да да, количество цифр, например если а = 4, б=6, кол-во цифр будет 2, будет считаться при а =4 и при а=5. Так же будет считаться общая сумма и среднее арифметическое этих чисел, тоесть а+б/2. А вот как этот код записать используя данные циклы я не знаю, repeat(далее должны быть все варианты когда а<б)......until(до того пока а не будет =б), я так понимаю, а вот while , do ваше не знаю как испольвзовать, помогите..

Сообщение отредактировано: Juhn -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(Juhn @ 22.12.2007 17:13) *
а вот while , do ваше не знаю как испольвзовать, помогите..
например для поиска количества цифр...
var i, a:integer;
begin
readln(a);
i:=0;
while a<>0 do begin
inc(i);
a:=a div 10;
end;
writeln(i);
end.




--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Для суммы наверное надо считать не в цикле, а отдельно, так же как и ср. арифметическое (а+б/2), в цикле же нужно что бы он посчитать результат, при а и б. Только вначале он должен запросить введите а и б, и затем в зависимости от этих чисел в цикле должен посчитать ответ подставляя каждый раз вместо а на 1 больше, начиная с того числа которые ввели изначально, и до тех пор пока а будет < чем б. А вот после этого цика уже нужно использовать какой - то другой код, для сложения всех етих полученных результатов, тоесть нахождение суммы. Ну и нужен код для вычисления арифметического чисел а и б, как я понимаю тех, которые мы вводили изначально. И потом уже другим наверное кодом, он должен посчитать кол-во цифр, в зависимости какие были а и б, например если а=4, б=6, то кол-во цифр 2, так как он подставлял а=4 и а=5, а=6 это уже а неменьше чем б получается, значит не нужно. Вот что нужно, помогите подалуйста, не знаю как это написать, как я вижу программа не маленького размера должна получиться, так как много чего нужно находить. Но может кому - то не трудно это сделать, а то я не имею представления как её написать :/ Пожалуйста помогите.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


честно говоря, первую часть твоего поста я непонял:)

написать то ее не трудно
function sar(const a, b:integer):real;
begin
sar:=(a + b)/2;
end;

function num(var i1, i2:integer):integer;
var i:integer;
begin
i:=0;
while i1<>0 do begin
inc(i);
i1:=i1 div 10;
end;

while i2<>0 do begin
inc(i);
i2:=i2 div 10;
end;

num:=i;
end;

var a, b:integer;
begin
repeat
write('a-->'); readln(a);
write('b-->'); readln(b);
until(a<b);
writeln('Сумма:', (a+b));
writeln('Среднее арифметическое:', sar(a,b):4);
writeln('Количество цифр:', num(a,b));
end.
хорошо разбирись в ней! будут вопросы -- задавай..


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Ну и програмка blink.gif
Проверил, компьютер запрашиывает у меня числа а и б, но после того как я их вввёл, программа закрывается. Как я вижу здесь много раз begin и end, значит несколько циклов, но выполняется только 1, запрос а и б, тоесть вот эта часть:
write('a-->');
write('b-->');
Может добавить чего - то нужно ? smile.gif

Сообщение отредактировано: Juhn -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


добавь, если тебе надо, в конце(перед end.) readln; read; и будет тебе счастье smile.gif

>>Ну и програмка
комментарии нужны?

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Спасибо, теперь всё работает.
Ввёл а =2, б=4, посчитал что сумма =6, ср. арифметическое 3, кол-во цифр =2. Но при таких а и б, сумма должна была быть 13 (здесь и работает цикл repeat, until или while, do, так как должны подставлятся все натуральные числа А, которые меньше чем Б, тоесть сначала а =2 - это будет 2+4 =6, а затем а=3, оно ведь тоже меньше чем Б - 3+4 =7, и затем посчитать уже их сумму, тоесть 7+6 =13.) Со средним арифметическим всё правильно, а вот кол-во цифр, это наверное должны быть все цифры которые использовались при сложении, тоесть 2,3,4, значит кол-во цифр =3. Я так думаю, учитель сам толком не знал, когда я ему задал этот вопрос, но если кол-во цифр только изначальное, то в условии уже сказано что их 2, тогда и считать не надо, поэтому думаю надо что бы считались все используемые цифры.

Попробую поправить формулы, если смогу... с такимим кодами я ещё не знаком, а ещё надо описать все эти строки и написать блок схему, но если не найду в интернете описания этих команд, обращусь ))
А насчёт блок схем, нет ли какой нибудь программы, что бы она сама блок схему делала ? А то программа большая, сам не знаю как её составить ))

Сообщение отредактировано: Juhn -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Где здесь находится формула рассчёта суммы ? Нужно как - то её поправить, что бы складывались все суммы вместе, не знаю как это сделать
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
Но при таких а и б, сумма должна была быть 13 (здесь и работает цикл repeat, until или while, do, так как должны подставлятся все натуральные числа А, которые меньше чем Б, тоесть сначала а =2 - это будет 2+4 =6, а затем а=3, оно ведь тоже меньше чем Б - 3+4 =7, и затем посчитать уже их сумму, тоесть 7+6 =13.)

Хм.. по-моему это отличается от задания, которое ты привел изначально.. Это твоя додумка или задание звучит как-то по-другому?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Ну это я так сам думаю, так как с таким циклом я не знаком, но если просто сумму чисел а и б, то зачем вообще этот цикл, сумму двух чисел ведь можно посчитать и без циклов, так же как арифметическое и количество цифр. Просто я подумал для чего тогда в условии дано что а меньше чем б, значит цикл должен подставлять все возможные а и считать их, я так думаю... Правда я переводил условие задачи с другого языка, у учителя спрашивал, но он сам толком не знает, вот такие вот задания.. Но если подумать зачем дано что а меньше чем б, и сказано что надо использовать цикл ОТ и ДО... ?

Сообщение отредактировано: Juhn -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
Но если подумать зачем дано что а меньше чем б, и сказано что надо использовать цикл ОТ и ДО... ?

наверно вот для этого:
 repeat
writeln('введите a: ');
readln(a);
until a>0;
repeat
writeln('введите b: ');
readln(b);
until (b>0) and (b>a);

чтобы контролировать правильность ввода a и b..

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Спасибо, понял ;]
А как описать строки:
function sar(const a, b:integer):real;
function num(var i1, i2:integer):integer;
inc(i);
div

С этими командами я не знаком, а нужно описать каждую строчку. Не подскажите что вот эти строки означают ? smile.gif

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


function sar(const a, b:integer):real;    // описание функции
function num(var i1, i2:integer):integer;// описание функции
inc(i); // увеличение i на единницу
div // целочисленное деление
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


Спасиб ;]
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

Репутация: -  0  +


[img]http://816.sytes.net/bitbucket/_jg_gj_g_1198517129.jpg[/img]

Проверте пожалуйста, правильно ли я сделал блок схему для этой программы ? Если что поправте smile.gif


Сообщение отредактировано: Juhn -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 19:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name