Вводятся целые числа до первого числа, которое меньше двух. Определить, сколько простых чисел было введено.
Программа на языке Паскаль:
while n > 2 do begin
for i:=2 to n div 2 do
if n mod i = 0 then
writeln(q,’ prime numbers’);
Найти сумму n-го количества элементов ряда 1, -0.5, 0.25, -0.125, …
Алгоритм решения задачи:
write(‘Количество элементов ряда: ‘);
for i:=1 to n do begin
Поменять местами слова в строках, состоящих из двух слов.
s – массив введенных строк;
f_word, s_word – первое и второе слово в каждой строке;
k – позиция пробела-разделителя слов в строке.
Алгоритм решения задачи:
Считывается очередная строка в текущий элемент массива.
Определяется позиция пробела с помощью функции pos.
В переменную f_word копируется часть строки с первого символа до пробела.
В переменную s_word копируется часть строки от пробела (не включая его) до ее конца.
В текущий элемент массива записывается строка, состоящая сначала из второго слова, пробела и затем первого слова.
Перестановка цифр в трёхзначном числе в Pascal
Программа на языке Паскаль:
s: array[1..5] of string;
f_word, s_word: string;
writeln(‘Введите пять строк с двумя словами в каждой.’);
for i:=1 to 5 do begin
s[i]:= concat(s_word,’ ‘,f_word)
Какие различные цифры входят в целое число.
n – анализируемое число;
digits – массив различных цифр, из которых состоит число n;
q_digits – количество цифр в массиве;
digit – извлеченная из числа цифра;
flag – проверка наличия цифры в массиве (если цифра в массиве уже есть, то она не будет в него добавлена.
Алгоритм решения задачи:
Избавляемся от знака числа с помощью функции abs.
Обнуляем количество цифр в массиве (изначально массив пуст).
После извлечения очередной цифры числа с конца (n mod 10) предполагаем, что ее еще нет в массиве (flag:= false).
Перебираются элементы массива цифр. Если текущая извлеченная цифра уже есть в нем, то меняем значение флага. Для первой извлеченной цифры данный цикл не работает, что правильно.
Если флаг остался в значении false, то увеличиваем количество цифр в массиве на единицу и записываем очередную цифру в массив.
Избавляемся от последней цифры числа (n div 10).
Цифры в массив записаны в обратном порядке. Для их вывода на экран в порядке следования в числе следует использовать вариант цикла for с downto.
Программа на языке Паскаль:
digits: array[1..10] of byte;
for i:=1 to q_digits do
if digit = digits[i] then begin
if flag = false then begin
q_digits:= q_digits + 1;
for i:=q_digits downto 1 do
Определить из каких цифр состоит число
Программа на языке Паскаль:
n:=-n; // уничтожение знака числа
writeln(n mod 10); // вывод последней цифры числа
n:= n div 10; // удаление последней цифры числа
Даны два пятизначных числа, необходимо найти количество совпадений по две одинаковые цифры в равносильных разрядах чисел, а так же количество совпадений по две одинаковые цифры в различных разрядах этих чисел. Цифра, которая уже участвовала в одной паре совпадения, не учитывается повторно. Например, даны числа 12345 и 27376. Количество совпадений одинаковых цифр в равносильном разряде равно 1 (это цифра 3), количество совпадений одинаковых цифр в различных разрядах равно 1 (это цифра 2).
Уроки Pascal. Подсчет суммы цифр в целом положительном числе.
a, b – заданные числа;
a_arr, b_arr – массивы цифр, из которых состоят числа;
a_dig, b_dig – массивы для хранения информации о совпавших цифрах.
Алгоритм решения задачи:
Числа раскладываются на цифры, которые размещаются в массивах. Нахождение остатка по основанию 10 дает младший разряд числа. При этом сами числа постепенно уменьшаются, избавляясь от текущих младших разрядов (div 10). Поскольку извлечение цифр происходит с конца, массивы, куда они заносятся, «прокручиваются» с конца: сначала заполняются пятые элементы массива, затем четверные и т.д.
Для того, чтобы найти одинаковые цифры в равносильных разрядах, достаточно сравнить элементы массивов, находящиеся в одинаковых позициях двух массивов. При этом надо где-то сохранить информацию о разрядах, цифры которых совпали. Введем два дополнительных массива (a_dig и b_dig). Изначально в языке программирования Pascal массивы заполнены нулями.
Пусть элементы этих массивов соответствуют разрядам чисел. Если цифра числа нашла себе пару среди такого же разряда второго числа, то в соответствующие разрядам ячейки массивов записываются единицы.
Берем очередной элемент массива первого числа. Если соответствующий ему элемент из массива a_dig равен нулю (что значит, совпадений не было), то сравниваем его со всеми элементами второго массива числа, которые также не нашли себе пару. Если при переборе совпадение находится, то в соответствующие ячейки массивов a_dig и b_dig помещаются цифры 2.
Количество одинаковых цифр в равносильных разрядах равно количеству единиц в массиве a_dig.
Количество одинаковых цифр в различных разрядах равно количеству двоек в массиве a_dig.
Массив b_dig содержит туже информацию о количестве единиц и двоек. Однако двойки находятся в иных элементах массива.
Программа на языке Паскаль:
a_arr, b_arr: array[1..n] of byte;
a_dig, b_dig: array[1..n] of byte;
Источник: www.stud24.ru
Задачи по Pascal. Сколько цифр в числе?
Задачи по Pascal
Автор cyber На чтение 3 мин.
Условие задачи : Написать программу которая будет определять сколько цифр в числе. Число вводит пользователь. Использовать цикл.
Сложность : средняя .
Задача не трудная если представить как всё у нас будет происходить. Допустим мы берем трехзначное число и хотим узнать сколько в нем цифр. И как это сделать . Нам на помощь придет операция div.
div — находит целую часть от деления
Искать какие это цифры нам не надо, надо только их количество. И чем нам поможет операция div?
Программа которая считает количество цифр в числе паскаль
Вопрос по информатике:
Написать программу которая считает количество цифр в числе и их сумму. паскаль. число вводится с клавиатуры
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок — бесплатно!
- bookmark_border
- 16.06.2015 01:47
- Информатика
- remove_red_eye 8046
- thumb_up 23
Ответы и объяснения 1
Для натуральных чисел:
var a,k,s:integer;
begin
write(‘a = ‘);
readln(a);
k:=0; s:=0;
while a>0 do
begin
k:=k+1;
s:=s+a mod 10;
a:=a div 10;
end;
writeln(‘k = ‘,k,’, s = ‘,s);
end.
Пример:
a = 352186
k = 6, s = 25
- 17.06.2015 07:11
- thumb_up 30
Знаете ответ? Поделитесь им!
Как написать хороший ответ?
Чтобы добавить хороший ответ необходимо:
- Отвечать достоверно на те вопросы, на которые знаете правильный ответ;
- Писать подробно, чтобы ответ был исчерпывающий и не побуждал на дополнительные вопросы к нему;
- Писать без грамматических, орфографических и пунктуационных ошибок.
Этого делать не стоит:
- Копировать ответы со сторонних ресурсов. Хорошо ценятся уникальные и личные объяснения;
- Отвечать не по сути: «Подумай сам(а)», «Легкотня», «Не знаю» и так далее;
- Использовать мат — это неуважительно по отношению к пользователям;
- Писать в ВЕРХНЕМ РЕГИСТРЕ.
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи — смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.
Источник: online-otvet.ru