Как вывести 5 чисел через цикл

Задачи на циклы while, for в JavaScript

Учебник JavaScript

Практика

Работа с DOM

Практика

Некоторые продвинутые вещи

Рекомендованное ES6

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

Регулярки

Разное

Работа с канвасом

Практика

Контекст

Drag-and-Drop

  • Урок №
    Введение, задач нет
  • Урок №
    Основы
    работы с ООП
  • Урок №
    Наследование
    классов в JavaScript
    Продвинутая работа
    с классами на JavaScript —>
  • Урок №
    Применение
    ООП при работе с DOM
  • Урок №
    Практика
    по ООП в JavaScript
  • Тут скоро будут еще уроки
    по функциональному и прототипному
    стилю ООП.

Практика по ООП

Ваша задача: посмотрите, попробуйте повторить.

Практика

Promise ES6

Библиотека jQuery

Тк. jQuery устаревает, объявляю эти уроки не обязательными и выношу в конец учебника (так по уровню уроки середины учебника, если что). В перспективе переедет в отдельный учебник по jq.

Читайте также:  Каким растворителем отмыть клей

Перед решением задач изучите теорию к данному уроку.

Примеры решения задач

Задача

Задача. Выведите столбец чисел от 1 до 50.

Решение: воспользуемся циклом while (отделим числа тегом br друг от друга, чтобы получить столбец, а не строку):

Можно также воспользоваться и циклом for:

Задача

Задача. Дан массив с элементами [1, 2, 3, 4, 5]. С помощью цикла for выведите все эти элементы на экран.

Решение: будем повторять цикл for от 0 до номера последнего элемента массива. Этот номер на единицу меньше количества элементов в массиве, которое можно найти с помощью свойства length таким образом: arr.length.

Чтобы цикл прокрутился на единицу меньше длины массива, в условие окончания мы поставим

Задача. Дан массив с элементами [2, 3, 4, 5]. С помощью цикла for найдите произведение элементов этого массива.

Решение: для таких задач существует стандартное решение, которое заключается в том, что циклом for перебираются элементы массива и их произведение последовательно записывается в переменную result (в ней постепенно накапливается искомое произведение):

Как это работает: изначально переменная result имеет значение 1, затем при первом проходе цикла в нее записывается ее текущее содержимое (это 1), умноженное на первый элемент массива (это 2). Получится, что в result запишется 1*2 и теперь там будет лежать число 2.

При следующем проходе цикла в result запишется текущее значение result, умноженное на второй элемент массива (то есть 2*3=6). И так далее пока массив не закончится.

Можно переписать строчку result = result * arr[i] через *= для краткости:

Задача . Цикл for-in

Задача. Дан объект obj с ключами ‘Минск’, ‘Москва’, ‘Киев’ с элементами ‘Беларусь’, ‘Россия’, ‘Украина’. С помощью цикла for-in выведите на экран строки такого формата: ‘Минск — это Беларусь.’.

Решение: задача не представляет сложности если уметь работать с циклом for-in. Давайте решать задачу поэтапно. Для начала выведем на экран все ключи объекта (это названия городов):

А теперь выведем все значения объекта (это страны):

Ну, а теперь сформируем строки нужного нам формата:

Задачи для решения

Циклы while и for

Выведите столбец чисел от 1 до 100.

Выведите столбец чисел от 11 до 33.

Выведите столбец четных чисел в промежутке от 0 до 100.

С помощью цикла найдите сумму чисел от 1 до 100.

Работа с for для массивов

Дан массив с элементами [1, 2, 3, 4, 5]. С помощью цикла for выведите все эти элементы на экран.

Дан массив с элементами [1, 2, 3, 4, 5]. С помощью цикла for найдите сумму элементов этого массива. Запишите ее в переменную result.

Работа с for-in

Дан объект obj. С помощью цикла for-in выведите на экран ключи и элементы этого объекта.

Дан объект obj с ключами Коля, Вася, Петя с элементами ‘200’, ‘300’, ‘400’. С помощью цикла for-in выведите на экран строки такого формата: ‘Коля — зарплата 200 долларов.’.

Задачи

Дан массив с элементами 2, 5, 9, 15, 0, 4. С помощью цикла for и оператора if выведите на экран столбец тех элементов массива, которые больше 3-х, но меньше 10.

Дан массив с числами. Числа могут быть положительными и отрицательными. Найдите сумму положительных элементов массива.

