Конспект лекций по программированию для начинающих. Гладков В.П. - 125 стр.

UptoLike

Составители: 

127
n := round(y/h2);
write('I');
if x=0
then begin for i:=2 to n-1 do write('-');
write('*');
for i:=n+1 to h1 do write('-')
end
else begin for i:=2 to n-1 do write(' ');
write('*')
end;
writeln
end
end.
2. Напечатайте формулу, а затем ответ, полученный вычислением по этой
формуле: sin(1+cos(2-sin(3+cos(4+sin(5-cos(6+...)...)). Всего в формуле n пар скобок.
Пример 10.50. Пусть в программу требуется ввести натуральное n, большее 2.
Решение. При вводе обязательно необходима проверка. Если введенное
значение не удовлетворяет требуемым условиям, то ввод повторяется. На Паскале
решение может быть записано так:
repeat
write('Введите натуральное n>2 ');
readln(n)
until n>2.
10.10. Переборный метод решения задач
Метод перебора состоит в том, что алгоритм генерирует все возможные
комбинации исходных данных задачи и отбирает те из них, которые
удовлетворяют заданным условиям. В математике этот метод не приветствуется, к
тому же часто прямое применение этого метода приводит к очень большому
количеству вариантов, перебрать которые за обозримое время не может даже
современный
компьютер. Однако применение этого метода в программировании
оправдано тем, что для многих задач построить решение с помощью перебора
гораздо проще, чем с помощью других методов. В результате очень сложные
задачи, решить которые мог только хорошо подготовленный математик, поддаются
усилиям человека с очень скромными математическими способностями. Кроме
того, можно принять некоторые меры
для уменьшения количества перебираемых
вариантов за счет исключения заведомо неперспективных.
Пример 10.51. Для каждого четырехзначного числа составляется дробь:
отношение суммы цифр числа к самому числу. Найти четырехзначное число, для
которого эта дробь наибольшая.
Решение. Например, числу 1234 соответствует дробь 0,0081, а числу 9876 -
0,003. Для перебора всех четырехзначных чисел организуем четыре вложенных
цикла. В первом цикле будут перебираться цифры тысяч от 1 до 9 (ноль
исключается, потому что число заведомо четырехзначное), во втором - сотни от 0
                                          127

             n := round(y/h2);
             write('I');
             if x=0
             then begin for i:=2 to n-1 do write('-');
                          write('*');
                          for i:=n+1 to h1 do write('-')
                     end
             else begin for i:=2 to n-1 do write(' ');
                          write('*')
                     end;
             writeln
      end
   end.
   2. Напечатайте формулу, а затем ответ, полученный вычислением по этой
формуле: sin(1+cos(2-sin(3+cos(4+sin(5-cos(6+...)...)). Всего в формуле n пар скобок.
   Пример 10.50. Пусть в программу требуется ввести натуральное n, большее 2.
   Решение. При вводе обязательно необходима проверка. Если введенное
значение не удовлетворяет требуемым условиям, то ввод повторяется. На Паскале
решение может быть записано так:
   repeat
      write('Введите натуральное n>2 ');
      readln(n)
   until n>2.

                   10.10. Переборный метод решения задач
    Метод перебора состоит в том, что алгоритм генерирует все возможные
комбинации исходных данных задачи и отбирает те из них, которые
удовлетворяют заданным условиям. В математике этот метод не приветствуется, к
тому же часто прямое применение этого метода приводит к очень большому
количеству вариантов, перебрать которые за обозримое время не может даже
современный компьютер. Однако применение этого метода в программировании
оправдано тем, что для многих задач построить решение с помощью перебора
гораздо проще, чем с помощью других методов. В результате очень сложные
задачи, решить которые мог только хорошо подготовленный математик, поддаются
усилиям человека с очень скромными математическими способностями. Кроме
того, можно принять некоторые меры для уменьшения количества перебираемых
вариантов за счет исключения заведомо неперспективных.
    Пример 10.51. Для каждого четырехзначного числа составляется дробь:
отношение суммы цифр числа к самому числу. Найти четырехзначное число, для
которого эта дробь наибольшая.
    Решение. Например, числу 1234 соответствует дробь 0,0081, а числу 9876 -
0,003. Для перебора всех четырехзначных чисел организуем четыре вложенных
цикла. В первом цикле будут перебираться цифры тысяч от 1 до 9 (ноль
исключается, потому что число заведомо четырехзначное), во втором - сотни от 0