silicon-films3375
?>

Решить две надо, завтра урок ! 1)напишите программу, которая вводит четырёхзначное натуральное число и переставляет его первую и последнюю цифры, например, из числа 1234 должно получится число 4231. 2)напишите программу, которая вводит четырёхзначное натуральное число и "вырезает" из него вторую цифру с начала, например, из числа 1234 должно получиться число 134.

Информатика

Ответы

rayon14
Задание №1

var x:integer; 
begin 
writeln('Введите четырехзначное число'); 
read(x); 
x:=x mod 10*1000+x div 100 mod 10*100+x div 10 mod 10*10+x div 1000; 
writeln('Число после перестановки 1-й и 4-й цифры = ',x); 
end.

Задание №2

var x:integer; 
begin 
writeln('Введите четырехзначное число'); 
read(x); 
x:=x div 1000*100+x div 10 mod 10*10+x mod 10; 
writeln(x); 
end.
borvalmok432
Давай попробуем рассуждать логически.
Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.

Поэтому ответ: 1 * 2 * 2 * 2 * ... (десять двоек умножаются) = 2^10 = 1024 варианта садов. 

Думаю что так, если не напутал. Но ты лучше проверь за мной. 
Volochaev
Сначала надо избавиться от ошибок (пункт №3)
иначе не сможем выполнить 1 и 2 пункт задания.
  Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10;
  Исправляем N:N div 10; на N:= N div 10;
 
После исправления ошибок при вводе 537 получим 3
Программа будет работать правильно для любого числа,
у которого вторая цифра слева меньше первой цифры, например:
7193

Чтобы программа работала правильно для всех чисел надо
изменить это: while N > 10 do на while N > 0 do

После всех исправлений код программы стал таким:
var
  N, k: integer;
begin
  readln(N);
  k := 9;
  while N > 10 do
  begin
    if (N mod 10 < k) then k := N mod 10;
    N := N div 10;
  end;
  write(k)
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решить две надо, завтра урок ! 1)напишите программу, которая вводит четырёхзначное натуральное число и переставляет его первую и последнюю цифры, например, из числа 1234 должно получится число 4231. 2)напишите программу, которая вводит четырёхзначное натуральное число и "вырезает" из него вторую цифру с начала, например, из числа 1234 должно получиться число 134.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ЮлияНиколаевна1748
sergeykvik13
Azarova Anastasiya1707
director
re-art
tetralek
natakrechko
Новицкий1107
krisrespect2
shalashcoffee
Malenyuk
sergey3699
rs90603607904
Bmashutav16
Стадник620