Дан массив с элементами 1, 2, 5, 9, 4, 13, 4, 10. С помощью цикла for и оператора if проверьте есть ли в массиве элемент со значением, равным 4. Если есть — выведите на экран ‘Есть!’ и выйдите из цикла. Если нет — ничего делать не надо.

Дан массив числами, например: [10, 20, 30, 50, 235, 3000]. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.

Дан массив с элементами 1, 2, 3, 4, 5, 6, 7, 8, 9. С помощью цикла for создайте строку ‘-1-2-3-4-5-6-7-8-9-‘.

Составьте массив дней недели. С помощью цикла for выведите все дни недели, а выходные дни выведите жирным.

Составьте массив дней недели. С помощью цикла for выведите все дни недели, а текущий день выведите курсивом. Текущий день должен храниться в переменной day.

Дано число n=1000. Делите его на 2 столько раз, пока результат деления не станет меньше 50. Какое число получится? Посчитайте количество итераций, необходимых для этого (итерация — это проход цикла), и запишите его в переменную num.

Источник

Алгоритм нахождения простых чисел

Оптимизация алгоритма нахождения простых чисел

2 3 5 7 11 13 17 19 23 29 31… $250.000…

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

Алгоритм был придуман и тутже реализован на изучаемом языке. Программа запрашивала у пользователя число N и искала все простые числа до N включительно. После первого успешного теста сразу же возникло непреодолимое желание ввести N = «много». Программа работала, но не так быстро как хотелось бы. Естественно, дело было в многочисленных проверках (порядка N*N/2), поэтому пришлось избавиться от лишних. В итоге получилось 5 похожих алгоритмов каждый из которых работал быстре предыдущего. Недавно захотелось их вспомнить и реализовать, но на этот раз на Python.

Итак, поехали. Первый алгоритм, ударивший в студенческую голову, продемонстрирован в Листинге 1.

Очень быстро понимаешь, что в подсчете делителей каждого числа нет никакой надобности и поэтому переменную k можно освободить от своих обязанностей. Действительно, если хотябы один делитель имеется, то число уже не простое. Смотрим Листинг 2.

Конструкция break позволяет нам завершить выполнение внутреннего цикла и перейти к следующей итерации внешнего.
Далее возникает вопрос: «а зачем делить на 4, если на 2 число не делится?». Приходим к выводу, что искать делители нужно только среди простых чисел не превышающих делимое. Наш алгоритм превращается в… см. Листинг 3.

А потом вспоминаем теорию чисел и понимаем, что переберать надо только числа, не превосходящие корня из искомого. К примеру, если число M имеет делитель pi, то имеется делитель qi, такой, что pi * qi = M. То есть, чтобы найти пару, достаточно найти меньшее. Среди всех пар, предполагаемая пара с максимальным наименьшим — это пара с равными pi и qi, то есть pi * pi = M => pi = sqrt(M). Смотрим Листинг 4.

Код из Листинга 4 при N=10000 выполняется примерно в 1000 раз быстрее, чем самый первый вариант. Есть еще один «ускоритель», проверять только те числа, которые заканчиваются на 1, 3, 7 или 9 (так как остальные очевидно делятся на 2 или 5). Наблюдаем Листинг 5.

В следствии незначительного изменения Листинга 5 получаем небольшую прибавку в скорости:

Итого: Программа из последнего листинга выполняется, примерно, в 1300 раз быстрее первоначального варианта.
Я не ставил перед собой задачи написать программу максимально быстро решающую данную задачу, это скорее демонстрация начинающим программистам того, что правильно составленный алгоритм играет далеко не последнюю роль в оптимизации Ваших программ.

P.S.
Благодаря замечаниям получаем Листинг 7:

при N=10000, поучаем время:
time 1 = 26.24
time 2 = 3.113
time 3 = 0.413
time 4 = 0.096
time 5 = 0.087
time 6 = 0.083
time 7 = 0.053

Результаты при n = 1 000 000:
time 7 = 7.088
time 8 = 1.143

Источник

Вывести в консоль сумму введенных пользователем чисел с помощью Цикла for. C#

Нужно заполнить коллекцию из 10 целых чисел с клавиатуры (заполнить данными от пользователя) и посчитать сумму всех введенных пользователем чисел.

Сделал вот такой код, но это не сумма всех введенных чисел, а сложение переменной на саму себе с шагом +1. Помогите, пожалуйста исправить мой код 😗

1 ответ 1

Давайте разберу всю задачу с самого начала.

Присваивание

Вот смотрите, присваивание в шарпе работает просто

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

Вывод в консоль

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

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

Коллекции

Для начала, вам стоит познакомиться двумя из них: массивом и списком.

