
- •Алгоритмы, структуры данных и программирование
- •Қасымқанұлы Бөрібай, к.Ф.-м. Н., доцент кафедры высшей математики Костанайского государственного педагогического института
- •Работа №1
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •1 Способ:
- •2 Способ:
- •3 Задачи
- •4 Тесты
- •Работа №2
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №3
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Примеры решения задач
- •3 Задачи
- •4 Тесты
- •Работа №4
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №5
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №6
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №7
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы.
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №8
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Тесты
- •Работа №9
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №10
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №11
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №12
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №13
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №14
- •1. Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2. Пример решения задачи
- •3. Задачи
- •4. Тесты
- •Работа №15
- •1 Перечень знаний и умений, необходимых для выполнения лабораторной работы
- •2 Пример решения задачи
- •3 Задачи
- •4 Контрольные вопросы
- •Ответы к тестовым заданиям
2 Пример решения задачи
Найдите простые числа в диапазоне от 2 до 50 с помощью “решета Эратосфена”.
Идея метода состоит в следующем. Сначала все числа, начиная с двойки до указанного считаются простыми. Затем из этой совокупности удаляются все числа делящиеся нацело на два, кроме самого числа 2. Далее из оставшихся чисел удаляются все кратные трем, затем пяти и т.д.
Решение данной задачи разобьем на три этапа: ввод данных, обработка данных и вывод результатов.
Первый этап решения задачи – формирование множества р, содержащего числа от 2 до 50 осуществляется с помощью оператора присваивания.
p:=[2..50];
Далее необходимо каждое число (k), начиная с 2, проверить на содержание его во множестве. Если это число присутствует, то его необходимо оставить во множестве, а кратные ему удалить.
for k:=2 to 50 do {организуется цикл перебора элементов}
if k in p then {проверяется принадлежность элемента множеству}
for m:=k to (50 div k) do {организуется цикл начиная с текущего элемента до количества кратных этому элементу чисел, находящихся в диапазоне от k до 50}
p:=p-[k*m];
При организации третьего этапа, осуществляется проверка всех чисел от 2 до 50 на наличие в оставшемся множестве и в случае присутствия, число выводится на экран.
for k:=2 to 50 do {организуется цикл перебора элементов}
if k in p then {проверяется является ли число элементом множества}
write (k, ‘ ’); {вывод элемента множества на экран}
Определим тип данных переменных.
р – множество целых чисел, находящихся в диапазоне (2,50).
k – целое число, поскольку переменная обозначает элемент множества.
m – удаляемый из множества элемент кратный k, следовательно тоже целое число.
Таким образом, текст программы примет вид:
program resheto;
uses crt;
var p: set of 2..50; k, m: integer;
begin clrscr;
p:=[2..50];
for k:=2 to 50 do
if k in p then
for m:=k to (50 div k) do p:=p-[k*m];
writeln(‘простые числа от 2 до50:’);
for k:=2 to 50 do
if k in p then writeln (k, ‘ ’);
end.
Нетрудно заметить, что представленное решение можно упростить, объединив второй и третий этапы.
Преобразованный текст программы будет следующим:
program resheto;
uses crt;
var p: set of 2..50; k, m: integer;
begin clrscr;
p:=[2..50];
writeln(‘простые числа от 2 до50:’);
for k:=2 to 50 do if k in p then begin write (k, ‘ ’);
for m:=k to (50 div k) do p:=p-[k*m]; end;
end.
3 Задачи
Дано натуральное число N. Составить программу, печатающую в порядке возрастания все не четные числа кратные 7 в промежутке [1..n]. Число n вводится с клавиатуры.
Дано натуральное число Х. Составить программу, печатающую в порядке убывания все четные числа кратные 6 в промежутке [1..х]. Число х вводится с клавиатуры.
Дано натуральное число k. Составить программу, печатающую в порядке возрастания все не четные числа в промежутке [1..k]. Число k вводится с клавиатуры.
Дано натуральное число N. Составить программу, печатающую в порядке возрастания все числа кратные 3 в промежутке [1..n]. Число n вводится с клавиатуры.
Дано натуральное число N. Составить программу, печатающую в порядке убывания все не четные числа в промежутке [1..n]. Число n вводится с клавиатуры.
Дано натуральное число N. Составить программу, печатающую в порядке возрастания все числа кратные 11 в промежутке [1..n]. Число n вводится с клавиатуры.
Дано натуральное число k. Составить программу, печатающую в порядке возрастания все не четные числа кратные трем в промежутке [1..k]. Число k вводится с клавиатуры.
Даны два множества. Из множества А удалить четные элементы входящие в множество В.
Выдать элементы множества А кратные 13 и не входящие в В.
Выдать элементы множества А кратные 3 и не входящие в В.
Даны три множества выдать на экран пересечение первых двух множеств и объединение получившегося множества с третьим.
Даны три множества выдать на экран пересечение суммы первых двух множеств с третьим множеством.
Даны три множества выдать на экран пересечение разности первых двух множеств с третьим множеством.
Даны три множества выдать на экран объединение элементов пересечения множеств А и В с С.
Даны три множества выдать на экран пересечение первых двух множеств и разность получившегося множества с третьим.
Даны три множества выдать на экран разность элементов пересечения множеств А и В с С.
Даны три множества. Из третьего множества удалить элементы, одновременно принадлежащие первым двум множествам.
Даны три множества. Из третьего множества удалить элементы, первого множества не входящие во второе множество.
Даны три множества. Из третьего множества удалить элементы второго множества не входящие в первое множество.
Даны три множества. Найти объединение третьего множества с элементами, одновременно принадлежащими первым двум множествам.
Даны три множества. Найти пересечение третьего множества с элементами, одновременно принадлежащими первым двум множествам.
Даны три множества. Найти разность элементов одновременно принадлежащих первым двум множествам с третьим множеством.
Подсчитать сколько одинаковых элементов имеют множества А и В.
Даны два множества. Найти произведение элементов одновременно принадлежащим обоим множествам.
Из данного множества А выдать элементы являющиеся делителями суммы элементов этого множества.
Даны три множества. Удалить из третьего множества элементы, не принадлежащие первым двум множествам.
Даны два множества. Найти произведение элементов кратных 3 и одновременно принадлежащим обоим множествам.
Из данного множества А удалить элементы являющиеся делителями суммы элементов этого множества.
Из множества А удалить элементы являющиеся делителями суммы элементов множества В.
Выдать элементы множества А являющиеся делителями суммы элементов множества В.
Даны два множества. Выдать произведение элементов множества А на сумму элементов множества В.
Даны два множества. Выдать разность суммы элементов множества В с элементами множества А.
Подсчитать сколько разных элементов имеют два множества А и В.
Из данного множества удалить элементы кратные 3.
Из данного множества удалить элементы кратные 7.
Даны три множества. Из третьего множества удалить четные элементы входящие в множество А и нечетные элементы входящие в множество В.
Дано натуральное число N. Составить программу, печатающую в порядке возрастания все цифры, не входящие в десятичную запись данного натурального числа.
Составить программу для подсчёта количества гласных и согласных букв в заданном тексте и определения, каких букв больше (гласных или согласных); учесть, что в строке могут быть и другие символы, кроме букв.
Составить программу печати в алфавитном порядке (по одному разу) всех строчных гласных букв, входящих в заданный текст.
Составить программу печати всех символов заданного текста, входящих в него по одному разу.