Замена текущего элемента массива переменной в целях экономии памяти

После инициализации элементов массива, программа присваивает максимуму элемент массива с индексом 0, далее программа в ходе цикла выявляет максимальный по

Замена текущего элемента массива переменной в целях экономии памяти

Контрольная работа

Компьютеры, программирование

Другие контрольные работы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

Оглавление

 

Введение

Задание РГР-1

Раздел 1

Раздел 2

Раздел 3

Список литературы

 

 

Бланк задания РГР-1

 

Раздел 1. Ответить на теоретический вопрос

Виды информационно-вычислительных сетей

Раздел 2. Составить программу на языке программирования С

Дан одномерный массив D размером 13. Сформировать массив S, путем замены нулевых элементов на среднеарифметическое массива D, а отрицательных элементов на максимальный по модулю элемент массива D.

Раздел 3. Составить программу на языке программирования C

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

 

 

Введение

 

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

Для уменьшения затрат ЦП было использовано динамическое распределение памяти, а также возможно использование функции для уменьшения объёма программного кода.

Также в теле программы можно встретить операторы цикла (while(){..}, for(){…}, do{…}while;), операторы ветвления if()/if()-else, безусловные операторы break и goto; стандартные функции библиотек C <stdio.h>, <stdlib.h>, <time.h>, <string.h> и <ctype.h>.

А именно: функция rand(); - для генерации псевдослучайных чисел, srand() - для генерации начального числа функции rand(); поиск подстроки в строке - strstr(); копирование символьной строки - strcpy(); и др.

 

 

Раздел 1. Виды информационно-вычислительных сетей

 

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

Поэтому признаку сети делятся на три основных класса: LAN - локальные сети (Local Area Networks); MAN - городские сети (Metropolitan Area Networks). WAN - глобальные сети (Wide Area Networks);

Локальная сеть (ЛС) - это коммуникационная система, поддерживающая в пределах здания или некоторой другой ограниченной территории один или несколько высокоскоростных каналов передачи цифровой информации, предоставляемых подключенным устройствам для кратковременного монопольного использования. Территории, охватываемые ЛС, могут существенно различаться.

Длина линий связи для некоторых сетей может быть не более 1000 м, другие же ЛС в состоянии обслужить целый город. Обслуживаемыми территориями могут быть как заводы, суда, самолеты, так и учреждения, университеты, колледжи. В качестве передающей среды, как правило, используются коаксиальные кабели, хотя все большее распространение получают сети на витой паре и оптоволокне, а в последнее время также стремительно развивается технология беспроводных локальных сетей, в которых используется один из трех видов излучений: широкополосные радиосигналы, маломощное излучение сверхвысоких частот (СВЧ излучение) и инфракрасные лучи.

Небольшие расстояния между узлами сети, используемая передающая среда и связанная с этим малая вероятность появления ошибок в передаваемых данных позволяют поддерживать высокие скорости обмена - от 1 Мбит/с до 100 Мбит/с (в настоящее время уже есть промышленные образцы ЛС со скоростями порядка 1 Гбит/с).

Городские сети, как правило, охватывают группу зданий и реализуются на оптоволоконных или широкополосных кабелях. По своим характеристикам они являются промежуточными между локальными и глобальными сетями. В последнее время в связи с прокладкой высокоскоростных и надежных оптоволоконных кабелей на городских и междугородних участках, а новые перспективные сетевые протоколы, например, ATM (Asynchronous Transfer Mode - режим асинхронной передачи), которые в перспективе могут использоваться как в локальных, так и в глобальных сетях.

Глобальные сети, в отличие от локальных, как правило, охватывают значительно большие территории и даже большинство регионов земного шара (примером может служить сеть Internet). В настоящее время в качестве передающей среды в глобальных сетях используются аналоговые или цифровые проводные каналы, а также спутниковые каналы связи (обычно для связи между континентами). Ограничения по скорости передачи (до 28,8 Кбит/с на аналоговых каналах и до 64 Кбит/с - на пользовательских участках цифровых каналов) и относительно низкая надежность аналоговых каналов, требующая использования на нижних уровнях протоколов средств обнаружения и исправления ошибок существенно снижают скорость обмена данными в глобальных сетях по сравнению с локальными.

Существуют и другие классификационные признаки компьютерных сетей.

По сфере функционирования сети делятся на:- банковские сети,- сети научных учреждений,- университетские сети;

По форме функционирования можно выделить:- коммерческие сети;- бесплатные сети,- корпоративные сети- сети общего пользования;

По характеру реализуемых функций сети разделяются на:- вычислительные, предназначенные для решения задач управления на основе вычислительной обработки исходной информации;- информационные, предназначенные для получения справочных данных по запросу пользователей; смешанные, в которых реализуются вычислительные и информационные функции.

По способу управления вычислительные сети делятся на:- сети с децентрализованным управлением;- централизованным управлением;- смешанным управлением.

В первом случае каждая ЭВМ, входящая в состав сети, включает полный набор программных средств для координации выполняемых сетевых операций. Сети такого типа сложны и достаточно дороги, так как операционные системы отдельных ЭВМ разрабатываются с ориентацией на коллективный доступ к общему полю памяти сети.

В условиях смешанных сетей под централизованным управлением ведется решение задач, обладающих высшим приоритетом и, как правило, связанных с обработкой больших объемов информации.

По совместимости программного обеспечения бывают сети:- однородные;- гомогенные (состоящие из программно-совместимых компьютеров)- неоднородные или гетерогенные (если компьютеры, входящие в сеть, программно несовместимы).

 

Раздел 2. Составить программу на языке программирования С

 

Дан одномерный массив D размером 13. Сформировать массив S, путем замены нулевых элементов на среднеарифметическое массива D, а отрицательных элементов на максимальный по модулю элемент массива D.

информационный сеть массив элемент

 

Блок-схема 1.1

 

 

Переменные:

int i - для работы с индексами массивов;

double max - максимальный по модулю элемент массива;

double sum - в ходе программы роль этой переменной меняется, с суммы всех элементов массива, на его среднеарифметическое;

double d[], s[] - массивы, исходный и полученный соответственно.

 

Листинг 1.1

 

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

main(){i;d[13], s[13], max=0, sum=0;

//srand(time(NULL));(i=0; i<13; i++)

{

//d[i]=rand()%(100-(-100+1))+(-100);("%lf", &d[i]);+=d[i];(i==1)=d[0];(fabs(d[i])>max)=fabs(d[i]);("%02.2g ", d[i]);

}/=13.;("\n");(i=0; i<13; i++)

{[i]=d[i];(d[i]==0)[i]=sum;(d[i]<0)[i]=max;("%02.2g ", s[i]);

}

printf("\n");

return 0;

}

 

Описание 1.1

После инициализации элементов массива, программа присваивает максимуму элемент массива с индексом 0, далее программа в ходе цикла выявляет максимальный по модулю элемент массива, параллельно этому считается сумма всех элементов массива. После завершения цикла программа считает среднеарифметическое массива, так как все данные для этого у нас есть это не составляет проблем. Далее мы запускаем ещё один цикл в ходе которого мы присваиваем все элементы массива d массиву s, за исключением тех которые меньше либо равны нуля. Для них у нас отдельное условие которое присваивает элементам равным нулю наше среднеарифметическое массива d, а отрицательным элементам мы присваиваем максимальное по модулю значение массива d. В конце мы выводим полученный массив.

 

Таблица 1

Тестовые примеры, раздел 2

Ввод:Вывод:-81 -89 -10 11 -19 -81 64 70 -36 -39 14 34 8189 89 89 11 89 89 64 70 89 89 14 34 81-5 -27 32 84 -35 -49 90 -88 92 -9 -95 90 -4495 95 32 84 95 95 90 95 92 95 95 90 9501 02 03 04 00 00 00 00 09 10 -11 -12 1301 02 03 04 1.5 1.5 1.5 1.5 09 10 13 13 1315 -15 00 13 12 -3 07 08 09 -10 00 00 1315 15 3.8 13 12 15 07 08 09 15 3.8 3.8 13

 

Раздел 3. Составить программу на языке программирования C

 

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

 

Блок-схема 1.2

 

 

 

Переменные:

char* s - гл

Похожие работы

1 2 >