1-ое поколение: 1946 г. создание машины ЭНИАК на электронных лампах. Эти ЭВМ были громоздкими сооружениями и занимали большую территорию. Для ввода программ и данных применялись перфоленты и перфокарты. Не было монитора, клавиатуры и мышки. Использовались эти машины для инженерных и научных расчетов.
2-ое поколение: 60-е годы. ЭВМ построены на транзисторах. Машины стали компактнее, надежнее, менее энергоемкими. Возросло быстродействие и объем внутренней памяти. Большое развитие получили устройства внешней (магнитной) памяти: магнитные барабаны, накопители на магнитных лентах(кассеты). стали развиваться языки программирования высокого уровня: ФОРТРАН, АЛГОЛ, КОБОЛ. были изобретены интегральные схемы.
3-е поколение: 70-е годы. ЭВМ построены на интегральных микросхемах (ИС). В Советском Союзе в 70-х годах начался выпуск машин серии ЕС ЭВМ (Единая система ЭВМ) по образцу IBM 360/370. Скорость работы достигла уже нескольких миллионов операций в секунду. На машинах третьего поколения появился новый тип внешних запоминающих устройств – магнитные диски. Созданы большие интегральные схемы (БИС).
4-ое поколение: Начало создаваться с 1971 г. с изобретением микропроцессора (МП). Создано на основе больших интегральных схем (БИС). Наиболее яркие представители четвертого поколения ЭВМ - персональные компьютеры (ПК). Персональной называется универсальная однопользовательская микроЭВМ. Связь с пользователем осуществлялась посредством цветного графического дисплея с использованием языков высокого уровня.
begin var n := ReadlnInteger('n = '); var m := ReadlnInteger('m = '); var rand := ReadlnInteger('Для ручного ввода нажмите 0');
if rand = 0 then begin a := new integer[m, n]; for var i := 0 to m-1 do for var j := 0 to n-1 do a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = '); end else a := MatrixRandom(m, n, 1, 100); Println(a);
var b := ArrGen(n, x -> 1); for var i := 0 to m-1 do for var j := 0 to n-1 do if j mod 2 = 0 then b[j] := b[j] * a[i, j];
b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println(); end.
void solve_1(){
int n,x,sum = 0;
cin >> n;
while(n--){
cin >> x;
sum += x * !(x % 2);
}
cout << sum;
}
void solve_2(){
int sum = 0;
for(int i = 2; i <= 32; i += 3) sum += i;
cout << sum;
}
void solve_3(){
double cur = 65000;
for(int i = 1983; i <= 2019; i++)
cur += 0.3 * cur;
cout << cur;
}
void solve_4(){
for(int i = 3; i <= 1000; i += 3)
cout << i << " ";
}