Идею электронных таблиц впервые сформулировал американский учёный австрийского происхождения Рихард Маттезих (нем. Richard Mattesich), опубликовав в 1961 г. исследование под названием «Budgeting Models and System Simulation»[3]. Концепцию дополнили в 1970 г. Пардо (англ. Rene Pardo) и Ландау (англ. Remy Landau), подавшие заявку на соответствующий патент (U.S. Patent 4 398 249). Патентное ведомство отклонило заявку, но авторы через суд добились отмены этого решения.
Общепризнанным родоначальником электронных таблиц как отдельного класса ПО является Дэн Бриклин, который совместно с Бобом Фрэнкстоном разработал программу VisiCalc в 1979 г. Эта электронная таблица для компьютера Apple II стала очень популярной, превратив персональный компьютер из игрушки для технофилов в массовый инструмент для бизнеса.
Впоследствии на рынке появились многочисленные продукты этого класса — SuperCalc, Microsoft MultiPlan, Quattro Pro, Lotus 1-2-3, Microsoft Excel, OpenOffice.org Calc, таблицы AppleWorks и gnumeric, минималистический Spread32.
{ 1) Дан массив из десяти целых чисел. Определите, сколько элементов этого массива имеют максимальное значение. } const n=10; var i,m,k: integer; var a: array[1..n] of integer; begin m:=-1; writeln ('Исходный массив'); for i:=1 to n do begin a[i]:=random(10); write (a[i]:3); if a[i]>m then m:=a[i]; end; k:=0; for i:=1 to n do begin if a[i]=m then k:=k+1; end; writeln; writeln ('k = ',k); end. -------------------------------------- Исходный массив 0 9 6 1 2 9 6 7 4 7 k = 2 ====================================
{ 2) В классе 20 учеников писали диктант по русскому. Написать программу и блок-схему подсчета кол-во оценок 2 3 4 5 получивших за диктант } const n=20; var i,k2,k3,k4,k5: integer; var a: array[1..n] of integer; begin k2:=0; k3:=0; k4:=0; k5:=0; writeln ('Массив оценок:'); for i:=1 to n do begin a[i]:=random(2,5); write (a[i]:3); if a[i]=2 then k2:=k2+1 else if a[i]=3 then k3:=k3+1 else if a[i]=4 then k4:=k4+1 else k5:=k5+1; end; writeln; writeln ('двоек = ',k2); writeln ('троек = ',k3); writeln ('четверок = ',k4); writeln ('пятерок = ',k5); end. ------------------------------------ Массив оценок: 4 4 4 3 5 2 2 4 4 3 4 4 4 4 4 3 4 4 4 3 двоек = 2 троек = 4 четверок = 13 пятерок = 1 ============================================
{ 3)Объявлен набор в школьную баскетбольную команду. Известен рост каждого из n учеников желающих попасть в эту команду. Составьте алгоритм подсчета и блок схему количества претендентов имеющих шанс попасть в команду если рост игрока команды должен быть не менее 170 см.Считайте рост претендентов случайным числом из диапазона 150-200 см, а число претендентов n=50. } const n=50; r=170; var i,k: integer; var a: array[1..n] of integer; begin k:=0; writeln ('Массив - Рост претендентов:'); for i:=1 to n do begin a[i]:=random(150,200); write (a[i]:5); if a[i]>=r then k:=k+1; end; writeln; writeln ('Шанс попасть в команду имеют ',k,' претендентов'); end. ------------------------------------------------ Массив - Рост претендентов: 196 177 196 169 153 167 157 163 165 166 191 195 158 200 160 189 180 157 181 163 181 152 173 181 186 195 183 155 181 190 168 193 200 167 192 161 167 155 199 160 183 191 159 172 199 183 156 158 186 186 Шанс попасть в команду имеют 28 претендентов ===========================================
1. Программы-детекторы, или сканеры
2. Программы-доктора
3. Программы-ревизоры
4. Программы-мониторы
5.Программы-фильтры (сторожа)
Сигнатура - является символьной информацией