Invest-currency.ru

Как обезопасить себя в кризис?
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Задачи на классы программирование

Сборник задач по программированию для школьников

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Сборник задач по программированию в Паскале.

Сборник задач по программированию в Паскале.

Раздел 1.Условный оператор.

Практическая работа №1

Задача 1.Написать программу нахождения большего из двух чисел.

Задача 2.Написать программу нахождения большего из 3 чисел.

Задача 3.Написать программу определяющую четность(нечетность) числа и выводящую результат на экран.

Практическая работа №2.

Задача 1. Из двух чисел с разной четностью вывести на экран нечетное число.

Задача 2. Среди трех чисел найти среднее. Если среди чисел есть равные, вывести сообщение «Ошибка».

Практическая работа №3.

Задача 1. Написать программу, которая вычисляет количество цифр в числе(не более 3).

Задача 2. Написать программу нахождения дискриминанта.

Практическая работа №4.

Задача №1. Вывести название дня недели по его номеру.

Задача №2. Даны два числа. Вывести вначале большее, а затем меньшее из них

Задача №3. Даны три целых числа. Найти количество положительных чисел в исходном наборе

Практическая работа №5.

Цикл с параметром.

Задача №1. Написать программу, которая выводит на экран все натуральные числа от 1 до 10

Задача №2 Написать программу, которая подсчитывает сумму натуральных чисел от 1 до n 10

Задача №3 Написать программу, которая выводит на экран: 20 40 80 160 320

Задача №4 Написать программу, которая подсчитывает произведение натуральных чисел от 1 до 10

Практическая работа №6.

Цикл с параметром.

Задача №1. Написать программу, выводящую на экран квадраты чисел от 1 до 10.

Задача №3. Написать программу, выводящую на экран таблицу Пифагора.

Практическая работа №7.

Задача №1. Написать программу находящую сумму цифр введенного числа.

