Файл: Особенности и примеры использования массивов при разработке программ (Основные понятия ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 16.05.2023

Просмотров: 85

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

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

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

Цель курсовой работы: изучить основы программирования по теме «Особенности и примеры использования массивов при разработке программ».


Объект исследования: языки высокого уровня.

Предмет исследования: массивы.

Задачи курсовой работы:

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

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

Акулов О. А., Безручко В. Т., Брайан Керниган, Деннис Ритчи, Ершов М.Н., Комова О. С., Коломийцева С. В., Логинов В.И., Левитин А., Макарова Н. В., Павловская Т.А., Симонович С. В. и другие.

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

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

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

Рассмотрены в виде примеров случаи «выхода за пределы диапазона».

В третьей части предлагаются условия и решения примеров по исследуемой теме.

В конце каждой части работы делаются краткие выводы.

Глава 1. Основные понятия

1.1 Понятие алгоритма и программы

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

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

Рисунок 1 – Этапы решения задачи на ЭВМ


На первом этапе решают следующие задачи:

– разрабатывают общий алгоритм;

– разрабатывают детальный алгоритм;

– оценивают алгоритм.

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

Поскольку алгоритмы могут применяться к произвольным объектам (числам, буквам, словам, логическим выражениям и т.п.), в определении алгоритмического процесса используется специальный термин — «конструктивный объект», объединяющий в себе все эти возможные случаи.

Блок-схема – это графическое представление алгоритма[2]. Блок-схемы должны быть оформлены в соответствии с единой системой программной документации (ЕСПД). ЕСПД является набором государственных стандартов, который определяет, в том числе, и элементы блок-схем. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий и т.п.) соответствует геометрическая фигура, представленная в виде блока[3] .

Таблица графических элементов для описания алгоритма представлена в Приложении А [1].

Целью второго этапа (программирования) является написание программы, которая может быть выполнена на ЭВМ.

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

Точная запись алгоритма на языке программирования называется текстом программы.

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

  • Оформление некорректных входных данных.
  • Невозможность выполнять следующие действия (деление на 0, переполнение, вычисление корня из отрицательного числа и т.п.).
  • Различные аварийные случаи прерывания программы.

Текст программы должен быть структурирован в соответствии с рекомендациями по расположению операторов, входящих в составные, условные и циклические операторы[4].

Целью третьего этапа (тестирования и отладки) называют проверку правильности решения поставленной задачи с использованием компьютера.

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


Описание языков программирования

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

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

И из практики известно, что встречаются случаи, когда язык, называемый «низкоуровневым» на одной платформе, компилировался как «высокоуровневый» на другой или когда язык, который принято считать «высокоуровневым», может быть реализован аппаратно ( Лисп-машина, Java Optimized Processor).

Особенности условных уровней можно выразить в рисунке 2.

Рисунок 2 – Поколения языков программирования[6].

При делении языков по степени ориентации на возможности ЭВМ можно выделить 3 группы: машинные, машинно-зависимые и машинно-независимые языки.

Машинные языки и машинно-ориентированные языки относят к языкам низкого уровня [7].

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

Рисунок 3 – Структура машинного кода

Машинно-зависимые языки – это языки, средства которых существенно зависят от особенностей конкретной ЭВМ. К таким языкам относится Ассемблер (рис.4).

Рисунок 4 –Вид кода на ассемблере

Их характерные особенности заключаются в том, что:

  1. они компактны и у них большая скорость выполнения;
  2. они могут напрямую использовать конкретные аппаратные ресурсы;
  3. необходимо учитывать особенности функционирования данной ЭВМ;
  4. очень трудоемкий процесс составления программ;
  5. низкая скорость программирования;
  6. отсутствие возможности использования составленных программ, на компьютерах других типов[8].

AppleScript – машинно-зависимый язык (ориентирован на работу с ПЭВМ типа Макинтош фиры Apple ) близкий к естественному английскому язык программирования, предназначенный для автоматизации повторяющихся задач, преимущественно связанных с процессами компьютерной графики (в том числе - обработки результатов сканирования, ввода изображений, цветоделения, составления каталогов, передачи печатных документов в World Wide Web и др.).


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

Такие языки называют языками высокого уровня (ЯВУ). К ним можно отнести почти все используемые в данное время языки.

Языки высокого уровня также можно разделить на 3 группы, представленные в таблице 1.

Таблица 1. Классификация ЯВУ[9].

Языки

Предназначение

Процедурные (алгоритмические) (Basic, Pascal, Cи и др.)

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

Логические (Prolog, Lisp и др.)

предназначены для задачи с тем, чтобы решение следовало из составленного описания

Объектно-ориентированные (Visual Basic, C++, Java)

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

Этапы и характеристики создания языков программирования

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

Ада – язык, ориентированный на применение в системах реального времени и предназначенный для автоматизации задач управления процессами и/или устройствами, например, в бортовых (корабельных, авиационных и др.) ЭВМ. Разработан по инициативе министерства обороны США в 1980-х гг.

Бейсик - разработан в 1963 - 1964 гг. в Дартмутском колледже Томасом Куртом и Джоном Кемени. Первоначально предназначался для обучения программированию. Отличается простотой, легко усваивается начинающими программистами благодаря наличию упрощенных конструкций языка Фортран и встроенных математических функций, алгоритмов и операторов. Существует множество различных версий Бейсика, которые не полностью совместимы друг с другом. На IBM PC широко используются QBasic , Turbo Basic и Power Basic . В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных приложений для систем уровня предприятий.[10]