В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Eliman1
Eliman1
28.04.2022 06:55 •  Информатика

Программа должна прибавить к числу n по 23. Сколько раз придется выполнить эти действия, что бы сумма всех чисел достигла 17000
в паскале

Показать ответ
Ответ:
adadurovf
adadurovf
07.05.2020 02:01

Основными этапами становления и развития вычислительной техники являются:

1. Ручной - с 50-го тысячелетия до н. э .;

2. Механический - с середины XVII века;

3. Электромеханический - с девяностых годов XIX века;

4. Электронный - с сороковых годов XX века.

1. Ручной период автоматизации вычислений начался на заре человеческой цивилизации. Он базировался на использовании пальцев рук и ног. Счет с группировки и перекладывания предметов явился предшественником счета на абаке - наиболее развитом счетном приборе древности. Аналогом абака на Руси счетов, дошедших до наших дней. Использование абака предполагает выполнение вычислений по разрядам, то есть наличие некоторой позиционной системы счисления. Вычисления на них проводились путем перемещения счетных костей и камешков (Кальк) в полосковых углублениях досок из бронзы, камня, слоновой кости, цветного стекла. В своей примитивной форме абак был дощечкой (позже он принял вид доски, разделенной на колонки перегородками). На ней проводились линии, разделявшие ее на колонки, а камешки раскладывались в эти колонки по тому же позиционным принципом, по которому кладется число на наши счеты. Это нам известно от ряда греческих авторов.

Первым устройством для выполнения умножения был набор деревянных брусков, известных как палочки Непера. Они были изобретены шотландцем Джоном Непером (1550-1617рр.). На таком наборе из деревянных брусков была размещена таблица умножения. Кроме того, Джон Непер в начале XVII века ввел логарифмы, что сделало революционное воздействие на счет. Изобретенная им логарифмическая линейка - это счетный инструмент для упрощения вычислений, с которого операции над числами заменяются операциями над логарифмами этих чисел. Конструкция линейки сохранилась в основном до наших дней. Вычисления с логарифмической линейки проводятся просто, быстро, но приблизительно. И, следовательно, она не годится для точных, например финансовых расчетов. Она, несомненно, является венцом вычислительных инструментов ручного периода автоматизации.

2. Развитие механики в XVII веке стал предпосылкой создания вычислительных устройств и приборов, использующих механический вычислений.

Эскиз механического тринадцятиразрядного устройства заключает с десятью колесами был разработан еще Леонардо да Винчи (1452- 1519рр). По этим чертежам в наши дни фирма IBM в целях рекламы построила работо машину. Первая механическая счетная машина была изготовлена ​​в 1623 г.. Профессором математики Вильгельмом Шиккардом (1592-1636рр.). В ней были механизированы операции сложения и вычитания, а умножение и деление выполнялось с элементами механизации. Но машина Шиккарда вскоре сгорела во время пожара. Поэтому биография механических вычислительных устройств ведется от машины, заключает, изготовленной в 1642 Блез Паскаль (1623-1662), в дальнейшем великим математиком и физиком.

3. Электромеханический этап развития вычислительной техники является наименее продолжительным и охватывает около 60 лет - от первого табулятора Г.Холлерита к первой ЭВМ "ENIAC".

В конце XIX в. были созданы сложные механические устройства. Важнейшим из них был устройство, разработанное американцем Германом Холлеритом. Исключительность его заключалась в том, что в нем впервые была употреблена идея перфокарт и расчеты велись с электрического тока. Это сочетание делало машину настолько работо что она получила широкое применение в свое время. Например, при перечислении населения в США, проведенного в 1890, Холлерит, с своих машин смог выполнить за три года то, что вручную делалось бы в течении семи лет, причем гораздо большим числом людей.

Начало - тридцатые годы XX века - разработка рахунковоаналитичних комплексов, состоящих из четырех основных устройств: перфоратора, контрольника, сортировщика и табулятора. На базе таких комплексов создаются вычислительные центры. В это же время развиваются аналоговые машины.

4. Электронный этап, начало которого связывают с созданием в США в конце 1945 электронной вычислительной машины ENIAC американским инженером-электронщиком Дж. П. Эккерт и физиком Дж.У. Моучли.

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

Персональный Компьютер, компьютер, специально созданный для работы в однопользовательском режиме. Появление персонального компьютера напрямую связана с рождением микрокомпьютера.

