Задание:"Дано трехзначное целое число. Определить сумму и произведение первой и третьей цифры этого числа". Скажите, правильно ли у меня составлен код? Программы "КУМИР" у меня нет, к сожалению, у кого есть - можете, проверить, пожалуйста, правильность написания кода? Если не правильно, то скажите, пожалуйста, в чем ошибка. Заранее огромное спасибо!
АЛГ СумПроизв
НАЧ
ЦЕЛ number, first, third, sum, product
ВВОД number
ВЫВОД "Введите трехзначное число"
ЕСЛИ number < 100 ИЛИ number > 999 ТО
ВЫВОД "Неверный ввод. Число должно быть трехзначным"
ИНАЧЕ
ВЫВОД "Верный ввод"
ВСЕ
first := number DIV 100
third := number MOD 10
sum := first + third
product = first * third
ВЫВОД "Сумма первой и третьей цифры числа: ", sum НС
ВЫВОД "Произведение первой и третьей цифры числа ", product
КОН
Другие языки программирования и технологии
Всем привет! Помогите, пожалуйста, разобраться с алгоритмическим языком (псевдокодом)
Здравствуйте! В целом, ваш псевдокод выглядит правильным. Однако, есть несколько небольших ошибок:
В строке "product = first * third" не хватает двоеточия после слова "product", чтобы обозначить операцию присваивания значения переменной.
В строке "product = first * third" неправильно указаны индексы цифр. В данном случае вычисляется произведение первой и последней цифры, а не первой и третьей. Для получения второй цифры можно использовать операцию получения остатка от деления на 100: "second := (number DIV 10) MOD 10".
В строке "ВСЕ" нет необходимости, можно ее удалить.
Исправленный код будет выглядеть так:
АЛГ СумПроизв
НАЧ
ЦЕЛ number, first, second, third, sum, product
ВВОД number
ВЫВОД "Введите трехзначное число"
ЕСЛИ number < 100 ИЛИ number > 999 ТО
ВЫВОД "Неверный ввод. Число должно быть трехзначным"
ИНАЧЕ
ВЫВОД "Верный ввод"
first := number DIV 100
second := (number DIV 10) MOD 10
third := number MOD 10
sum := first + third
product := first * third
ВЫВОД "Сумма первой и третьей цифры числа: ", sum
ВЫВОД "Произведение первой и третьей цифры числа: ", product
КОН
В строке "product = first * third" не хватает двоеточия после слова "product", чтобы обозначить операцию присваивания значения переменной.
В строке "product = first * third" неправильно указаны индексы цифр. В данном случае вычисляется произведение первой и последней цифры, а не первой и третьей. Для получения второй цифры можно использовать операцию получения остатка от деления на 100: "second := (number DIV 10) MOD 10".
В строке "ВСЕ" нет необходимости, можно ее удалить.
Исправленный код будет выглядеть так:
АЛГ СумПроизв
НАЧ
ЦЕЛ number, first, second, third, sum, product
ВВОД number
ВЫВОД "Введите трехзначное число"
ЕСЛИ number < 100 ИЛИ number > 999 ТО
ВЫВОД "Неверный ввод. Число должно быть трехзначным"
ИНАЧЕ
ВЫВОД "Верный ввод"
first := number DIV 100
second := (number DIV 10) MOD 10
third := number MOD 10
sum := first + third
product := first * third
ВЫВОД "Сумма первой и третьей цифры числа: ", sum
ВЫВОД "Произведение первой и третьей цифры числа: ", product
КОН
Олег Боровский
Огромное вам спасибо!!!
У тебя вывод суммы и произведения производится даже при неверном вводе. Надо все вычисления поместить в ЕСЛИ.
НС - это символ или оператор? Если символ - забыла запятую, если оператор - его надо писать на отдельной строке
НС - это символ или оператор? Если символ - забыла запятую, если оператор - его надо писать на отдельной строке
АЛГ СумПроизв
НАЧ
ЦЕЛ number, first, third, sum, product
ВВОД number
ВЫВОД "Введите трехзначное число"
ЕСЛИ number < 100 ИЛИ number > 999 ТО
ВЫВОД "Неверный ввод. Число должно быть трехзначным"
ИНАЧЕ
ВЫВОД "Верный ввод", НС
first := number DIV 100
third := number MOD 10
sum := first + third
product = first * third
ВЫВОД "Сумма первой и третьей цифры числа: ", sum, НС
ВЫВОД "Произведение первой и третьей цифры числа ", product
ВСЕ
КОН
Олег Боровский
Спасибо большое!
Олег Боровский
"У тебя вывод суммы и произведения производится даже при неверном вводе. Надо все вычисления поместить в ЕСЛИ." - а как это сделать, скажите, пожалуйста?
Похожие вопросы
- Помогите пожалуйста разобраться с вопросами по информатике и программированию
- Паскаль! Помогите пожалуйста разобраться в задачке.
- Помогите пожалуйста написать программу на языке программирования AssemblerКто первый поможет сделать правильно10балов+50
- Помогите пожалуйста разобраться с циклом while c++
- Помогите, пожалуйста, написать программу на языке Си
- Привет)Помогите пожалуйста написать по условию задачи программу в Паскале
- Ребят всем привет. Помогите пожалуйста. 3 день голову ломаю, заколебался уже!!! Вообщем, задача следующая.
- Всем привет! Помогите, пожалуйста, создать блок - схему к следующему коду и заданию. Заранее большое спасибо!
- помогите, пожалуйста, написать программу на языке Паскаль
- помогите, пожалуйста, доработать программу на языке Java