Написать программу которая вычисляет сумму первых n целых положительных нечетных чисел

Катастрофа.
Ликбез. Категорически не понимаю, как Вы без этого знания сунулись к классам.
Цикл for имеет следующую форму:

Инициализация — действия, выполняемые перед входом в цикл. Если этот элемент пуст, не выполняется ничего. Также здесь допустимо (в C++, не в чистом C) объявлять новые переменные.
Условие — условие, при котором цикл продолжается. Проверяется каждый раз перед началом выполнения тела цикла, в том числе в самом начале (т.е. если после инициализации результат вычисления условия есть false, тело цикла не выполнится ни разу). Если условие пусто, оно считается истинным.
Действие в конце итерации выполняется всякий раз, когда поток управления доходит до конца тела цикла. Это касается, среди прочего, эффекта ключевого слова continue (т.е. по continue происходит действие в конце итерации, и только потом новая проверка условия). Если действие пусто, не выполняется ничего.
Тело цикла выполняется первый раз после инициализации и проверки условия (если условие выполняется). Тело есть либо одиночная инструкция, оканчивающаяся оператором ;, либо блок инструкций, заключённый в операторные скобки <>. По окончании выполнения тела цикла (если только оно не вызвано ключевыми словами break, goto или throw, либо вызовом функции longjmp()), управление переходит на действия в конце итерации, после чего по-новой проверяется условие.

Как найти сумму n чисел Python


В целом, схему цикла for можно переписать следующим образом с использованием while:

while() < >

Но. Компилятор определяет, что является телом цикла, посредством чтения кода, а не мыслей программиста. Поэтому, если за for() следует не открывающая скобка операторного блока , телом цикла считается ровно одна инструкция, до первой ;.

Читайте также:
Для чего нужна программа Android system webview

Шаблонный пример в C++, «сделать 138 раз»:

for(int i=0; i

Что происходит: вначале объявляется переменная i, которой присваивается значение 0.
Затем проверяется, верно ли, что i меньше 138. Если нет, происходит выход из цикла.
Затем выполняются действия. Если нам нужно выполнить действие именно 138 раз, менять i при этом нельзя (см. ниже).
Затем выполняется ++i (это инкремент, увеличение значения i на 1; ++i эквивалентно i+=1).
Затем мы возвращаемся к проверке.
Легко видеть, что, если i изменялась только в действии в конце итерации и не было никаких пакостей вроде break, (требуемые действия) были выполнены ровно 138 раз.

for(int i; i

Сколько раз будут выполнены действия? Неизвестно. int i объявляет переменную, но не задаёт её значения. Вопрос: сколько раз будут выполнены действия, если изначальное значение i окажется равным 12? -36? 20539? А ведь всё это — возможные варианты. Поэтому. Всегда, если нет очень веских причин для иного, при объявлении переменной присваивайте ей какое-нибудь значение.

Многие типы допускают инициализацию значением 0, так что в отсутствие более умных идей это вполне достойный вариант.

for(int i=0; i

Если прочие действия не меняют i, сколько раз выполнится цикл? А? Э-э. А если эта строка выполняется только при каком-нибудь хитром условии, а не просто на каждой итерации? Если для иного нет очевидных причин, не меняйте значения переменной цикла в теле этого цикла.

СУММА И КОЛИЧЕСТВО ЧЕТНЫХ И НЕЧЕТНЫХ ЧИСЕЛ В ДИАПАЗОНЕ | C# ДОМАШНИЕ ЗАДАНИЯ | #4

Эти причины, впрочем, возникают относительно часто. и служат довольно стабильным источником багов, увы.

Источник: www.programmersforum.ru

Написать программу,которая вычисляет сумму первых N нечетных положительных чисел — Pascal

Написать программу,которая вычисляет сумму первых N нечетных положительных чисел.Количество чисел должно вводиться во время работы программы.

Читайте также:
Как запустить программу 32 бит на системе 64 бит

Код к задаче: «Написать программу,которая вычисляет сумму первых N нечетных положительных чисел»

Листинг программы

uses crt; var a:array[1..100] of integer; i,k,n,s:integer; begin clrscr; randomize; writeln(‘vvedite kolichestvo chisel’); readln(k); for i:=1 to k do begin a[i]:=random(41)-15; write(a[i],’ ‘); end; writeln; repeat writeln(‘vvedite n’); readln(n); until n0)and(a[i]>0) then s:=s+a[i]; i:=i+1; end; writeln(‘summa: ‘,s); readln; end.

Источник: studassistent.ru

Задачи по Pascal. Найти сумму первых n нечетных элементов .

Задачи по Pascal

Автор cyber На чтение 2 мин.

Условие задачи : Найти сумму первых n нечетных элементов при помощи цикла for, число элементов должен вводить пользователь (Язык Pascal).

Сложность : легкая .

Решение задачи Pascal :

Для начала продумаем решение. Сначала пользователь введет число — количество элементов, затем мы пустим цикл от 1 до кол-ва элементов, которое ввел пользователь.

В цикле мы будем каждое число проверять на четность. Если оно не четное, то прибавляем его к общей сумме.

Для начала давайте создадим каркас нашей программы со всеми нужными переменными , а именно :

  1. Переменная под количество чисел .
  2. Переменная под сумму первых n нечетных элементов .
  3. И так как у нас цикл for нам нужна переменная под счетчик .

program summa ; uses crt ; var sum , i , count : integer ; begin readln ; end.

Теперь давай спросим у пользователя сколько элементов должно быть .

write(‘Enter the amount of numbers : ‘); readln(count);

Переменная count будет служить нам окончанием для цикла . Думаю это понятно .

Дальше можно пускать цикл, но нам нужна сумма только нечетных чисел и здесь нам поможет условие на проверку четности чисел .

И перед началом работы цикла нам нужно присвоить нашей переменной sum ноль чтобы не возникло не каких ошибок .

sum := 0 ; for i := 1 to count do begin if (i mod 2 <> 0) then sum := sum + i ; end;

Читайте также:
Как создать чертеж в программе компас 3d

Думаю что здесь не чего сложного нет . Мы просто пускаем цикл и в нем каждое число проверяем на нечетность, т.е. пишем: если(if) остаток от деления(mod) неравен 0 (это будет значить что число не четное) , то мы прибавляем его к нашей сумме .

И теперь нам осталось вывести сумму .

Всё решение задачи Pascal :

program summa ; uses crt ; var sum , i , count : integer ; begin clrscr ; write(‘Enter the amount of numbers : ‘); readln(count); sum := 0 ; for i := 1 to count do begin if (i mod 2 <> 0) then sum := sum + i ; end; writeln(‘Summa = ‘, sum); readln ; end.

Источник: cyberlesson.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru