КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Пример 5
В лабораторных работах, курсовых работах и т.д.).
Вычислить сумму первых ста целых чисел. Решение Как мы вычисляем сумму вручную? 1+2+3+4+...+100 Сначала мы складываем 1 и 2. Результат запоминаем. Затем результат складываем с 3. Новый результат запоминаем. И т.д. Программу надо составить так, чтобы она делала то же самое. Но, чтобы она запоминала результат, надо завести переменную и ей присваивать значение результата. ... S В конце концов в этой переменной накопится вся сумма. До того, как мы начали складывать, у нас сумма была равна 0. Следовательно, сначала S=0. Потом мы запоминаем 1-й элемент: S=S+1. S станет равно 1. Затем прибавляем следующий: S=S+2, после чего S станет равно 3 и т.д. То есть S последующее равно S предыдущему плюс очередное число, которое мы должны прибавить: S=S+i. В этих выражениях 2-е слагаемое изменяется от i=1 до 100 с шагом 1. В общем виде получаем следующую запись: То есть для i, изменяющегося от 1 до 100, надо вычислять по формуле: S=S+i. Напишем то же самое на языке PASCAL: for i:=1 to 100 do s:=s+i; Программа будет иметь вид: var i,s:integer; begin {ВЫЧИСЛЕНИЕ СУММЫ} s:=0; for i:=1 to 100 do s:=s+i; writeln(s) end. Произведение вычисляется аналогично, но S сначала (до цикла) приравнивается к единице, а не к нулю, т.к., если умножать на ноль, - всегда будет НОЛЬ, и вместо знака «плюс» в цикле будет знак «умножить». В этом примере надо будет заменить тип у S на longint, т.к. в результате будет довольно большое число и тип integer не подойдет. В результате произведение будет вычислено так: var i:integer; s: longint; begin {ВЫЧИСЛЕНИЕ ПРОИЗВЕДЕНИЯ} s:=1; for i:=1 to 100 do s:=s*i; writeln(s) end. ЗАДАНИЯ №12. Написать программу для вычисления значения выражения №13. Написать программу для вычисления значения величины №14. Написать программу для вычисления значения выражения A1*B50+A2*B49+A3*B48+...+A49*B2+A50*B1. №15. Написать программу для вычисления значения выражения №16. Написать программу для вычисления значения выражения На О.О.Ф. функцию не исследовать. Считать, что все исходные данные удовлетворяют О.О.Ф. №17. Написать программу для вычисления значения выражения Указание. Так как заранее неизвестно количество элементов в массиве Х, а его необходимо обязательно описать, то мы допустим, что наша программа будет вычислять значение данного выражения при максимальном количестве элементов в массиве Х, равном, например, 100. Теперь можно описать одномерный массив из 100 элементов (тем самым мы зарезервируем память для этих 100 элементов): Var X:array [1..100] of real; Итак, наша программа будет работать, если количество элементов в массиве Х будет меньше или равно 100. Чтобы программе было известно, cколько же фактически элементов (n) в массиве Х в каждом конкретном случае, n надо ввести: read(n); Теперь можно ввести фактический массив Х: for i:=1 to n do read(x[i]); Например, при n=5 будем вводить массив Х, состоящий из пяти элементов. Конечно, необходимо описать переменные i и n. ЗАДАНИЯ №18. Написать программу для вычисления an без использования формулы для возведения в степень, где n - натуральное число. №19. Определить произведение элементов целочисленного массива из 17 элементов. №20. Определить сумму положительных элементов целочисленного массива. №21. Вычислить сумму квадратов элементов массива Х(50), попадающих в интервал [a,b]. №22. В массиве TEMPER содержится информация о ежедневной температуре апреля месяца некоторого года. Вычислить среднемесячную температуру. №23. В группе 25 студентов. В массиве М(25) дана информация обо всех студентах (результаты сессии по информатике). Подсчитать отдельно количество студентов, получивших 2, 3, 4 и 5. №24. Определить отдельно количество положительных, нулевых и отрицательных элементов массива из 100 элементов целого типа. №25. Для целочисленного массива N(34) определить отдельно сумму положительных и отрицательных элементов массива. №26. Определить первый положительный и последний нулевой элемент в массиве целого типа, а также их месторасположение в массиве. ПРИМЕР 6 Написать программу для определения максимального элемента вектора Х(50). Решение Как бы мы вычисляли максимальный элемент вручную? 5 8 -13 100 -110 Мы сравнили бы первый элемент со вторым и запомнили наибольший. Потом сравнили бы это запомненное число с третьим. Опять запомнили бы наибольшее из них и т.д. В программе должно наблюдаться аналогичное последовательное сравнение. Только тот элемент, который мы запоминаем, максимальный - надо как-то назвать, например, MAX. Итак, сначала мы сравнивали первый элемент со вторым, потом результат с третьим. Будем считать, что сначала MAX=Х1 (т.е. допустим, что максимальный элемент - Х1) и начнем этот максимум сравнивать сначала со вторым элементом, потом с третьим и т.д. (т.е. установим, является ли действительно первый элемент максимальным; если это не так, то максимум будем изменять). Составим программу: Var X:array [1..50] of real; i:integer; max:real; Begin for i:=1 to 50 do READ(X[I]); max:=x[1]; {допустим, что максимальным является первый элемент массива} for i:=2 to 50 do if max < x[i] then max:=x[i]; {то максимум новый} Writeln(max) End. Эта программа написана для нахождения максимума из элементов некоторого одномерного массива. Минимум ищется аналогично. ЗАДАНИЯ №27. Известны результаты забега (в секундах) на 100 метров 13 спортсменов. Определить наилучший результат. №28. В массиве DOGD содержатся сведения о количестве осадков, выпавших в каждом месяце некоторого года. Определить, в каком месяце выпало наибольшее количество осадков и какой месяц был самым сухим. Подсчитать также среднегодовое количество осадков. №29. Написать программу выбора наименьшего из 25 данных чисел, не используя массив (должна многократно выполняться процедура ввода READ(X)). №30. Написать программу вычисления суммы положительных и количества отрицательных чисел, содержащихся среди 250 данных чисел, не используя массив (должна многократно выполняться процедура ввода READ(X)). №31. Написать программу для вычисления величины Y=COS(1+COS(2+COS(3+...+COS(39+COS40)...))).
Дата добавления: 2014-12-27; Просмотров: 373; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |