По программированию: найдите сумму и произведение чётных чисел в массиве. Количество элементов массива ввести с клавиатуры. сделайте нужно сдать сегодня !
While - цикл с условием for - цикл с известным количеством шагов (итераций)
чтобы воспользоваться for нужно знать точно количество шагов (интераций)
например, заполняем массив arr из 10 единиц типа int for(i = 0; i < 10; i++) arr[i] = 0; // точно знаем что 10 элементов и делаем 10 интераций
если же нам не известно количество интераций цикла, например организовать ввод переменной до тех пор, пока пользователь не введет 0 сколько будет интераций - неизвестно и зависит сугубо от пользователя
int num; do { cin >> num // вводим цифру } while(num != 0); // повторяем ввод, пока цифра не равна 0
( do while - разновидность while, в которой условие проверяется не перед первой интерацией, а после нее )
примеры представлены на c++, но в принципе и так понятно
Есть формула N=2^i i - количество бит N - количество вариантов (значений) Например, i=2, получается N=2^2=4 числовых значения, вот они: 00 01 10 11
i=3 N=2^3=8 числовых значений: 000 001 010 011 100 101 110 111 И дальше по аналогии.
Если i=7, то N=2^7=128 - этого не хватает, поэтому берем i=8, N=2^8=256
Вообще, это формула из комбинаторики. Но когда речь идет про бит, то имеют ввиду числа 0 и 1 (BIT - BInary digiT).
А вообще, могу привести пример, если речь идет не только о 0 и 1 Например, такая задачка, сколько можно составить слов, если есть 2 символа а,б и длина слова 3 символа. Получается 2^3 ааа ааб аба абб баа баб бба ббб
Теперь возьмем 4 символа а,б,в,г и длина слова 5. Получается 4^5 - 1024 комбинации. Я запомнил для себя эту формулу так: количество символов в степени длинны.
Сейчас будет немного интересной информации. Например, возьмем черно-белое изображение 5*5 пикселей. У каждого пикселя есть два состояния - или он закрашен (1) или он не закрашен (0). Всего 25 пикселей. Сколько всего можно составить картинок (комбинаций)? 2^25=33 554 432.
Однажды я задался вопросом, сколько всего изображений может изобразить FullHD монитор 1920*1080? Есть система RGB, по которой монитор может отобразить 256^3 цветов (16777216). И я получил это число, все по той же формуле из комбинаторики. Только пикселей у нас в этот раз не 25, а 2 073 600. А цветов не 2, а 16777216. Получается количество символов (цветов, каждый пиксель может отобразить один из 16777216 цветов) в степени длинны (2073600 пикселей)
Кстати, 1 бит - это один байт. А знаешь почему? Все пошло еще из кодировки символов ASCII (аски), думаю ты про нее слышал, так вот, в ней было 256 символов. (256=2^8) То есть для кодировки любого символа требовалась строка из единиц и нулей длинной 8 символов. Грубо говоря, количество битов - количество разрядов. То есть если 8 бит, значит это должна быть строка из 1 и 0 длиной 8 символов (разрядов). По формуле комбинаторики как раз можно составить 256 таких вариантов. И как ты понял, если будет 7 разрядов. то ты не сможешь записать туда 196 значений, а только лишь 128.
В общем, ты теперь на всю жизнь должен запомнить почему необходимо 8 бит для кодирования 196 числовых значений :D
for - цикл с известным количеством шагов (итераций)
чтобы воспользоваться for нужно знать точно количество шагов (интераций)
например, заполняем массив arr из 10 единиц типа int
for(i = 0; i < 10; i++) arr[i] = 0; // точно знаем что 10 элементов и делаем 10 интераций
если же нам не известно количество интераций цикла, например организовать ввод переменной до тех пор, пока пользователь не введет 0
сколько будет интераций - неизвестно и зависит сугубо от пользователя
int num;
do
{
cin >> num // вводим цифру
}
while(num != 0); // повторяем ввод, пока цифра не равна 0
( do while - разновидность while, в которой условие проверяется не перед первой интерацией, а после нее )
примеры представлены на c++, но в принципе и так понятно
Есть формула N=2^i
i - количество бит
N - количество вариантов (значений)
Например, i=2, получается N=2^2=4 числовых значения, вот они:
00
01
10
11
i=3 N=2^3=8 числовых значений:
000
001
010
011
100
101
110
111
И дальше по аналогии.
Если i=7, то N=2^7=128 - этого не хватает, поэтому берем
i=8, N=2^8=256
Вообще, это формула из комбинаторики. Но когда речь идет про бит, то имеют ввиду числа 0 и 1 (BIT - BInary digiT).
А вообще, могу привести пример, если речь идет не только о 0 и 1
Например, такая задачка, сколько можно составить слов, если есть 2 символа а,б и длина слова 3 символа. Получается 2^3
ааа
ааб
аба
абб
баа
баб
бба
ббб
Теперь возьмем 4 символа а,б,в,г и длина слова 5. Получается 4^5 - 1024 комбинации. Я запомнил для себя эту формулу так: количество символов в степени длинны.
Сейчас будет немного интересной информации.
Например, возьмем черно-белое изображение 5*5 пикселей. У каждого пикселя есть два состояния - или он закрашен (1) или он не закрашен (0). Всего 25 пикселей. Сколько всего можно составить картинок (комбинаций)? 2^25=33 554 432.
Однажды я задался вопросом, сколько всего изображений может изобразить FullHD монитор 1920*1080? Есть система RGB, по которой монитор может отобразить 256^3 цветов (16777216). И я получил это число, все по той же формуле из комбинаторики. Только пикселей у нас в этот раз не 25, а 2 073 600. А цветов не 2, а 16777216. Получается количество символов (цветов, каждый пиксель может отобразить один из 16777216 цветов) в степени длинны (2073600 пикселей)
Кстати, 1 бит - это один байт. А знаешь почему? Все пошло еще из кодировки символов ASCII (аски), думаю ты про нее слышал, так вот, в ней было 256 символов. (256=2^8) То есть для кодировки любого символа требовалась строка из единиц и нулей длинной 8 символов. Грубо говоря, количество битов - количество разрядов. То есть если 8 бит, значит это должна быть строка из 1 и 0 длиной 8 символов (разрядов). По формуле комбинаторики как раз можно составить 256 таких вариантов. И как ты понял, если будет 7 разрядов. то ты не сможешь записать туда 196 значений, а только лишь 128.
В общем, ты теперь на всю жизнь должен запомнить почему необходимо 8 бит для кодирования 196 числовых значений :D