![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Лена |
![]()
Сообщение
#1
|
Гость ![]() |
Огромное спасибо тому человеку, который сделал мне прошлую программу!
Но сейчас нам задали еще одну и к завтрашнему дню: нужно найти среднее арифметическое n чисел. Причем n может быть любым. Сначала нужно спросить, сколько чисел надо. Помогите, плиз. |
hiv |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Поиском надо пользоваться!
Подобная задача -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Лена |
![]()
Сообщение
#3
|
Гость ![]() |
Я это читала, но чем можно заменить array и extended? Мы это не проходили.
Можно ли написать программу по-другому? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Лена, Extended можно заменить на Real, а вот Array к сожалению заменить ни на что не получится :no: Массив должен быть описан...
Хотя зачем? Код var i, n: integer; sum, x: real; begin write('n = '); readln(n); sum := 0.0; for i := 1 to n do begin write(i, '-е число = '); readln(x); sum := sum + x end; writeln('среднее арифметическое = ', (sum/n):8:5) end. |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Массив можно вообще убрать
в связи с тем, что Вольво подправил свой пост, этот уже не нужен ![]() Сообщение отредактировано: Oleg_Z - -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Лена |
![]()
Сообщение
#6
|
Гость ![]() |
Огромное всем Вам спасибо, кто мне помог, особенно Volvo.
|
Len |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Женский Репутация: ![]() ![]() ![]() |
Это снова я и с этой же программой. Ситуация уже критическая. Завтра нам выставят двойки
за несданные программы. А у меня их две. Среднее арифметическое вы написали абсолютно правильно. Но информатичке не нравится sum:=0.0 и sum:=sum+x. Она говорит, что это не надо. Ей нужна какая-то формула, вероятно вместо (sum/n). Если убрать sum:=0.0 и sum:=sum+x, то программа начинает каждый раз выводить другое число, когда я спрашиваю, продолжить выполнение или нет. Подскажите, пожалуйста, какая нужна формула? |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата(Len @ 16.03.05 10:49) информатичке не нравится sum:=0.0 и sum:=sum+x. Она говорит, что это не надо. Ей нужна какая-то формула, вероятно вместо (sum/n). ![]() Что касается второй части вопроса, то возможно она хочет, чтобы это делалось так: Код for i := 1 to n do begin write(i, '-е число = '); readln(x); sum := sum + x/n end; writeln('среднее арифметическое = ', sum:8:5) Если не так, то я просто не знаю, чего она от вас требует. Ну не придумали способа вычисления среднего арифметического без ввода и суммирования всех значений в цикле... Кстати, если она все-таки соизволит рассказать, что это за способ, обязательно напишите о нем сюда... Очень хочется знать, как это - не вводя числа (или не суммируя их) - подсчитать их среднее арифметическое. |
hiv |
![]()
Сообщение
#9
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Вообще-то в старые советские времена нас учили оптимизации с самого начала. А сечас в школы выбирают учителей информатики из каких-то дворников. Самое простое - операция деления выполняется медленнее операции сложения на порядок (в 4-10 раз).
И учить школьников писать код: Код for i := 1 to n do begin write(i, '-е число = '); readln(x); sum := sum + x/n end; writeln('среднее арифметическое = ', sum:8:5) вместо: Код for i := 1 to n do begin write(i, '-е число = '); readln(x); sum := sum + x; end; sum:=sum/n; writeln('среднее арифметическое = ', sum:8:5) это просто издевательство! В первом коде производится n суммирований и n делений, а во втором примере (как по началу писал Volvo) n суммирований и всего-то ОДНО деление. Нам в свое время за такие ошибки двойки ставили! ЗЫ: Я конечно понимаю, что там ручной ввод данных, а если из файла? Учить надо сразу правильному кодингу. Да, мощности компов выросли немеренно, но и объемы обрабатываемых данных растут не отставая! Сообщение отредактировано: hiv - -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Len |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Женский Репутация: ![]() ![]() ![]() |
Нет, не так...
Ей нужна формула, a sum:=sum+x и sum:=0.0 мне приказали убрать... ПОМОГИТЕ, ПЛИЗ! :molitva: |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата(Len @ 16.03.05 14:27) Ей нужна формула В таком случае тут одно из 2-х: либо Вы неправильно даете задание (возможно, оно звучало не совсем так, как записано в первом посте), либо - Ваша информатичка просто хочет Вас что называется "завалить". (Есть еще третья опция, но я не буду вдаваться в подробности...) hiv Цитата Нам в свое время за такие ошибки двойки ставили! :zdorov: |
Len |
![]()
Сообщение
#12
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Женский Репутация: ![]() ![]() ![]() |
вроде это задание. у нас в классе один человек сделал такую программку и 5 получил, но увы, он очень жадный..
Ну как-нибудь можно нули убрать и чтобы все работало? |
hiv |
![]()
Сообщение
#13
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Увы больше ничем помочь не получится... Проще волшебную палочку найти или понять, чего женщины хотят...
Берите сделанную прогу и талкайте ее училке, и пусть проверяет верность ответа, ведь задача решена верно! Если будет отпираться - пожалуйся на нее директрисе, чего это она от вас требует от вас того, чего сама не объясняла и выполненное задание с правильными ответами не принемает. Ей влетит по первое число, особенно если заставить директрису посчитать среднее арифметическое 10 чисел и показать, что программа выдала такой же результат как у директрисы! ![]() -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Len |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Женский Репутация: ![]() ![]() ![]() |
Легко так писать...
|
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
По-моему тема опять уходит в offtop. Давайте все-таки не отклоняться...
|
hiv |
![]()
Сообщение
#16
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Нули убрать можно так:
Код if n>0 then begin write('1-е число = '); readln(sum); for i := 2 to n do begin write(i, '-е число = '); readln(x); sum := sum + x; end; sum:=sum/n; writeln('среднее арифметическое = ', sum:8:5) end else writeln('Данные отсутствуют! Среднее арифметическое посчитать не возможно!'); -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
hydroxychloroquine purchase onli |
![]()
Сообщение
#17
|
Гость ![]() |
Keflex Side Effects
|
![]() ![]() |
![]() |
Текстовая версия | 9.04.2025 1:31 |