46760 (665624), страница 2

Файл №665624 46760 (Алгоритмы и структуры данных. Программирование в Cи) 2 страница46760 (665624) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

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

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

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

1.6 Развитие программного обеспечения

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

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

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

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

1.7 Введение в структуры данных

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

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

Помимо переменных автор упоминает и о константах, значения которых могут непосредственно вноситься в структуру программы.

Каждая переменная характеризуется своим именем и значением. Особое внимание Плате обращает на различие между распределением значений и уравнением в математическом смысле. Таким образом, математическое уравнение X = X + 1 не имеет решения, а в языке программирования эта запись значит, что “прибавляют 1 к значению X и сохраняют результат снова в X " или короче "Повышают X на 1".

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

Далее автор подробно останавливается на стандартных типах данных, которые используются во всех языках программирования:

  • Boolean – логический тип (принимает значения True или False).

  • Integer – тип целых чисел.

  • Character – символьный тип.

  • Real – тип действительных чисел.

Также он рассматривает структурные типы данных:

  • Feld (Array) - Поле (массив). Переменные величины этого типа содержат множество элементов одинакового стандартного типа.

  • Record (Structure) – Записи (связи). Содержат элементы различного типа и имеют каждый свое имя.

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

1.9 Обеспечение высокого качества разработки программ

Профессор определяет данное в заголовке понятие так:

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

Плате выделяет следующие признаки ПО, которые определяют его качество:

  1. Функциональность
  2. Надежность
  3. Пригодность к употреблению
  4. Эффективность
  5. Изменчивость
  6. Переносимость

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

  1. Тестирование ПО

    1. Тест «письменного стола» – в соответствии с поставленной задачей необходимо выбрать входные данные и рациональный ход решения.

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

    3. Тест «белого ящика» – он предполагает, чтобы входные данные были подобраны так, чтобы алгоритм выполнился хотя бы один раз.

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

  3. Тестовое планирование и тестовая документация. Так как достаточно часто тестирование проходит непродуманно и внепланово, то необходимо составлять план тестов и протоколировать ход тестирования, чтобы исключить появление других ошибок в программе.

Таким образом, разработка ПО включает в себя следующие этапы:

    1. Интуитивная разработка алгоритмов.

    2. Формализация алгоритма, математическое описание.

    3. Изображение алгоритмов структограммой. Разделение на модули и подпрограммы.

    4. Разрабатывают алгоритмов с помощью языка программирования высокого уровня.

    5. Кодирование.

2. Структура программы

Прежде чем приступать к программированию, автор обосновывает выбор в качестве изучаемого языка программирования - языка С.

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

  • богатство операторов,

  • относительная машинная независимость,

  • возможная высокая мобильность,

  • небольшой языковой объем (только 32 ключевых слова),

  • много синтаксических возможностей в комбинации с упрощенными стилями.

2.1 Основные элементы программы на C

В этой главе автор знакомит нас с основными синтаксическими единицами языка С:

  • Набор символов С-программы – это буквы, цифры, знаки, а также некоторые специфические элементы (пробел, предупреждение, возврат, табуляция)

  • Разделители – пробелы, табуляторы, конец строки, перевод страницы, комментарии служат для разделения основных элементов языка

  • Директива компилятора #include – подключает к компилятору файлы.

  • Функции - из них состоит вся программа. Для каждой программы главной является функция Main, которая начинается с "{" и оканчивается "}".

  • Стандартные библиотеки - стандартные функции предоставляются стандартными библиотеками.

  • Ключевые слова имеют предопределенное значение, которое не может изменяться.

  • Идентификаторы и имена – все объекты C имеют идентификаторы, которые состоят из последовательности букв, цифр или подчеркивания.

  • Escape-последовательности – с помощью них записываются непечатаемые символы через "\".

2.2 Условные операторы

Автор знакомит нас с первой нелинейной структурой. Структура If…Else означает ветвление с переходом вперед. Здесь возможны два различных пути решения в зависимости от условия. Существует два вида этой структуры:

  • односторонний выбор - выполняет действие только на одном из путей разветвления и соединяет оба пути в один, т.е. if (Условное выражение) Инструкция;

  • двусторонний выбор – выполняет действия на каждом пути разветвления и также соединяет оба пути, т.е. if (Условное выражение) Инструкция1; else Инструкция2;

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

Условное выражение ? Выражение1: Выражение2

Выражение с условием не может стоять в одиночестве, как в предыдущем ветвлении, а стоит внутри выражения.

Третья условная структура – многократный выбор switch..case. Автор показывает, что в этой структуре имеются больше чем 2 пути выбора, которые также соединяются. Для каждого условия обязательно существует своя инструкция. Для всех оставшихся случаев выполняется какое-то действие. Структура switch .. case имеет такой вид:

switch (Выражение)

{

case W1: Инструкция 1;

...;

case Wn: Инструкция n;

default: Инструкция (по умолчанию);

}

2.3 Циклические операторы

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

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

while (Условные выражения) Инструкции;

Следующая циклическая структура – повторение for представляет самую универсальную форму повторения. Команда имеет следующий вид:

for (Выражение 1; Выражение 2; Выражение 3)Команда;

где Выражение 1 – начальное значение выражения, Выражение 2 – условное выражение, которое должно выполниться для выполнения команд, Выражение 3 – изменяет счетную величину для продолжения повторения.

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

Do

Инструкция;

while (Условное выражение);

Таким образом, в данной главе автором были разобраны различные типы трех структурных единиц любого языка программирования – линейной, разветвляющейся и циклической.

3. Функции

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

3.1 Понятие

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

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

Тип имя функции (список параметров)

{

Соглашения

Инструкции

return (значение функции)

}

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

int quad (int x)

{

return (x * x);

}

содержит параметр с именем x типа Integer(целый).

При вызове функции формальные параметры заменяются актуальными параметрами, в качестве которых могут выступать определенные значения, константы или переменные величины. Например: y = quad (25); При этом тип актуального параметра должен обязательно соответствовать типу формального параметра.

3.2 Готовность и срок службы имен

Особенно автор обращает внимание на имена переменных, констант, функций в программе. В программе существуют две позиции на значение имен:

  1. Готовность (Доступность). Этим свойством определяются места программы, в которых можно получить доступ к тем или иным объектам (переменным величинам или функциям). Здесь существует 4 основных программных области – программа, модуль, функция, блок. Объекты, которые определяются в самой программе или модуле являются глобальными объектами, а если определяются в пределах блока или функции, то являются локальными объектами.

  2. Срок службы (Жизненный цикл). Здесь говорится о длительности упорядочивания ячеек памяти. Различают полное время распространения (статическая продолжительность) и время выполнения блока, в котором определялся объект.

Эти правила дают ряд преимуществ при написании программ:

    • Переменная получает определенное значение в пределах функции.

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

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

    • Если имена глобальных и локальных переменных совпадают, то в данной функции используются значения локальных переменных. Таким образом, необходимо избегать написания одинаковых имен переменных.

3.3 Рекурсия и итерация

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

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

Характеристики

Тип файла
Документ
Размер
1,73 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6451
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее