1) посчитать сумму всех нечетных чисел от 230 до 430 // PascalABC.NET 3.0, сборка 1088 var i,s:integer; begin i:=231; s:=0; repeat s:=s+i; i:=i+2 until i>400; Writeln('Сумма нечетных чисел на интервале [230;400]: ',s) end.
Результат выполнения программы: Сумма нечетных чисел на интервале [230;400]: 26775
2) вычислить квадратные корни из чисел : 900, 893, 886,... до тех пор пока это можно делать // PascalABC.NET 3.0, сборка 1088 var i:integer; begin i:=900; repeat Write('(',i:3,',',sqrt(i):9:5,') '); i:=i-7 until i<0; Writeln; end.
3) найти сумму чисел шестизначного числа // PascalABC.NET 3.0, сборка 1088 var n:longint; s:integer; begin Write('n='); Read(n); repeat s:=s + (n mod 10); n:=n div 10 until n=0; Writeln('Сумма цифр числа равна ',s) end.
Тестовое решение: n=472305 Сумма цифр числа равна 21
Это результат использования двух разных стандартов обозначения единиц измерения количества информации (одно и то же обозначение единицы измерения может пониматься по разному).
Производители жёстких дисков пишут их объём в "десятичных" единицах (в них объём диска в цифрах получается больше, потому что сама единица меньше).
А в операционной системе компьютера обычно этот объём показывается в "двоичных" единицах (и в них значение объёма диска получается меньше, т.к. сама единица больше).
Также, сколько то гигабайт система может зарезервировать для своих нужд, и доступный пользователю объём будет ещё меньше (как раз около 900 ГБ).
Объяснение:
Двоичные единицы были в компьютерной технике можно сказать с самого начала. И там они "родные", естественные- ведь компьютеры то построены на двоичной логике (почти все).
А отсюда вытекает количество адресуемой памяти- это степень двойки.
Микросхема памяти с четырьмя адресными входами позволяет обратиться к 2⁴ = 16-ти ячейкам памяти.
Шина адреса из 10 линий позволяет адресовать 2¹⁰ = 1024 ячейки.
Близко к тысяче, поэтому стали обозначать по аналогии с приставкой "-кило" (к), но только большой буквой (К), чтобы хоть как то отличать от стандартной приставки СИ.
Уже тут приставки пишутся почти одинаково, но отличаются по значению, ведь стандартная "к" -это тысяча (1 000)
Потом памяти стало больше, и появился мегабайт:
1 МБ = 2²⁰ = 1 048 576 байта
Здесь различие в написании двоичных и десятичных приставок уже пропало полностью, но при этом стандартная приставка "-мега" (М) означает миллион (1 000 000).
Потом гигабайт, терабайт... С каждой следующей отличие от стандартных приставок сильно увеличивалось (для ТБ это уже значительные 10%).
И, был принят стандарт, использующий стандартные (десятичные) приставки (1 кБ = 1 000 Б, 1 МБ = 1 000 000 Б, итд), а двоичные единицы измерения предлагалось переименовать в КиБ (кибибайт), МиБ (мебибайт), итд.
Но конечно, путаницы стало только ещё больше, причём многократно. Ибо далеко не все хотят переходить на новый стандарт. Причин хоть отбавляй- от странного и длинного названия единиц, до того факта что всё начиная с самых истоков основано на старых единицах и их написании- вся документация, все программы, сама аппаратура даже... Да и людям так привычнее, так удобнее. Мало кто хочет переходить на десятичные единицы, а уж ещё меньше- на переименованные.
Хотя, конечно всё же некоторые переходят, особенно кому это выгодно- те же производители носителей информации- жёстких дисков, DVD-дисков, флешек даже.
И чем больше используют десятичных единиц, тем больше путаницы становится.
P.S. В общем, крепитесь, ребята. Нам в этом компоте всю жизнь придётся вариться. Если что непонятно- смотрите полный размер в байтах (где это доступно, конечно). А недоступно- читайте теорию или справку наконец уж. И да пребудет с вами Сила :)
// PascalABC.NET 3.0, сборка 1088
var
i,s:integer;
begin
i:=231; s:=0;
repeat
s:=s+i; i:=i+2
until i>400;
Writeln('Сумма нечетных чисел на интервале [230;400]: ',s)
end.
Результат выполнения программы:
Сумма нечетных чисел на интервале [230;400]: 26775
2) вычислить квадратные корни из чисел : 900, 893, 886,... до тех пор пока это можно делать
// PascalABC.NET 3.0, сборка 1088
var
i:integer;
begin
i:=900;
repeat
Write('(',i:3,',',sqrt(i):9:5,') ');
i:=i-7
until i<0;
Writeln;
end.
Результат выполнения программы:
(900, 30.00000) (893, 29.88311) (886, 29.76575) (879, 29.64793)
(872, 29.52965) (865, 29.41088) (858, 29.29164) (851, 29.17190)
(844, 29.05168) (837, 28.93095) (830, 28.80972) (823, 28.68798)
... часть строк пропущена
(130, 11.40175) (123, 11.09054) (116, 10.77033) (109, 10.44031)
(102, 10.09950) ( 95, 9.74679) ( 88, 9.38083) ( 81, 9.00000)
( 74, 8.60233) ( 67, 8.18535) ( 60, 7.74597) ( 53, 7.28011)
( 46, 6.78233) ( 39, 6.24500) ( 32, 5.65685) ( 25, 5.00000)
( 18, 4.24264) ( 11, 3.31662) ( 4, 2.00000)
3) найти сумму чисел шестизначного числа
// PascalABC.NET 3.0, сборка 1088
var
n:longint;
s:integer;
begin
Write('n='); Read(n);
repeat
s:=s + (n mod 10);
n:=n div 10
until n=0;
Writeln('Сумма цифр числа равна ',s)
end.
Тестовое решение:
n=472305
Сумма цифр числа равна 21
Это результат использования двух разных стандартов обозначения единиц измерения количества информации (одно и то же обозначение единицы измерения может пониматься по разному).
Производители жёстких дисков пишут их объём в "десятичных" единицах (в них объём диска в цифрах получается больше, потому что сама единица меньше).
Десятичный терабайт: 1 ТБ = 10¹² байт = 1 000 000 000 000 байт
А в операционной системе компьютера обычно этот объём показывается в "двоичных" единицах (и в них значение объёма диска получается меньше, т.к. сама единица больше).
Двоичный терабайт: 1 ТБ = 2⁴⁰ байт = 1 099 511 627 776 байт
Двоичный гигабайт: 1 ГБ = 2³⁰ байт = 1 073 741 824 байт
Значит, ОС покажет объём диска так:
-в терабайтах: 10¹² / 2⁴⁰ ≈ 0,91 ТБ
-в гигабайтах: 10¹² / 2³⁰ ≈ 931,3 ГБ
Также, сколько то гигабайт система может зарезервировать для своих нужд, и доступный пользователю объём будет ещё меньше (как раз около 900 ГБ).
Объяснение:
Двоичные единицы были в компьютерной технике можно сказать с самого начала. И там они "родные", естественные- ведь компьютеры то построены на двоичной логике (почти все).
А отсюда вытекает количество адресуемой памяти- это степень двойки.
Микросхема памяти с четырьмя адресными входами позволяет обратиться к 2⁴ = 16-ти ячейкам памяти.
Шина адреса из 10 линий позволяет адресовать 2¹⁰ = 1024 ячейки.
Отсюда он, двоичный килобайт: 1 КБ = 2¹⁰ = 1024 байта
Близко к тысяче, поэтому стали обозначать по аналогии с приставкой "-кило" (к), но только большой буквой (К), чтобы хоть как то отличать от стандартной приставки СИ.
Уже тут приставки пишутся почти одинаково, но отличаются по значению, ведь стандартная "к" -это тысяча (1 000)
Потом памяти стало больше, и появился мегабайт:
1 МБ = 2²⁰ = 1 048 576 байта
Здесь различие в написании двоичных и десятичных приставок уже пропало полностью, но при этом стандартная приставка "-мега" (М) означает миллион (1 000 000).
Потом гигабайт, терабайт... С каждой следующей отличие от стандартных приставок сильно увеличивалось (для ТБ это уже значительные 10%).
И, был принят стандарт, использующий стандартные (десятичные) приставки (1 кБ = 1 000 Б, 1 МБ = 1 000 000 Б, итд), а двоичные единицы измерения предлагалось переименовать в КиБ (кибибайт), МиБ (мебибайт), итд.
Но конечно, путаницы стало только ещё больше, причём многократно. Ибо далеко не все хотят переходить на новый стандарт. Причин хоть отбавляй- от странного и длинного названия единиц, до того факта что всё начиная с самых истоков основано на старых единицах и их написании- вся документация, все программы, сама аппаратура даже... Да и людям так привычнее, так удобнее. Мало кто хочет переходить на десятичные единицы, а уж ещё меньше- на переименованные.
Хотя, конечно всё же некоторые переходят, особенно кому это выгодно- те же производители носителей информации- жёстких дисков, DVD-дисков, флешек даже.
И чем больше используют десятичных единиц, тем больше путаницы становится.
P.S. В общем, крепитесь, ребята. Нам в этом компоте всю жизнь придётся вариться. Если что непонятно- смотрите полный размер в байтах (где это доступно, конечно). А недоступно- читайте теорию или справку наконец уж. И да пребудет с вами Сила :)