ПК - настольный или портативный компьютер, который использует микропроцессор как единый центральный процессор, выполняющий все логические и арифметические операции. Эти компьютеры относят к вычислительным машинам четвертого и пятого поколения.

Объяснение:все

0,0(0 оценок)
Ответ:
olga0520
olga0520
23.10.2020 03:40

Задачка мне очень понравилась, прилагаю решение на C#, консольное приложение

Объяснение:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Археологи_строители

{ class Program

   {

       static void Main(string[] args)

       {

           //Объявляем и задаем переменные "M" и "N", а так же переменную для результата

           int M,N=new int();

           int MyResult = 0;

           Console.WriteLine("Ведите Текущее количество ступенек и Сколько их должно быть:");

           M = int.Parse(Console.ReadLine());

           N = int.Parse(Console.ReadLine());

           // Создаем массив для хранения данных о ступенях. M-Количество ступенек, Цифра - для колонок длины и высоты

           int[,] mass = new int[M,2];

           // Запись значений в массив

           for (int x = 0; x < M; x++){

               for (int y = 0; y < 2; y++){

                   if (y==0){  //Чисто для юзерфрендли отображения

                       Console.Write($"Введите значение Длины для ступеньки №{x + 1}= ");} else{

                       Console.Write($"Введите значение Высоты для ступеньки №{x + 1}= ");}

                   mass[x, y] = Convert.ToInt32(Console.ReadLine());}

                   Console.WriteLine();}

           /* Как оказалось, самый простой определить какую же ступеньку надо "поднимать"-

            * это вычислить площадь гипотетически "заполняемого" пространства над ступенькой и взять

            * наименьшее значение.

            *  

            * Итак, допустим если у нас 5 ступенек, то нам нам необходимо записать 4 значения

            * (в рамках лестницы) площади заполняемых ступенек.

            *  

            * Перемножаем Длину ступеньки N на высоту ступеньки N+1, M-1 раз и сохраняем в массив

            */

           int M2 = M; //Дублируем изначальное число ступенек для контроля цикла

           for (int z = 0; z <M2-N; z++)

           {

               int[] acreage = new int[M - 1];

               for (int x = 0; x < M - 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       acreage[x] = mass[x, 0] * mass[x + 1, 1];

                   }

               }

               /*

                * И так у нас есть все значения гипотетически заполняемой ступеньки.

                * Ищем минимальное значение площади  

                */

               int minAcreage = acreage[0];

               for (int i = 0; i < M - 1; i++)

               {

                   if (minAcreage > acreage[i])

                   {

                       minAcreage = acreage[i];

                   }

               }

               MyResult = MyResult+minAcreage; //Плюсуем данное значение в переменную результата

               // У нас есть минимальная площадь. Найдем номер данной ступеньки

               int IndexAcreage = Array.IndexOf(acreage, minAcreage);

               //"Достроим нужную нам ступеньку и запишем обновленные данные во временный массив"

               int[,] tempMass = new int[M - 1, 2]; //Он на размер меньше, т.к. и "полных" ступенек у нас стало меньше

               for (int x = 0; x < M - 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       //Ступеньки до IndexAcreage мы просто переписываем во временный массив

                       if (x < IndexAcreage)

                       {

                           tempMass[x, y] = mass[x, y];

                       }

                       //2 ступеньки от IndexAcreage мы превращаем в одну (застраивая их блоками)

                       else if (x == IndexAcreage)

                       {

                           tempMass[x, y] = mass[x, y] + mass[x + 1, y];

                       }

                       /* и после IndexAcreage мы та же копируем, но со сдвигом вправо, т.к. полноценных  

                        * ступенек стало меньше

                        */

                       else if (x > IndexAcreage)

                       {

                           tempMass[x, y] = mass[x + 1, y];

                       }

                   }

               }

               M = M - 1; //Поскольку ступенек теперь меньше, то и их фактическое число необходимо уменьшить

               for (int x = 0; x < M + 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       mass[x, y] = 0;

                   }

               }

               //переписываем данные в основной массив и запускаем следющую интерацию цикла

               for (int x = 0; x < M; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       mass[x, y] = tempMass[x, y];

                   }

               }

           }

           Console.WriteLine($"Минимально необходимое число блоков: {MyResult}");

           Console.ReadKey(true);

       }

   }

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота