Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Составление программ циклической структуры.




1. Найдите количество точек с целочисленными координатами попадающих в круг радиуса R.

2. Составить программу, которая распечатывает на экране таблицу умножения.

3. Найдите все трёхзначные числа, равные сумме кубов своих цифр. Учтите, что abc=100a+10b+c

4. Составить программу вывода всех трёхзначных чисел, сумма цифр которых равна данному целому числу. Программа должна печатать именно числа, а не набор цифр.

5. Имитировать на экране работу электронных часов.

6. Напишите программу отгадывания буквы.

7. Задано n троек чисел a,b,c. Определить, сколько из предложенных троек можно использовать для построения треугольника, если a,b,c - длины его сторон. (Известно, что a ≤ b ≤ c)

8. Найти сумму целых положительных чисел, больших 20, меньших 100 и кратных 3.

9. Укажите все целые числа, которые увеличатся на 20%, если их цифры записать в обратном порядке.

10. Составьте программу взвешивания продавцом 2,5 кг муки.

11. Составить программу, в которой среди двухзначных чисел печатаются те числа, которые равны сумме своих цифр.

12. Замените буквы цифрами так, чтобы равенство ФАКТ+ФАКТ=НАУКА стало верным. Одинаковым буквам должны соответствовать одинаковые цифры, разным - разные.

13. Написать программу для создания на экране зигзага, бегущего снизу вверх звездочками.

14. В бригаде, работающей на уборке сена, имеется N косилок. Первая из них работала m ч., а каждай следующая на 10 мин. больше, чем предыдущая. Сколько часов проработала вся бригада?

15. В компьютер вводятся по очереди данные о росте N учащихся класса. Определить средний рост учащихся класса.

16. Составьте программу вычисления степени числа а с натуральным показателем n.

17. Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется одна бактерия. Составьте программу, которая рассчитает количество бактерий на заданное Вами целое значение момента времени.

18. Дана последовательность из N целых чисел. Определить произведение максимального и минимального элементов этой последовательности.

19. Для двух последовательностей из N и M элементов соответственно найти произведение максимального элемента первой последовательности и минимального элемента второй последовательности.

20. Дано целое n>0 и последовательность из n действительных чисел, среди которых есть хотя бы одно отрицательное число. Найти величину наибольшего из отрицательных чисел этой последовательности.

Проверьте себя, ответив на вопросы:

1. Что называется циклом? Приведите пример.

2. Какой алгоритм называется циклическим? Приведите примеры.

3. Какие виды циклов Вы знаете? Почему они имеют такие названия?

4. В теле какого цикла не нужно ставить операторные скобки, даже если выполняется составной оператор?

5. Каким должно быть условие, чтобы тело цикла while ни разу не выполнилось? Почему?

6. Каким должно быть условие, чтобы тело цикла repeat выполнилось один раз? Почему?

7. Каким должно быть условие, чтобы тело цикла for ни разу не выполнилось? Почему?

8. Чему равен шаг изменения параметра цикла в операторе for?

9. Укажите отличительные особенности каждой из конструкций циклов.

10. Будет ли выполняться циклическая часть программы, если логическое выражение в конструкции REPEAT истинно с самого начала?

11. Что такое стоп-код? Когда его применяют?

12. Какие условия предъявляются к переменной цикла?

13. Какого типа должна быть переменная цикла?

14. Может ли переменная цикла использоваться в вычислениях?

15. Что называется шагом? Что означает выражение “шаг равен пяти”?

16. Что происходит на каждом шаге выполнения тела цикла при выполнении оператора Summa:=Summa+Chislo?

17. Какой цикл Вы применяете чаще? Каковы его достоинства и недостатки?

18. Функция ReadKey и ее применение в программах.

19. Функция KeyPressed и ее применение в программах.

20. Какие клавиши входят в основной набор?

21. Какие клавиши входят в расширенный набор? Как обратится к этим клавишам в программе?

22. Что обозначает слово downto в операторе цикла for?

 

Понятие массива. Одномерные массивы. Способы задания одномерных массивов.  

Для решения многих задач удобно сначала упорядочить данные по определенному признаку, так можно ускорить поиск некоторого объекта. Например, в преферансе игроки раскладывают карты по мастям и по значению. Так легче определить, каких карт не хватает. Или возьмем любой энциклопедический словарь - статьи в нем упорядочены в алфавитном порядке.

Перегруппирование заданного множества объектов в определенном порядке называют сортировкой.

Почему сортировке уделяется большое внимание? Вы это поймете, прочитав цитаты двух великих людей.

"Даже если бы сортировка была почти бесполезна, нашлась бы масса причин заняться ею! Изобретательные методы сортировки говорят о том, что она и сама по себе интересна как объект исследования." /Д. Кнут/

"Создается впечатление, что можно построить целый курс программирования, выбирая примеры только из задач сортировки." /Н. Вирт/

Отличительной особенностью сортировки является то обстоятельство, что эффективность алгоритмов, реализующих ее, прямо пропорциональна сложности понимания этого алгоритма. Другими словами, чем легче для понимания метод сортировки массива, тем ниже его эффективность.

Сегодня существует множество методов сортировки, но для понимания сути сортировки рассмотрим некоторые из них.

Но прежде чем перейти к рассмотрению конкретного алгоритма той или иной сортировки немного вспомним материал, который пригодится нам в дальнейшем.

Задача. Даны две целочисленные переменные х и y. Составить фрагмент программы, после выполнения которого значения этих переменных распределяются в порядке убывания.

Обмен значений переменных нужно производить лишь в том случае, если х<у. Для того чтобы не потерять начальное значение переменной х, введем дополнительную переменную t.

if x<y then begin t:=x; x:=y; y:=t; end;

Задача. Составить фрагмент программы поиска максимального числа из трех введенных с клавиатуры чисел.

Пусть а, b, c - вводимые с клавиатуры числа, Max - максимальное из их значений. На первом шаге предположим, что а - максимальное из чисел и поэтому Max:=a. Затем сравним значение предполагаемого максимума со значениями переменных b и с. Если значение m окажется меньше, чем значение очередной переменной, то переопределим значение максимума.

... m:=a; if m<b then m:=b; if m<c then m:=c;...

Задача. Дан массив а, состоящий из 10 элементов. Составить программу поиска максимального элемента массива.

Используем идею предыдущей задачи. Перед началом поиска выберем условно в качестве максимального первый элемент массива Max:=a[1]. Затем по очереди каждый элемент массива сравним со значением переменной m. Если он окажется больше, то изменим значение Max. После анализа всех элементов массива переменная Max содержит значение максимального элемента массива.

... Max:=a[1]; for i:= 2 to 10 do if Max<a[i] then Max:= a[i];...

До написания программ Вам необходимо выполнить некоторую подготовительную работу - написать шаблон программы следующего содержания:

Рrogram Sorting; Сonst n =...; {количество элементов в массиве} Type TArray = array [1..n] of integer; Procedure FillArray (Var a: TArray); Var i: integer; Begin for i: = 1 to n do a [i]:= Random(100); End; {конец процедуры} Procedure PrintArray (a: TArray); Var i: integer; Begin for i: = 1 to n do write (a [i]: 3, ' '); writeln; End; Begin {Главная программа} writeln('Сортировка МЕТОДОМ...'); writeln('Заполняем исходный массив: '); FillArray (a); PrintArray (a); AnySort (a, b);{имя процедуры, реализующей данный метод} writeln('Отсортированный массив: '); PrintArray (b); End.

Для реализации различных методов сортировки Вам необходимо подготовить несколько вспомогательных процедур и функций.

  1. Функция, которая ищет минимальный элемент правее некоторого заданного и возвращает его номер в качестве результата. Аргументами функции являются номер элемента массива и обрабатываемый массив:
  2. Большинство методов сортировок основаны на обмене двух чисел. Для этой цели предназначена процедура, которая в качестве параметров берет два числа и меняет их значения
  3. Также Вам пригодится процедура, которая берет элемент с индексом i, перемещает его на место элемента с номером j. А все элементы, которые имеют индексы от j до i-1 сдвигает на одну позицию вправо.

Задание. Подготовьте программу-шаблон, содержащую все рассмотренные выше процедуры и функции

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...