Задача №2. Даны два целых числа A и B ( A х n . Сформировать новый массив, состоящий из противоположных соответствующих элементов(поменять знаки).

Задача №2. Дан целочисленный двумерный массив, размерности n х n . Выяснить, какое первое число встречается в каждой строке — положительное или отрицательное. И вывести + или -. (Значения можно как просто выводить, так и добавлять в массив типа char )

Задача №3. Дан целочисленный двумерный массив, размерности n х n . Выяснить, в какой строке последовательность является возрастающей или убывающей.

Практическая работа №19.

Работа с квадратными массивами.

Задание 1. Дан целочисленный двумерный массив, размерности n х n. Вывести его элементы, индексы которых являются степенями двойки (1, 2, 4, 8, 16, . ).

Задание 2.Дан целочисленный двумерный массив, размерности n х n. Вывести на экран элементы, которые являются квадратами какого-либо числа.

Задание 3.Дан целочисленный двумерный массив, размерности n х n. Поменять местами первый и последний элементы.

Практическая работа №20.

Работа с квадратными массивами.

Задача №1.Дан целочисленный двумерный массив, размерности n х n. Заменить все элементы на их квадраты.

Задача №2. Дан целочисленный двумерный массив, размерности n х n. Найти максимум и минимум. Поменять их местами.

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

Практическая работа №21.

Использование способов сортировки при работе с массивами.

Задача №1. Отсортировать столбец двумерного массива по возрастанию. Номер столбца вводится с клавиатуры.

Задача №2. Отсортировать строки массива по возрастанию и вывести на экран. Так же вывести минимальное число в каждой строке. Отсортировать столбцы исходного массива по убыванию и вывести максимальные элементы столбцов.

Практическая работа №22.

Использование сортировки при решении задач. Работа с квадратными массивами.

Задача №1 . Д ан двухмерный массив чисел . Вычислить сумму элементов матрицы, индексы которых составляют в сумме заданное число K (это число вводится пользователем). Вывести результат.

Задача №2. Создать массив 6*6. Отсортировать числа побочной диагонали по возрастанию с 1 столбца до 3 и по убыванию с 4 столбца до 6.

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

Практическая работа №23.

Использование сортировки при решении задач. Работа с квадратными массивами.

Задача №1. Дан двумерный массив размерности не менее 5*5. Преобразовать исходный массив так, чтобы последний элемент каждой строки был заменен суммой предыдущих элементов той же строки.

Задача №2. Даны два одномерных массива с различным количеством элементов и натуральное число k(вводится с клавиатуры). Объединить их в один массив, включив второй массив между k-м и (k+1)-м элементами первого.(Решить используя дополнительный массив)

Задача №3. Даны два одномерных массива с различным количеством элементов и натуральное число k(вводится с клавиатуры). Объединить их в один массив, включив второй массив между k-м и (k+1)-м элементами первого.(Решить без использования дополнительного массива)

Раздел 6. Процедуры и функции. Рекурсия.

Практическая работа №24.

Использование процедур при решении задач.

Задача № 1. Создать и вывести двумерный массив на экран с помощью процедуры

Задача № 2. Создать два двумерных массива с использованием процедур и процедуру для их сложения.

Задача № 3. Создать два двумерных массива с использованием процедур и процедуру для вычитания значений второго массива из первого.

Практическая работа №25.

Использование процедур при решении задач.

Задача №1. Написать процедуру вычисления корней квадратного уравнения.

Задача №2. Сформировать массив из случайных целых чисел. Сообщить, есть ли в нем элемент, указанный пользователем. Перед поиском элементы массива отсортировать (при этом оставив исходный массив без изменений). В программе должны быть три процедуры — заполнение массива, сортировка, поиск элемента.

Задача№3 . Дана квадратная матрица. Вычесть значения элементов последней строки из соответствующих элементов каждой строки .

Практическая работа №26.

Использование функций при решении задач.

Задача№1. Составить функцию находящую факториал числа.

Задача№2. Написать функцию, которая циклически сдвигает одномерный массив вправо или влево на указанное число позиций. Сдвиг также должен быть кольцевым, то есть те элементы, которые уходят вправо или влево за пределы массива, должны помещаться с другого его конца

Использование рекурсии при решении задач.

Задача №3. Написать рекурсивную процедуру перевода чисел из десятичной системы счисления в другие.

Раздел 7. Строковый и файловый типы данных.

Практическая работа №27.

Задание №1. Определить кол-во слов в строке. Слова отделяются одним или несколькими пробелами.

Задание №2. Определить номера позиций и кол-во повторений запрашиваемого символа в строке введённой с клавиатуры.

Практическая работа №28.

Задача №1.Найти и заменить определённый символ в строке, введённой с клавиатуры. Программа должна запрашивать заменяемый и заменяющий символы, а также подтверждение каждой замены символа с сообщением его номера в строке.

Задача №2. Определить самое короткое и самое длинное слово в строке, введённой с клавиатуры.

Практическая работа №29.

Работа с файлами.

Задача 1. Создать файл input . txt содержащий в себе строку из чисел. Переписать все данные из файла input . txt в файл output . txt .

Задача 2. Создать файл input . txt содержащий в себе строку из чисел. Посчитать количество и сумму этих чисел, ответ записать следующей строкой файла input . txt .

Задача 3. Создать файл input . txt содержащий в себе строку из чисел и символов. Посчитать количество и сумму чисел, ответ записать следующей строкой файла input . txt .

Сборник задач по программированию для школьников

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Читать еще:  Html это язык программирования

Сборник задач по программированию в Паскале.

Сборник задач по программированию в Паскале.

Раздел 1.Условный оператор.

Практическая работа №1

Задача 1.Написать программу нахождения большего из двух чисел.

Задача 2.Написать программу нахождения большего из 3 чисел.

Задача 3.Написать программу определяющую четность(нечетность) числа и выводящую результат на экран.

Практическая работа №2.

Задача 1. Из двух чисел с разной четностью вывести на экран нечетное число.

Задача 2. Среди трех чисел найти среднее. Если среди чисел есть равные, вывести сообщение «Ошибка».

Практическая работа №3.

Задача 1. Написать программу, которая вычисляет количество цифр в числе(не более 3).

Задача 2. Написать программу нахождения дискриминанта.

Практическая работа №4.

Задача №1. Вывести название дня недели по его номеру.

Задача №2. Даны два числа. Вывести вначале большее, а затем меньшее из них

Задача №3. Даны три целых числа. Найти количество положительных чисел в исходном наборе

Практическая работа №5.

Цикл с параметром.

Задача №1. Написать программу, которая выводит на экран все натуральные числа от 1 до 10

Задача №2 Написать программу, которая подсчитывает сумму натуральных чисел от 1 до n 10

Задача №3 Написать программу, которая выводит на экран: 20 40 80 160 320

Задача №4 Написать программу, которая подсчитывает произведение натуральных чисел от 1 до 10

Практическая работа №6.

Цикл с параметром.

Задача №1. Написать программу, выводящую на экран квадраты чисел от 1 до 10.

Задача №3. Написать программу, выводящую на экран таблицу Пифагора.

Практическая работа №7.

Задача №1. Написать программу находящую сумму цифр введенного числа.

Задача №2. Даны два целых числа A и B ( A х n . Сформировать новый массив, состоящий из противоположных соответствующих элементов(поменять знаки).

Задача №2. Дан целочисленный двумерный массив, размерности n х n . Выяснить, какое первое число встречается в каждой строке — положительное или отрицательное. И вывести + или -. (Значения можно как просто выводить, так и добавлять в массив типа char )

Задача №3. Дан целочисленный двумерный массив, размерности n х n . Выяснить, в какой строке последовательность является возрастающей или убывающей.

Практическая работа №19.

Работа с квадратными массивами.

Задание 1. Дан целочисленный двумерный массив, размерности n х n. Вывести его элементы, индексы которых являются степенями двойки (1, 2, 4, 8, 16, . ).

Задание 2.Дан целочисленный двумерный массив, размерности n х n. Вывести на экран элементы, которые являются квадратами какого-либо числа.

Задание 3.Дан целочисленный двумерный массив, размерности n х n. Поменять местами первый и последний элементы.

Практическая работа №20.

Работа с квадратными массивами.

Задача №1.Дан целочисленный двумерный массив, размерности n х n. Заменить все элементы на их квадраты.

Задача №2. Дан целочисленный двумерный массив, размерности n х n. Найти максимум и минимум. Поменять их местами.

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

Практическая работа №21.

Использование способов сортировки при работе с массивами.

Задача №1. Отсортировать столбец двумерного массива по возрастанию. Номер столбца вводится с клавиатуры.

Задача №2. Отсортировать строки массива по возрастанию и вывести на экран. Так же вывести минимальное число в каждой строке. Отсортировать столбцы исходного массива по убыванию и вывести максимальные элементы столбцов.

Практическая работа №22.

Использование сортировки при решении задач. Работа с квадратными массивами.

Задача №1 . Д ан двухмерный массив чисел . Вычислить сумму элементов матрицы, индексы которых составляют в сумме заданное число K (это число вводится пользователем). Вывести результат.

Задача №2. Создать массив 6*6. Отсортировать числа побочной диагонали по возрастанию с 1 столбца до 3 и по убыванию с 4 столбца до 6.

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

Практическая работа №23.

Использование сортировки при решении задач. Работа с квадратными массивами.

Задача №1. Дан двумерный массив размерности не менее 5*5. Преобразовать исходный массив так, чтобы последний элемент каждой строки был заменен суммой предыдущих элементов той же строки.

Задача №2. Даны два одномерных массива с различным количеством элементов и натуральное число k(вводится с клавиатуры). Объединить их в один массив, включив второй массив между k-м и (k+1)-м элементами первого.(Решить используя дополнительный массив)

Задача №3. Даны два одномерных массива с различным количеством элементов и натуральное число k(вводится с клавиатуры). Объединить их в один массив, включив второй массив между k-м и (k+1)-м элементами первого.(Решить без использования дополнительного массива)

Раздел 6. Процедуры и функции. Рекурсия.

Практическая работа №24.

Использование процедур при решении задач.

Задача № 1. Создать и вывести двумерный массив на экран с помощью процедуры

Задача № 2. Создать два двумерных массива с использованием процедур и процедуру для их сложения.

Задача № 3. Создать два двумерных массива с использованием процедур и процедуру для вычитания значений второго массива из первого.

Практическая работа №25.

Использование процедур при решении задач.

Задача №1. Написать процедуру вычисления корней квадратного уравнения.

Задача №2. Сформировать массив из случайных целых чисел. Сообщить, есть ли в нем элемент, указанный пользователем. Перед поиском элементы массива отсортировать (при этом оставив исходный массив без изменений). В программе должны быть три процедуры — заполнение массива, сортировка, поиск элемента.

Задача№3 . Дана квадратная матрица. Вычесть значения элементов последней строки из соответствующих элементов каждой строки .

Практическая работа №26.

Использование функций при решении задач.

Задача№1. Составить функцию находящую факториал числа.

Задача№2. Написать функцию, которая циклически сдвигает одномерный массив вправо или влево на указанное число позиций. Сдвиг также должен быть кольцевым, то есть те элементы, которые уходят вправо или влево за пределы массива, должны помещаться с другого его конца

Использование рекурсии при решении задач.

Задача №3. Написать рекурсивную процедуру перевода чисел из десятичной системы счисления в другие.

Раздел 7. Строковый и файловый типы данных.

Практическая работа №27.

Задание №1. Определить кол-во слов в строке. Слова отделяются одним или несколькими пробелами.

Задание №2. Определить номера позиций и кол-во повторений запрашиваемого символа в строке введённой с клавиатуры.

Практическая работа №28.

Задача №1.Найти и заменить определённый символ в строке, введённой с клавиатуры. Программа должна запрашивать заменяемый и заменяющий символы, а также подтверждение каждой замены символа с сообщением его номера в строке.

Задача №2. Определить самое короткое и самое длинное слово в строке, введённой с клавиатуры.

Практическая работа №29.

Работа с файлами.

Задача 1. Создать файл input . txt содержащий в себе строку из чисел. Переписать все данные из файла input . txt в файл output . txt .

Задача 2. Создать файл input . txt содержащий в себе строку из чисел. Посчитать количество и сумму этих чисел, ответ записать следующей строкой файла input . txt .

Задача 3. Создать файл input . txt содержащий в себе строку из чисел и символов. Посчитать количество и сумму чисел, ответ записать следующей строкой файла input . txt .

Задачи для самостоятельного решения по основам языка C#

Предполагаю, что изучив раздел «Основы языка С#», вы сможете решить как новые задачи из Задачника, так и следующие задачи:

1. Решение квадратного уравнения ax 2 +bx+c=0. Ввести a,b,c и найти корни квадратного уравнения. Если дискриминант меньше нуля, вывести сообщение, что действительных корней нет.
2. Вычисление площади треугольника по формуле Герона. Даны стороны треугольника a,b,c. Найти площадь S.
3. Найти произведение всех целых нечетных чисел, принадлежащих интервалу [n_min, n_max]. Реализуйте вычисления тремя методами, в каждом из которых будет использован один из операторов цикла (for, while, do-while).
4. Найти произведение всех целых четных чисел, делящихся на 4 и принадлежащих интервалу [n_min, n_max].
5. Найти сумму ряда RN=1+2+4+…+2 N . Вычисление реализуйте через цикл и выведенной вами формуле (подсказка – это геометрическая прогрессия), сравните результаты.
6. Найти сумму ряда SN=1+1/2+1/4+…+1/2 N . Чему будет равна сумма при достаточно больших N? Вычисление реализуйте через цикл и по выведенной вами формуле (подсказка – это тоже геометрическая прогрессия), сравните результаты.
7. Вычислить значение тригонометрической функции cos(x) от произвольного значения аргумента x, используя разложение в ряд. Сравните с результатом, предоставляемым методом Math.Cos(x) из библиотеки System.
8. Вычислить значение тригонометрической функции tg(x) от произвольного значения аргумента x, используя разложение в ряд. Сравните с результатом, предоставляемым методом Math.Tan(x) из библиотеки System.
9. Заданы две функции: y1(a)=a 2 (a 2 +12)-5 и y2(a)=a(a 2 +1). Определите, при каких значениях параметра a наибольший общий делитель – НОД(y1(a), y2(a)) будет больше 1. Параметр a – целое число от 1 до 100.
10. Записать разложение бинома Ньютона (x+a) n по степеням x.
11. Напишите программу «Конвертор валют» с использованием конструкции switch-case.
12. Запишите представление произвольного целого положительного десятичного числа в двоичной, восьмеричной и шестнадцатеричной системах счисления, например: 259(10)=100000011(2)=403(8)=103(16).
13. Запишите произвольное целое положительное число, представленное в шестнадцатеричной системе счисления, в форме десятичного числа, например: A2F(16)=2607(10).
14. Вычислите N-й член (FN) ряда Фибоначчи: 1, 1, 2, 3, 5, 8, 13, 21, … Известно, что отношение FN/ FN-1 при достаточно больших N стремится к золотому сечению ф, где ф — положительный корень квадратного уравнения: ф 2 -ф-1=0. Определите программным путем, начиная с какого N | FN/ FN-1 — ф | -10.

Читать еще:  Команды для html программирования

Большое количество задач (с примерами их решений) по основам программирования представлены в Задачнике.

Рекомендую пока просмотреть мои заметки о типичных ошибках и хорошем стиле программирования.

Классы задач математического программирования

История развития, область исследований, цели науки

Одной из характерных особенностей современной науки является широкое проникновение результатов и методов математики в самые разнообразные области исследования.

Научные методы выработки количественно обоснованных рекомендаций по принятию оптимальных решений определили научное направление, получившее название теории исследования операций. Термин «исследования операций» возник в результате перевода с английского («operations research«) условного наименования одного из подразделений британских ВВС, занимавшегося вопросами оптимального использования радиолокационных установок в системе обороны в конце 1930-х годов. Постепенно указанная теория с решения задач военного содержания расширилась для решения как чисто технических, так и экономических задач, задач управления на различных уровнях.

Исследование операций – научная дисциплина, занимающаяся разработкой и практическим применением методов наиболее эффективного управления различными организационными системами.

Операция – любое управляемое мероприятие, направленное на достижение цели.

Целью теории исследования операций является выбор среди некоторого множества решений, тех решений, которые можно квалифицировать как оптимальные, при некоторых ограниченных ресурсах.

Для применения количественных методов исследования требуется построить математическую модель операции. Следует отметить большой класс оптимизационных моделей. Такие задачи возникают при попытке оптимизировать планирование и управление экономическими системами. В общем виде они выглядят так: найти переменные x1,x2. xn , удовлетворяющие системе неравенств (уравнений) ji(x1,x2. xn) £ bi, 1£i£m;

и обращающие в максимум (минимум) целевую функцию Z=f(x1,x2. xn). Точка X=(x1,x2. xn), удовлетворяющая данным ограничениям, называется допустимой или допустимым решением. Среди допустимых точек отыскивается такая, в которой функция f(x1,x2. xn) принимает наибольшее значение. Такая точка называется оптимальной или оптимальным решением.

Классические методы оптимизации не работают, если множество допустимых значений аргумента дискретно или функция Z задана таблично, тогда применяются методы математического программирования.

Математическое программирование – составная часть математических дисциплин, изучающих теории и методы нахождения экстремумов (т.е. max и min) функций многих переменных при наличии дополнительных ограничений на эти переменные, которые представляются в виде равенств или не равенств.

Применение методов математического программирования: планирование производства; управление запасами и трудовыми ресурсами; размещение объектов; техническое обслуживание оборудования; работы над проектами и календарное планирование; построение вычислительных, электроэнергетических, военных, транспортных систем; организация городской сферы обслуживания, здравоохранения, туризма, спорта и развлечений и т.д.

Классы задач математического программирования

Выделяют различные классы задач математического программирования. Это связано с набором ограничений на вид целевой функции f, условий gi и допустимым множеством значений переменных.

X = R n + , то мы имеем задачу линейного программирования.

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

Если, исходя из содержательного смысла, решения задачи должны быть целыми числами, то это задача целочисленного линейного программирования.

2. Нелинейное программирование — если целевая функция (и) или ограничения нелинейные функции.

Подклассы задач нелинейного программирования:

n Если указанные функции обладают свойствами выпуклости, то такой класс задач называется выпуклым программированием.

n Квадратичное программирование — целевая функция квадратичная, а ограничения являются линейными равенствами или неравенствами.

3. Если область допустимых решений состоит из конечного числа точек — такой класс задач называется дискретным программированием.

4. Если функции f(x1,x2. xn), jj(x1,x2. xn) зависят от случайных факторов, то такой класс задач называется стохастическим программированием.

5. Исследованием задач, в которых принятие оптимального решения представлено в виде некоторого многошагового процесса, занимается динамическое программирование.

Существуют и другие методы выработки количественно обоснованных рекомендаций по принятию оптимальных решений, которые определили научное направление, получившее название теории исследования операций. Термин «исследования операций» возник в результате перевода с английского («operations research«) условного наименования одного из подразделений британских ВВС, занимавшегося вопросами оптимального использования радиолокационных установок в системе обороны в конце 1930-х годов. Постепенно указанная теория с решения задач военного содержания расширилась для решения как чисто технических, так и экономических задач, задач управления на различных уровнях.

Исследование операций – научная дисциплина, занимающаяся разработкой и практическим применением методов наиболее эффективного управления различными организационными системами.

Операция – любое управляемое мероприятие, направленное на достижение цели.

Целью теории исследования операций является выбор среди некоторого множества решений, тех решений, которые можно квалифицировать как оптимальные, при некоторых ограниченных ресурсах.

К этим методам относятся:

теория игр, которая занимается вопросами принятия решений в условиях конфликтных ситуаций, а также вопросами принятия оптимальных решений в условиях неопределенности. К конфликтным ситуациям, в которых сталкиваются интересы двух (или более) сторон, преследующих разные цели, можно отнести ряд ситуаций в области экономики, права, военного дела и т.п.

— метод Монте-Карло (статистических испытаний),

— теория массового обслуживания,

задачи сетевого планирование и управления,которые рассматривают соотношения между сроками окончания крупного комплекса операций (работ) и моментами начала всех операций комплекса и др.

Урок 10
§2.1 Решение задач на компьютере

Ключевые слова:

• постановка задачи
• формализация
• алгоритмизация
• программирование
• отладка и тестирование
• выполнение расчётов

Чтобы решать задачи на компьютере, необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.

Читать еще:  Как программировать на php

2.1.1. Этапы решения задачи на компьютере

Решение задачи с использованием компьютера включает этапы, представленные на рис. 2.1.

На первом этапе обычно осуществляется постановка задачи, происходит осознание её условия. При этом должно быть чётко определено, что дано (какие исходные данные известны, какие данные допустимы) и что требуется найти в решаемой задаче. Также должны быть чётко выделены существенные свойства рассматриваемого объекта, указаны связи между исходными данными и результатами.

Рис. 2.1. Этапы решения задачи на компьютере

На втором этапе описательная информационная модель формализуется, т. е. записывается с помощью некоторого формального языка.

Для этого требуется:

• понять, к какому классу принадлежит рассматриваемая задача;
• записать известные связи между исходными данными и результатами с помощью математических соотношений;
• выбрать наиболее подходящий способ для решения задачи.

На третьем этапе осуществляется построение алгоритма — чёткой инструкции, задающей необходимую последовательность действий для решения задачи. Алгоритм чаще всего представляется в форме блок-схемы ввиду её наглядности и универсальности.

На четвёртом этапе алгоритм записывается на одном из языков программирования. Вы учитесь записывать программы на языке Паскаль.

На пятом этапе осуществляется отладка и тестирование программы.

Отладка программы — это процесс проверки работоспособности программы и исправления обнаруженных при этом ошибок.

Ошибки могут быть связаны с нарушением правил записи программы на конкретном языке программирования. Их программисту помогает найти используемая система программирования; она выдаёт на экран сообщения о выявленных ошибках.

Проверка правильности разработанной программы осуществляется с помощью тестов. Тест — это конкретный вариант значений исходных данных, для которого известен ожидаемый результат.

О правильности разработанной программы свидетельствует также соответствие полученных данных экспериментальным фактам, теоретическим положениям и т. д. При этом может возникнуть необходимость уточнить разработанную математическую модель, полнее учесть особенности изучаемого объекта. По уточнённой математической модели снова составляется программа, анализируются результаты её выполнения. Так продолжается до тех пор, пока полученные результаты не будут достаточно точно соответствовать изучаемому объекту.

На шестом этапе по уточнённой программе проводятся необходимые вычисления, результаты которых позволяют ответить на поставленные в задаче вопросы.

Рассмотренные этапы являются основой разработки современного программного обеспечения, но при этом называются они несколько иначе (рис. 2.2).

Рис. 2.2. Этапы разработки программного обеспечения

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

На этапе проектирования составляются требования к программе, определяются её технические характеристики, выбираются алгоритмы реализации программы.

На этапе создания происходит разработка интерфейса программы (кнопки, иконки, расположение и т. д.); создаётся программный код — пишется программа, реализующая ранее выбранный алгоритм; осуществляются отладка и тестирование программы. На этом же этапе создаётся пакет документации, включающий различные описания, инструкции и руководства. Наличие подробной документации обеспечивает в том числе возможность передачи накопленных знаний другим разработчикам.

На этапе поддержки происходит установка разработанного программного обеспечения (внедрение), исправление выявленных ошибок и поддержка пользователей (сопровождение).

2.1.2. Задача о пути торможения автомобиля

Рассмотрим последовательность этапов решения задачи на компьютере (см. рис. 2.1) на примере простой задачи.

Водитель автомобиля, движущегося с некоторой постоянной скоростью, увидев красный свет светофора, нажал на тормоз. После этого скорость автомобиля стала уменьшаться каждую секунду на 5 метров. Требуется найти расстояние, которое автомобиль пройдёт до полной остановки.

Первый этап. Дано:

υ0x — начальная скорость;

υх — конечная скорость (равна нулю, так как автомобиль остановился);

ах — ускорение (равно -5 м/с 2 ).

Требуется найти: sx — расстояние, которое автомобиль пройдёт до полной остановки.

Второй этап. В данной ситуации мы имеем дело с прямолинейным равноускоренным движением тела. Формула для перемещения при этом имеет вид:

Упростим эту формулу с учётом того, что конечная скорость равна нулю: . При аx = -5 м/с 2 получим: (при условии задания скорости в метрах в секунду и вычислении пути в метрах).

Третий этап. Представим алгоритм решения задачи в виде блок-схемы:

Четвёртый этап. Запишем данный алгоритм на языке программирования Паскаль:

Пятый этап. Протестировать составленную программу можно, используя информацию, что при скорости 72 км/ч с начала торможения до полной остановки автомобиль проходит 40 метров.

Шестой этап. Выполнив программу несколько раз при различных исходных данных, можно сделать вывод: чем больше начальная скорость автомобиля, тем большее расстояние он пройдёт с начала торможения до полной остановки.

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

САМОЕ ГЛАВНОЕ

Этапы решения задачи с использованием компьютера:

1) постановка задачи;

5) отладка, тестирование;

6) выполнение расчётов.

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

Вопросы и задания

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

2. Перечислите основные этапы решения задачи с использованием компьютера.

3. Что происходит на этапе постановки задачи? Что является результатом этого этапа?

4. Что происходит на этапе формализации? Что является результатом этого этапа?

5. Что происходит на этапе алгоритмизации? Что является результатом этого этапа?

6. Что происходит на этапе программирования? Что является результатом этого этапа?

7. Что происходит на этапе компьютерного эксперимента? Что является результатом этого этапа?

8. Какой этап решения задачи на компьютере, по вашему мнению, является наиболее трудоёмким?

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

10. Как правило, сложные практические задачи решаются большими коллективами разработчиков. Отдельные группы в этих коллективах специализируются на выполнении одного или нескольких этапов решения задачи. Нужно ли в таком случае им иметь представление обо всех этапах решения задачи с использованием компьютера? Обоснуйте свою точку зрения.

11. Может ли пригодиться в жизни представление об этапах решения задачи с использованием компьютера? Обоснуйте свою точку зрения.

12. В аэробусе, вмещающем 160 пассажиров, три четверти мест находятся в салонах экономического класса и одна четверть мест — в салоне бизнес-класса. Стоимость билета в салоне бизнес-класса составляет х рублей, что в два раза выше стоимости билета в салонах экономического класса. Разработайте программу, которая вычислит сумму денег, полученную авиакомпанией от продажи билетов на этот рейс, если известно, что остались нераспроданными а билетов бизнес-класса и b билетов экономического класса. Выделите все этапы решения этой задачи и опишите свои действия на каждом из них.

13. Уличный продавец газет получает а рублей с продажи каждой из первых 50 газет. С продажи каждой из последующих газет он получает на 20% больше.

Разработайте программу, которая вычислит заработок продавца, если он продаст за день 200 газет. Зафиксируйте свои действия на каждом из этапов решения этой задачи.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector
×
×