Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Текст программы на языке Фортран. integer i, Number, Counter/0/
Program Pr_17 Implicit none integer i, Number, Counter/0/ do i=1, 12 print *,'Введите целое число:’ read *, Number if (Number > 0) then if (mod(Number,2) == 0) then Counter = Counter + 1 endif endif enddo print *,'Четных положительных чисел -', Counter end Программа на языке Python Counter = 0 for i in range(12): # i = 0,..., 11 -- всего 12 print("Введите целое число: ") Number=int(input()) if Number > 0: if Number % 2 == 0: Counter = Counter + 1 print("Количество четных положительных чисел:") print(Counter) Программа в системе Матлаб Counter = 0; for i=1:12 Number= input('Введите целое число:’); if Number > 0 if mod(Number,2) == 0 Counter = Counter + 1; end end end disp('Четных положительных чисел -') disp(Counter)
Задача 18. Нахождение среднего арифметического последовательно вводимых чисел Условие задачи. Вводятся целые числа. Признаком окончания ввода является ввод нуля. Найти среднее арифметическое всех введенных чисел. Среднее арифметическое n чисел a 1, a 2, …, a i,..., an представляет собой отношение их суммы a 1 + a 2 + …+ a i +… + an к общему количеству чисел n. По условию задачи неизвестно, сколько именно чисел будет введено, но известен признак окончания – ввод числа ноль, при этом ноль не учитывается при расчете среднего арифметического: не входит в сумму и не увеличивает n (то есть n – это перемененная-счетчик, аналогичная счетчику числа положительных чисел в задаче 17). Если же введенное число a i не нулевое, то оно должно быть прибавлено к уже подсчитанной сумме чисел (то есть, в математической записи, S i = S i-1 + a i), а количество чисел увеличено на единицу. Очевидно, что приведенная формула верна лишь при условии, что значение S 0 (до ввода первого числа) не влияет на подсчет суммы, то есть S 0 = 0. Как только введен ноль (a i = 0), нужно закончить вычисление суммы и подсчет количества ее элементов, и вычислить искомое среднее арифметическое. Поскольку самое первое введенное число тоже может оказаться равным нулю, то увеличение счетчика введенных чисел и вычисление суммы должны производиться после проверки введенного числа. (По этой же причине после завершения ввода до вычисления среднего арифметического необходимо убедиться, что n > 0). Поэтому воспользуемся алгоритмической конструкцией «цикл с предусловием», где условием продолжения выполнения цикла будет неравенство нулю очередного введенного числа: a ≠ 0 (поскольку после суммирования конкретное значение a i интереса не представляет, можно использовать одну и ту же переменную для всех вводимых чисел, то есть a – переменная «введенное число», аналогично одноименной переменной «введенное число» в задаче 17). Итак, в цикле уже проверенное ненулевое значение а прибавляется к сумме, количество чисел увеличивается на 1, и вводится следующее значение а, которое проверяется перед выполнением очередной итерации цикла. Для корректности проверки при первоначальном входе в цикл первое число a вводится до цикла, также до цикла присваивается начальное значение 0 переменным n и S.
Запишем алгоритм с использованием терминов, применяемых при записи компьютерных программ. Укажем, что в нем, с точки зрения математики, переменные a (введенное число) и S (сумма) – целые числа, n (количество введенных чисел) – неотрицательное целое число, SrArif (искомое среднее арифметическое) – рациональное число. Структурированная запись алгоритма 18 1. S = 0. 2. n = 0. 3. Ввести значение переменной a. 4. Пока a не равно 0, повторять: 4.1. S = S + a. 4.2. n = n + 1. 4.3. Ввести значение переменной a. 5. Если n > 0, то SrArif = S / n, вывести значение переменной SrArif, иначе вывести сообщение «Не введено ни одного числа, среднее арифметическое вычислить невозможно». Схема алгоритма
Программа на языке Си #include <stdio.h> #include <stdlib.h> /* Программа подготовлена с помощью Dev-C++ 5.11 */ int main(int argc, char *argv[]) { int a, S=0; unsigned int n=0; double SrArif; printf("Введите значение a "); scanf("%d",&a); while(a){ /* while(a) аналогично while(a!=0) для целого a */ S+=a; /* S = S + a*/ n++; /* n = n + 1 для целого n*/ printf("Введите значение a "); scanf("%d",&a); } if(n>0){ SrArif = S / (double) n; /* Без приведения типов было бы целочисленное деление*/ printf("Среднее арифметическое = %6.3lf\n", SrArif); } else printf("Не введено ни одного числа\n"); system("pause"); return 0; } Программа на языке Паскаль Program Pr_18; Var a, S, n: integer; SrArif: real; begin S:=0; n:=0; writeln(' Введите значение a'); readln(a); while a<>0 do begin S:=S+a; n:=n+1; writeln(' Введите значение a'); readln(a); end; if n>0 then begin SrArif:= S/n; writeln (' Среднее арифметическое = ',
SrArif: 6: 3); end else writeln (' Не введено ни одного числа '); end. Программа на языке Фортран Program Pr_18 Implicit none integer a, S/0/, n/0/ real SrArif print *, ' Введите значение a' read *, a do while (a/=0) S=S+a n=n+1 print *, ' Введите значение a' read *, a enddo if (n>0) then SrArif = real(S)/n print *, ' Среднее арифметическое = ', SrArif else print *, ' Не введено ни одного числа ' endif end Программа на языке Python S = 0 n = 0 print("Введите значение a ") a=int(input()) while a!= 0: S = S + a n = n + 1 print("Введите значение a ") a=int(input()) if n > 0: SrArif = S / n print("SrArif = ") print(SrArif) else: print("Не введено ни одного числа") Программа в системе Матлаб S = 0; n = 0; a= input(' Введите значение a='); while a ~= 0 S = S + a; n = n + 1; a= input(' Введите значение a='); end if n > 0 SrArif = S / n; disp(strcat('SrArif = ',num2str(SrArif))) else disp('Не введено ни одного числа') end
|
||||||
Последнее изменение этой страницы: 2021-04-12; просмотров: 102; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.190.93 (0.021 с.) |