Алгоритмизация
Наиболее распространенный тип мышления основанный на логике и математике - алгоритмический. Несмотря на все реформы в образовании, качественного изменения в формировании алгоритмического стиля мышления у выпускников школ не произошло. В условиях современного отечественного высшего образования алгоритмический тип мышления у студентов первого курса редко формируется быстрее чем за полгода. На этой странице приведены простейшие задачи позволяющие сформировать алгоритмический тип мышления. В качестве инструмента выбраны блок-схемы в общем виде (т.е. не по ГОСТу). Использованые работы разных авторов, поэтому немного отличается стиль выполнения.
Как пользоваться
1. Прочитать условие задачи.
2. Попробовать нарисовать блок-схему.
3. Если не получилось, подсмотреть в файле с готовой блок-схемой.
4. Повторно попробовать нарисовать блок-схему к решаемой задаче.
5. Повторять пункты 2-4 пока не получится правильно нарисовать блок-схему к задаче.
6. Перейти к следующей задаче.
Если возникла необходимость нарисовать блок-схему с помощью блоков в формате svg, можно воспользоваться этим файлом. Файл содержит основные блоки для построения блок-схем в формате svg.
Для рисования блок-схем, можно использовать программу Diagramm Designer или интернет-ресурс draw.io.
Задачи
Разработку блок-схем выполнили: Савосина А.В., Зарецкий Р.К., Наполова И.В., Горохов А.Н., Запольский А.Э., Рожков Е.Г., Беленовская В.В., Шуляковская Н.О., Чудинова Е.А., Хворова Л.А., Хабибулина М.А., Рыжая Ю.П., Лукьянчикова М.Э., Костина О.С., Афанасьева А.Г., Андросова Ю.В., Анашкина Е.А., Евтехова К.В.
Линейный алгоритм
1. Подсчёт количества часов, минут, секунд в данном числе суток. Блок-схема
2. Вычислить остаток от деления x на y. Блок-схема
3. Ввести два ненулевых числа. их Найти сумму, разность, произведение и частное. Вывести полученные значения. Блок-схема
4. Составьте программу вычисления выталкивающей силы, действующей на тело объемом V, наполовину погруженное в жидкость плотностью ρ, пользуясь формулой F=gρV. Блок-схема
5. Ввести длину ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба. Вывести полученные значения. Блок-схема
6. Ввести длину и ширину прямоугольника. Найти его площадь и периметр. Вывести полученные значения. Блок-схема
7. Известны катеты прямоугольного треугольника. Определите его гипотенузу и площадь. Блок-схема
8. Найти сумму двух чисел. Блок-схема
9. Вывести два положительных числа a и b (a>b). Определить на сколько первое число больше второго и во сколько раз первое число больше второго. Результаты вывести на экран. Блок-схема
10. Известны периметр треугольника Р и две его стороны а и b. Найти площадь данного треугольника. Блок-схема
Условный переход
1. Принадлежит ли точка A(x,y) кругу, радиус которого R. Блок-схема
2. Выяснить, принадлежит ли точка с координатами (x, y) кругу радиуса r с центром в начале координат. Блок-схема
3. Определить, существует ли треугольник с заданными сторонами. Блок-схема
4. Решить квадратное уравнение ax^2+bx+c=0 (a не равно 0). Блок-схема
5. Даны действительные числа x, y, z. Вывести на печать максимальное из чисел x, y, z. Блок-схема
6. Ввести число. Вывести "неудовлетворительно", если введено 2,"удовлетворительно", если введено число 3, "хорошо", если 4, "отлично", если 5, и вывести "это не оценка" в противном случае. Блок-схема
7. Вычислить значение функции y=(X^2+5x+2)/(x-3) для заданного x. Блок-схема
8. Определить знак числа. Блок-схема
9. Даны действительные числа x, y, z. Вывести на печать минимальное из чисел x, y, z. Блок-схема
10. Арифметические действия над числами пронумерованы следующем образом: 1 - сложение; 2 - вычитание; 3 - умножение; 4 - деление. Дан номер действия и два числа А и В (В не равно нулю). Выполнить над числами указанное действие и вывести результат. Блок-схема
11. Даны действительные числа x,y,z. Удвоить эти числа, если x>y>z ,и заменить их абсолютными значениями. Блок-схема
12. Дано целое число, лежащее в диапазоне от -99 до 99. Вывести строку-словесное описание данного числа вида "отрицательное двузначное число", "нулевое число", "положительное однозначное число" и т.д. Блок-схема
13. Даны действительные числа x,y,z .Вывести на печать минимальное и максимальное из чисел z,y,z. Блок-схема
14. Найти максимальное число из трех. Блок-схема
15. Даны положительные действительные числа x, y. Выяснить, существует ли треугольник с углами x,y, и если существует, то является ли он прямоугольным. Напечатать соответствующее сообщение. Блок-схема
16. Проверить, является ли четырехзначное число "счастливым билетом". Блок-схема
17. Дано число n.Если при делении n на 6, остается остаток равный 1, то число умножить на 10 и прибавить 5, в противном случае прировнять n нулю. Вывести число n на экран. Блок-схема
18. Даны величины a, b, c, d. Найти минимальное значение. Блок-схема
19. Составить программу, которая в зависимости от порядкового номера дня недели (1, 2, ..., 7) выводит на экран его название (понедельник, вторник, ..., воскресенье). Блок-схема
20. Выяснить, принадлежит ли точка с координатами (x, y) кругу радиуса r с центром в начале координат. Блок-схема
21. Даны положительные действительные числа x, y. Выяснить, существует ли треугольник с углами x, y, и если существует, то является ли он прямоугольным. Напечатать соответствующее сообщение. Блок-схема
22. Найти максимальное число из трёх чисел. Блок-схема
23. Написать программу, которая вычисляет наибольший общий делитель двух целых чисел. Блок-схема
24. Написать программу, которая решает квадратное уравнение. Блок-схема
25. Написать программу, которая запрашивает у пользователя номер дня недели и в соответствии выводит - "Рабочий день", "Суббота" или "Воскресенье". Блок-схема
26. Если введенное число больше 0, умножить его на 10, инче прибавить 10. Блок-схема
27. Определить, есть ли среди цифр заданного трехзначного числа одинаковые. Блок-схема
28. Вводятся три произвольных числа. Проверить, является ли одно из них суммой двух других. Блок-схема
29. Найти кол-во корней квадратного уравнения. Блок-схема
30. В зависимости от вводимого числа вывести название месяца. Блок-схема
31. Даны три числа. Если первое число больше 30, из него вычисть 10, если второе меньше 20 увеличить в 3 раза, если третье меньше 10, то возвести его в третью степень. Составить программу, вычисляющую сумму полученных после преобразования чисел. Блок-схема
Циклы
1. Найти максимальный элемент из десяти целых чисел, вводимых с клавиатуры. Блок-схема
2. Вычислить сумму ряда 1+sqrt(2)+sqrt(3)+...+sqrt(N). Блок-схема
3. Даны два целых числа А и В(А < B).Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их возрастания. Использовать цикл for. Блок-схема
4. Найти сумму целых четных чисел, расположенных между вводимыми с клавиатруры числами А и В.Блок-схема
5. Составить алгоритм вычисления количества четных элементов массива. Блок-схема
6. Дан одномерный массив с числом элементов n<20. Заменить первый элемент этого одномерного массива суммой максимального и минимального элементов. Блок-схема
7. Дана целочисленная последовательность от 1 до m. Есть хотя бы 1 отрицательный. Найти первый отрицальный элемент и вывести его номер. Блок-схема
8. Дана целочисленная последовательность от 1 до m. Есть хотя бы 1 положительный. Найти первый положительный элемент и вывести его номер. Блок-схема
9. Дана целочисленная полседовательность от 1 до m. Есть хотя бы 1 элемент равный 0. Найти первый такой элемент и вывести его номер. Блок-схема
10. Дана целочисленная последовательность длинной m. Найдите сумму всех элементов этой последовательно кроме первого и последнего элемента. Блок-схема
11. Найти сумму положительных элементов последовательности, длинной m. Блок-схема
12. Найти разность отрицательных элементов последовательности, длинной m. Блок-схема
13. Все положительные элементы последовательности длинной m заменить 1, другие 0 и найти сумму элементов получившейся последовательности. Блок-схема
14. В квадратной матрице размера r все внешние элементы сдвинуть на один по часовой стрелке. Блок-схема
15. Задан массив А из 10 элементов, заполненном случайными числами от -5 до 5. Сформировать массив из отрицательных элементов массива А. Оба массива вывести на экран. Блок-схема
16. Ввести строку, состоящую из нескольких слов, разделенных одним или несколькими пробелами. Найти размер самого длинного слова в строке. Блок-схема
17. Написать программу, вычисляющую факториал введенного числа. Использовать цикл for. Блок-схема
18. Вычислить x(i+1)(i+2) для всех i от 2 до N. Блок-схема
19. В массиве 45 элементов.Найти,сколько подряд идущих элементов этого массива,начиная с первого, образуют возрастающую последовательность. Блок-схема
20. Найти сумму положительных элементов массива А из 22 элементов, имеющих четные номера. Блок-схема
21. Дан линейный массив из n целых чисел. Поставить сначала четные, а потом нечетные элементы. Блок-схема
22. Существует ли четырехзначное натуральное число, куб суммы цифр которого равен ему самому? Блок-схема
23. Дан линейный массив из n целых чисел. Поставить сначала четные, а потом нечетные элементы. Блок-схема
24. В заданном одномерном массиве, состоящем из n целых чисел, подсчитать количество нулей. Блок-схема
25. Задан массив А, состоящий из n чисел. Найти среднее арифметическое его элементов. Блок-схема
26. Дано вещественное число A и целое число N (> 0). Вывести все целые степени числа A от 1 до N. Использовать цикл for. Блок-схема
27. Задан массив A из 10 элементов, заполненном случайными числами от -5 до 5. Подсчитать количество элементов массива, кратных трем. Исходный массив и результаты вычисления вывести на экран. Блок-схема
28. Найти максимальный элемент из десяти целых чисел, вводимых с клавиатуры. Блок-схема
29. Написать программу, которая вычисляет определенный интеграл (методом прямоугольников). Блок-схема
30. Написать программу, которая вычисляет среднюю температуру воздуха за неделю. Блок-схема
31. Дана последовательность целых чисел. Найти сумму всех локальных минимумов ее элементов (локальный минимум - это элемент массива, меньший по значению двух соседних элементов данного массива). Блок-схема
32. Дан целочисленный массив. Псчитать и вывести среднее арифметическое элементов массива, имеющих нечетное значение. Блок-схема
33. Найти количество отрицательных элементов массива. Блок-схема
34. В массиве, состоящем из нулей и единиц, найти самую длинную непрерывную последовательность единиц. Вывести на кран индексы по массиву последней единицы найденной последовательности. Блок-схема
35. Даны координаты ферзя, который находится на шахматной доске 8X8. Надо вывести массив 8X8, в котором обозначить буквой F ферзя, * - все клетки, которые находятся под ударом ферзя, все остальные клетки заполнить нулями. Блок-схема
36. Вывести количество слов, у которых первая и последняя буква одинаковые. Блок-схема
37. Дана строка символов. Получить новую строку, из первоначальной, заменив все точки пробелами. Блок-схема
38. Дана матрица. Составить одномерный массив из сумм значении элементов каждого столбца матрицы. Блок-схема
39. 2.Дан одномерный массив целых чисел. Посчитать количество четных элементов данного массива. Блок-схема
40. Дано целое число А. Найти в массиве чисел первое число больше А. Блок-схема
41. Дана квадратная матрица. Найти ее след. Блок-схема
42. Задан текст, состоящий из заглавнях латинских букв и цифр. Определить, сколько раз встречается буква Е в тексте. Блок-схема
43. Дана строка содержащая слова, разделенные пробелом. Заменить все пробелы восклицательным знаком. Блок-схема
44. Посчитать сумму 5 цифр следующий за x. Блок-схема
45. Если первое число больше второго, первое уменьшить на два, второе умножить на два. Иначе первое разделить на два, второе умножить на пять. Блок-схема
46. Поиск максимального значения массива. Блок-схема
47. Написать программу, которая выводит на экран значения функции. у=2х^2-5х-8 в диапазоне от -4 до 4. Шаг изменения аргумента 1. Блок-схема
48. Написать программу, которая проверяет, находится ли введенное с клавиатуры число в массиве. Массив должен вводиться во время работы программы. Блок-схема
49. Дан двумерный массив А из 2 строк и 5 столбцов. Найти количество положительных элементов массива. Блок-схема
50. Написать программу, которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит число на экран и вычисляет их среднее арифметическое. Блок-схема
51. Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по строкам. Блок-схема
52. Даны действительные числа a,b (a<b) и натуральное число n. Вычислить сумму отрицательных значений функции y=cos(x^2+1)-e^x+x. Аргумент x принимает равноотстоящие с шагом h=(b-a)/n значения на отрезке [a,b]. Блок-схема
53. Вычислите наибольший общий делитель двух чисел. Блок-схема
54. Найти угол треугольника по двум другим углам. Блок-схема
55. Дано предложение. Посчитать число слов в нем. Блок-схема
56. Найти наибольшее однозначное число х удовлетворяющее условию x*x*x-x*x=n. Блок-схема
57. Вводится последовательность ненулевых чисел (не менее 2), 0- конец последовательности. Определить, сколько раз последовательность меняет знак. Блок-схема
58. Найти количество n первых элементов последовательности 1/n, сумма которых не превышает 2.0. Блок-схема
59. Дано натуральное число n. Посчитать колличество четных цифр этого числа. Блок-схема
60. Найти наибольшее трехзначное число х удовлетворяющее условию x*x*x-x*x=n. Блок-схема
Функции
1. Написать программу, вычисляющую значение n-го члена арифметической прогрессии, заданной соотношением: p(n)=p(n-1)+2; p(1)=1. Блок-схема
Блок-схемы с ошибками
1. Вводить числа, пока не встретится 0. Определить сумму и количество введённых чисел. Блок-схема
2. Вычислить площадь треугольника, стороны которого a,b,c. Блок-схема
3. Сколько знаков имеет число из интервала (0;1000). Блок-схема
4. Проверить утверждение: число, вводимое с клавиатуры, нечетное, двузначное. Блок-схема
5. Найти наименьшее однозначное число х удовлетворяющее условию x*x*x-x*x=n. Блок-схема
6. Дано действительное число x. Вычислить z по одной из формул и вывести на печать: z = -x, если x<0, z=x, в противном случае. Блок-схема
7. Найти номер первого максимального элемента во вводимой с клавиатуры последовательности чисел. Условие окончания ввода – ввод числа 0. Блок-схема
8. Дана последовательность: 1/1,1/2,1/3...1/n. Составить программу c использованием цикла while, выводящую на экран значение и номер члена последовательности, меньшего 0,5. Блок-схема
9. Дано натуральное число а. Составить программу определения такого наименьшего n, что n!>a (а>1). Блок-схема
10. Вычислить наибольший общий делитель двух чисел. Блок-схема
11. Найти все гласные буквы в предложении и вывести их сумму. Блок-схема