0 / 0 / 0
Регистрация: 10.10.2022
Сообщений: 69
|
||||||
1 | ||||||
Процедура вычисляющие сумму 2 целых чисел29.03.2023, 16:38. Показов 740. Ответов 11
Метки free pascal (Все метки)
Здравствуйте, нужна помощь, мне нужно вывести результат полученный при помощью процедуры и потом разделить это число на 2. Как это нужно сделать подскажите пожалуйста.
0
|
|
29.03.2023, 16:38 | |
Ответы с готовыми решениями:
11
Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно
|
2902 / 1552 / 624
Регистрация: 19.03.2019
Сообщений: 5,152
|
|||||||||||
30.03.2023, 09:35 | 2 | ||||||||||
ну, формально, (подчёркиваю - ФОРМАЛЬНО) это можно сделать, просто выбросив описание локальной переменной result внутри процедуры sum:
если нужно возвращать значение из процедуры (такое бывает, хотя функция специально для таких целей придумана!), тогда описывается ещё один параметр, через который и возвращается значение. Примерно так это должно быть:
1
|
0 / 0 / 0
Регистрация: 10.10.2022
Сообщений: 69
|
|
30.03.2023, 10:29 [ТС] | 3 |
mr-Crocodile,
Признаюсь что это делала я, можете мне оторвать руки.
0
|
2902 / 1552 / 624
Регистрация: 19.03.2019
Сообщений: 5,152
|
|
30.03.2023, 11:12 | 4 |
Lari76, не буду, если обещаешь так больше не делать!
![]() Учись делать правильно и не учись делать плохо. И всё с ручками твоими будет в порядке! ![]() Использовать глобальные переменные можно, но очень аккуратно. Трижды подумай, а точно ли без глобальной переменной тут не обойтись? Рекомендую такой "лайфхак" - всегда описывать переменные после всех функций и процедур, непосредственно перед главным begin (это тот begin, который завершается парным end с точкой - конец программы). Тогда шансы случайно использовать глобальную переменную уменьшаются. Обрати внимание, что я в своём втором примере перенёс описание переменных вниз. Вот я про это. Сами по себе глобальные переменные никакой проблемы не несут, проблемы возникают от бездумного и бесконтрольного их использования. Вот, например, в твоём случае локальная переменная с тем же именем "перекрывает" видимость глобальной переменной, что и привело к тому, что программа не работала, хотя ошибок (синтаксических), в ней нет.
0
|
0 / 0 / 0
Регистрация: 10.10.2022
Сообщений: 69
|
|
07.04.2023, 10:16 [ТС] | 5 |
mr-Crocodile,
Спасибо, у меня еще вопрос, я хочу чтоб этот результат который я получила (без добавление других процедур и функций) разделила на число которое я (пользователь) ввожу, как лучше это прописать чтоб опять не возникли проблемы с переменными?
0
|
2902 / 1552 / 624
Регистрация: 19.03.2019
Сообщений: 5,152
|
||||||||||||||||
07.04.2023, 11:20 | 6 | |||||||||||||||
это что означает, прости, не понял?
тогда в процедуру нужно передать не два значения, а три:
0
|
0 / 0 / 0
Регистрация: 10.10.2022
Сообщений: 69
|
|
07.04.2023, 11:56 [ТС] | 7 |
mr-Crocodile,
Спасибо что показали и объяснили как это можно сделать, по поводу без добавление других процедур и функций, я имела ввиду что в коде будет только одна процедура.(а деление должно произойти не в самой процедуре). Извините что неправильно сформулировала текст.
0
|
2902 / 1552 / 624
Регистрация: 19.03.2019
Сообщений: 5,152
|
|
07.04.2023, 12:04 | 8 |
Lari76, ничего, всё нормально. Главное, что разобрались вместе с твоим затруднением.
0
|
0 / 0 / 0
Регистрация: 10.10.2022
Сообщений: 69
|
||||||
07.04.2023, 12:25 [ТС] | 9 | |||||
Сейчас я на телефоне попробовала такой вариант деления (у меня так получилось что ноутбук перестал работать стабильно и он сейчас в ремонте), можете пожалуйста посмотреть на наличие ошибок?
0
|
2902 / 1552 / 624
Регистрация: 19.03.2019
Сообщений: 5,152
|
||||||
07.04.2023, 14:35 | 10 | |||||
![]() Решение
ошибки
1) нет точки с запятой в конце первой строки (и, кстати, можно уже вообще не писать строчку Program XXXX - она не несёт ничего полезного) 2) не описана переменная MySumDiv (явно во второй строчке ты её хотела описать, но опечталась) 3) не описана переменная MyDivider 4) дважды описаны переменные a b - до описания процедуры и в конце. 5) строчка write в 19 строке нет запятых, и точка-равно не в кавычках И почему нет проверки на то, что ввели ноль? Не боишься делить на ноль? И ещё, не ошибка совсем, но я бы рекомендовал все не глобальные переменные описывать перед основным begin (внизу, после описания процедур/функций... итого, в сухом остатке код
1
|
0 / 0 / 0
Регистрация: 10.10.2022
Сообщений: 69
|
||||||
25.04.2023, 23:26 [ТС] | 11 | |||||
mr-Crocodile, Большое спасибо, можно еще вопрос?
Я попробовала также сделать код , но использовала использовала функцию выполняющие ту же задачу, что и процедура. Возникла ошибка Operation is not overloaded : Constant string = SmallInt. Не могу понять ,как исправить эту ошибку?
0
|
594 / 914 / 149
Регистрация: 10.08.2015
Сообщений: 4,796
|
||||||
26.04.2023, 00:02 | 12 | |||||
1
|
26.04.2023, 00:02 | |
Помогаю со студенческими работами здесь
12
Найти сумму всех целых положительных чисел, больших 20, меньших 100 и кратных 3Найти сумму всех целых положительных чисе
Для данных двух целых чисел вычислить сумму всех целых чисел, которые находятся между ними
Процедура: в последовательности целых чисел найти количество чисел, с суммой цифр кратных 7 и максимальное среди них Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |