Основные алгоритмы работы с массивами — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Основные алгоритмы работы с массивами

2021-05-27 77
Основные алгоритмы работы с массивами 0.00 из 5.00 0 оценок
Заказать работу

Внимание!

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

Рассмотрим следующую задачу.

Для пяти факультетов имеются сведения о количестве принятых на первый курс студентов. Определить общее количество принятых студентов, факультеты, на которые принято максимальное и минимальное количество студентов и среднее количество студентов, принятых на каждый факультет.

В общем случае алгоритм решения любых задач выглядит следующим образом:

 

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

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

Кроме того, сложность задачи приводит в некоторых случаях к необходимости нарушения порядка в основном принципе алгоритмизации:

сначала алгоритм, а потом программа.

В данном случае при первичном рассмотрении темы целесообразнее сначала рассмотреть программную реализацию и только затем по созданной программе составить алгоритм.

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

 

1. Алгоритм ввода массивов данных в программу

По условию задачи у нас имеется два массива данных – количество принятых студентов для пяти факультетов и названия факультетов.

Для их объявления в программу вписывается следующий текст:

Dim Number(5) As Integer                  (1)

Dim Facultet(5) As String

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

Самым простым вариантом является прямое присваивание значений элементам массива в программе.

Для рассматриваемой задачи этот вариант выглядит следующим образом.

Для названий факультетов:

Facultet (1)=”ФФК”: Facultet (2)=”БХФ”

Facultet(3)=” ФМФ ”:Facultet(4)=” ПМНО ” (2)

Facultet(5)=” ФИЯ ”

Для численности студентов на них:

Number(1)=75:Number(2)=50

Number(3)=125:Number(4)=200                  (3)

Number(5)=130

Обратите внимание – для экономии места (на бумаге и в программе) ряд команд записаны в одной строке через двоеточие.

При запуске программы присвоенные в ней значения массивов остаются «внутри нее» и не выводятся на экран.

2 Алгоритм вычисления общего количества студентов

 

На рис. 3. представлена блок-схема алгоритма вычисления общего количества студентов.

 

В виде программы алгоритм можно записать:

S=0

For I = 1 to 5

    S = S +Number(I)                              (4)

Next

3. Алгоритм нахождения факультетов с минимальным и максимальным количеством студентов

На рис. 3. представлена блок-схема алгоритма нахождения факультета с максимальным количеством студентов.

 

Программная реализация алгоритма:

Max = Number (1): Imax = 1                       (5)

For I = 2 to 5

If Number(I) > Max Then Max = Number(I): Imax = i

Next

Комментарий к алгоритму:

- переменная Max служит для хранения максимального количества студентов. В начале ей присваивается количество студентов, находящихся на первом факультете;

- переменная Imax служит для хранения номера факультета с максимальным количеством студентов. Поначалу ей также присваивается номер первого факультета:

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

- в конце выводится название факультета с найденным максимальным номером.

Задание.

Разработайте алгоритм и программу нахождения факультета с минимальным количеством студентов.

4. Алгоритм нахождения среднего количества студентов

Данный модуль общей схемы решения задачи не заслуживает отдельной блок-схемы. Алгоритм вычисления среднего сводится к расчету по формуле:

Среднее = Общее количество студентов / Количество факультетов

 

Или в терминах объявленных переменных:

Srednee = S / 5                  (6)

5. Вывод результатов расчетов

Данный модуль также не заслуживает блок-схемы. Алгоритм модуля заключается в выводе полученных результатов в текстовые поля формы:

TextBox1.Text=S                                          (7)

TextBox2.Text =Facultet(Imax)

TextBox3.Text =Facultet (Imin)

TextBox4.Text = Srednee

 

Программная реализация

Ввиду того, что для вывода использовался очень простой способ интерфейс программы также очень прост – на форме создаются только две кнопки «Расчет» и «Выход».

Для кнопки «Выход» используется стандартная команда End:

  Private Sub CommandButton2_Click()

End

End Sub

 

В заготовку процедуры для кнопки «Расчет» скопировать блоки команд (2) – (7) и написанный Вами набор команд для нахождения факультета с минимальным количеством студентов.

В самое начало окна кода скопировать блок объявления массивов (1).

 

6.3. Задания (Жизнь – прекрасна!)

День рождения

Активистка группы Маша занялась организацией дня рождения своей подруги Даши. Для этого она обошла своих сокурсников с информацией о будущем торжестве и предложением сдать деньги на подарок (кто сколько даст). В мероприятии пожелали участвовать 6 человек. В результате получился список вида: имя – сумма.

Определить общую сумму, собранную на подарок, а также имена тех, кто сдал самое большое и самое малое количество денег.

Работа и путешествия

Организация “Travel & Work” предоставила список из 10 стран, в которых можно поработать в летнее время, и стоимости проезда в указанные страны. Получив этот список и изучив условия проезда мечтательная Даша решила, не утруждать себя работой, а просто объездить эти страны, посмотреть на мир, себя показать…

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

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

Самое скверное в процессе учебы - это контрольные работы. В группе, где учились Маша и Даша, это мероприятие усугублялось излишне въедливой и придирчивой преподавательницей.

Во время очередной контрольной она разделила все ошибки на пять групп:

- орфографические;

- синтаксические;

- стилистические;

- общекультурные (это когда в качестве столицы Франции указан Лондон);

- прочие.

После очередной контрольной Даша и Маша получили мало порадовавшие их оценки и в придачу к ним список ошибок по каждой группе.

Определить, кто из подруг сделал большее количество ошибок, и ошибок какой группы оказалось больше всего.

Студвесна

Одной из отдушин в этой унылой и серой жизни является студенческая весна. Этот праздник проводится почти одновременно (но все-таки в разное время) во всех вузах города. Обычно, эти мероприятия проводятся вечером. Поскольку факультет также занимается во вторую смену, то в дни проведения студвесен, на занятиях почему-то бывает очень мало студентов.

Дан список вузов города, дни в которые они проводят свою студенческую весну, и соответствующее количество занятий в эти дни у Маши и Даши.

Определить сколько всего занятий пропустят подруги и вузы, пользующиеся наибольшей и наименьшей популярностью.

Зачетная сессия

Известно, что для получения зачета приходиться делать несколько заходов. Количество заходов зависит от степени свирепости преподавателя.

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

Определить фамилию самого свирепого преподавателя и предмет, зачет по которому был получен наиболее легко.

Экзаменационная сессия

Имеется список предметов, сдаваемых во время сессии, и полученных по этим предметам оценок. Определить средний балл, полученный во время сессии, и предметы, по которым получены наиболее высокие и наиболее низкие оценки.

Студенческие обычаи

Леша был единственным гуманитарием среди своих бывших одноклассников. От насмешек недалеких технарей его спасал только один довод – на гуманитарных специальностях очень развиты программы по международному студенческому обмену. Благодаря этому он уже успел побывать в нескольких странах.

В этих странах ему запомнились различия в особенности приветствий студентов. В России – хорошие друзья при встрече целуются, в США - обнимаются, в Дании – девушки делают книксен, а юноши – благородный кивок, во Франции – посылают друг другу воздушные поцелуи.

Просыпающиеся мужские инстинкты Леши выставили всем этим способам приветствий следующие баллы (по величине привлекательности):

- жаркие объятия раскованных американских ровесниц – 8 баллов;

- мимолетные поцелуи российских студенток – 5 баллов;

- чопорные датские книксены – 1 балл;

- фривольные французские воздушные поцелуи – 3 балла.

Имеются данные о том, сколько раз поприветствовали Лешу в каждой стране.

Определить в какой стране он получил больше всего баллов.

Студенческие приметы

Для того, чтобы успешно сдать экзамен существует ряд проверенных способов. Одним из самых надежных является: идя на экзамен, следует в обувь под пятку положить монетку.

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

Определить какую валюту он будет использовать в очередной сессии в первую очередь, и какой валютой уже больше никогда не воспользуется.

Очень важная контрольная

Маша безнадежно опаздывала на очень важную контрольную. Провожая отчаянным взглядом очередную переполненную маршрутку она услышала, как ее кто-то окликнул. Оглянувшись, она увидела, что из роскошного Volvo ей машет рукой ее бывший одноклассник Вовочка - отчаянный хулиган и двоечник. Он с полуслова понял в чем дело и предложил подвезти ее.

А в это время из-за болезни преподавателя контрольную отменили и вся группа, еще плохо верящая свалившемуся счастью, высыпала на крыльцо института. И тут из блистающей иномарки выпорхнула Маша.

Женский коллектив группа тут же начал активно завидовать ей.

Имеются список Машиных однокурсниц и список того, сколько раз каждая из них позавидовала.

Определить общее количество завидок и самую завидущую подругу.

День открытых дверей

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

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

Определить общее количество побывавших в институте школьников, а также имена студентов, побеседовавших с наибольшим и наименьшим количеством школьников.

Демократичный декан

Декан на факультете был очень современен и демократичен. Он четко следовал принципу: мухи – отдельно, а котлеты – отдельно. Выражалось это, например, в том, что даже после самого жестокого разноса на коллоквиуме он мог пригласить к себе в кабинет тех же студентов и за душевной беседой напоить их чаем.

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

 Уставший не менее самих студентов декан сорвался и без всякой задней мысли разразился тирадой в отношении тех, кто пьет чаи и не восстанавливает запасы сахара, и что никакой деканской зарплаты не хватить обслуживать весь факультет.

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

Буквально на следующий день в деканат потянулись студенты с кульками сахара различных размеров (поговаривают даже, что папаша одного студента подвез пару мешков).

Имеется список студентов с указанием количества принесенного ими сахара. Определить сколько сахара скопилось в деканате, и кто принес его больше всех.

12.Вперед! На Запад!

В связи с присоединением к Болонскому соглашению ректорат решил сделать в вузе все как у людей (то бишь в США). По части размера оплаты за обучение и дебилоподобности тестов мы их практически догнали. Остался один важный пункт – обеспечение спортивной славы вуза. Учитывая специфику гуманитарного факультета ректорат постановил, что из студенток данного факультета будут формироваться группы поддержки.

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

Дан список групп, их численность и количество студенток, согласившихся участвовать в группе поддержки. Определить не разгневается ли декан факультета, если по спущенной сверху разнарядке в группах поддержки должно участвовать не менее 40% студенток.



Поделиться с друзьями:

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.035 с.