Как оно объявляется:

Первое, что бросается здесь в глаза — это то что у массива при создании его экземпляра ( new создает экземпляр объекта) количество элементов массива известно заранее, а у списка их можно добавлять по ходу дела.

Здесь важно условие вашей задачи «коллекцию из 10 целых чисел». Количество известно заранее? Да, значит используем массив.

ВАЖНО: нумерация элементов, то есть их порядковые номера в массиве начинаются с нуля 0 .

Циклы

Можно было бы написать 10 строк кода и ввести 10 значений, но что если их 2000 или еще больше. Хотя что это я — вы уже знакомы с циклом for . Берем всё, что я написал выше, собираем вместе, получаем следующий блок кода.

Вот и готова первая часть задачи. Имеем массив из 10 элементов, заполненный пользователем.

Кстати, обратите внимание, у вас в коде Convert.ToInt32(Console.ReadLine()); вы никуда не присваиваете число, считанное с клавиатуры.

Математика

Чтобы посчитать сумму элементов, нужно ее где-то хранить. Окей, объявим еще одну переменную.

Чтобы что-то прибавить к переменной, то есть не просто присвоить, а учитывая текущее ее значение — прибавить к ней, можно воспользоваться такой конструкцией:

Или есть более короткая запись того же самого:

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

Ну и выведем консоль

Готово. Думаю, вам не составит труда теперь собрать это воедино и заставить работать.

Источник

Python Урок 2. Работа с циклами

Цикл WHILE

Цикл while — цикл с предусловием. Пример использования:

i = 5 while i Комментарии в Python

Однострочный комментарий начинается с # .
Блочный комментарий можно использовать так (строго говоря, блочного комментария нет в Питоне):

#Однострочные Питон комментарии # Это # блочный или многострочный # комментарий

»’ тоже блочный комментарий »’

Операторы break и continue

Оператор break — выход из цикла
Оператор continue — выход из текущей итерации цикла

a=0 while a!=10: a=a+1 if a==5: continue print (a) if a==7: break print («всё!»)

import random number = random.randint(0, 100) while True: answer = input(‘Угадай число: ‘) if answer == «» or answer == «exit»: print(«Выход из программы») break if not answer.isdigit(): print(«Введи правильное число») continue answer = int(answer) if answer == number: print(‘Верно!’) break elif answer > number: print(‘Загаданное число больше’) else: print(‘Загаданное число меньше’)

Задание Python 2_1: Последовательно вводятся ненулевые числа. Определить сумму положительных и сумму отрицательных чисел. Закончить ввод чисел при вводе 0. Для перевода из строки в целое число, использовать функцию int().

Пример вывода:

Пример вывода:

Цикл FOR

В Python цикл for имеет такой синтаксис:

Пример:

for i in range(3): print(i) # 0 # 1 # 2

Пример с двумя параметрами:

for i in range(5, 8): print(i) # 5 # 6 # 7

for x in range(1,11): print ( 2**x ) # 2 4 8 16 . 1024

Шаг счетчика цикла можно менять:

for x in range(1,11,2): print ( 2**x )

for i in range(10, 7, -1): print(i) # 10 # 9 # 8

Еще пример работы:

for i in ‘hello world’: if i == ‘o’: continue print(i, end=») # hell wrld

Пример использования break:

for i in ‘hello world’: if i == ‘l’: break print(i, end=») # he

a=0 n=10 for i in range(1,n+1,2): a=a+1 if a==5: continue print (a) if a==7: break print («всё!»)

Пример вывода:

Случайное число

В Python случайное число задается с помощью двух функций:

  • random() – случайное вещественное из полуинтервала [0,1) ;
  • randint(a,b) – случайное целое из отрезка [a,b].

Но для использования функция необходимо предварительно подключить библиотеку:

# подключение библиотеки: from random import randint # получение целого случайного числа в диапазоне от 1 до 10 x = randint(1,11) # получение вещественного случайного числа в полуинтервале от 5 до 11 from random import random x = 6*random() + 5

Цикл for in при работе с кортежами (тип данных)

i = 1 for color in ‘красный’, ‘оранжевый’, ‘желтый’, ‘зеленый’, ‘голубой’, ‘синий’, ‘фиолетовый’: print(i,’-й цвет радуги — это ‘, color) i += 1

Другой вариант работы со счетчиком цикла:

for i in 1,2,3,’one’,’two’,’three’: print(i)

name = «Ivan» for letter in name: print(letter) # I # v # a # n

Источник

Оцените статью