Файл: Разработка программ с графическим интерфейсом на C#.pdf
Добавлен: 04.04.2023
Просмотров: 974
Скачиваний: 15
СОДЕРЖАНИЕ
1. Введение в языки программирования высокого уровня
1.1. Основные понятия и определения
1.2. Классификация языков программирования
1.4. Развитие среды программирования MS Visual Studio
2. Создание графических приложений в языках программирования высокого уровня
2.1. Принципы разработки пользовательского интерфейса
2.2. Этапы проектирования пользовательского интерфейса
2.3. Язык программирования высокого уровня C#
2.4. Использование языка C# при разработке графического интерфейса
ВВЕДЕНИЕ
Актуальность темы курсовой работы заключается в том, что современное общество каждый день накапливает и передает информацию с помощью разнообразных «гаджетов», облачных технологий. Объемы информации действительно колоссальны, а, чтобы успешно управлять потоками этой информации необходимо разрабатывать современные инструменты, которые позволят производить все необходимые операции с наименьшими физическими затратами в короткие промежутки времени. Программное обеспечение должно обладать минимальными требованиями к подготовке конечных пользователей – низкий порог вхождения. Это в свою очередь позволяет значительно повысить производительность труда.
Для этого разрабатываются новые и развиваются существующие средства разработки – языки программирования. Языки программирования позволяют создавать программы системного или прикладного уровня с различными видами интерфейсов.
Неудачные решения при проектировании интерфейсов сопровождаются частыми ошибками, психологическими стрессами и общим дискомфортом при работе с программой. Поэтому правильное спроектированный интерфейс пользователя позволяет эффективно взаимодействовать с компьютером и получать все необходимые данные с меньшими физическими и умственными затратами.
Объектом исследования курсовой работы являются языки программирования высокого уровня, а предметом исследования – разработка графического приложения.
Целью курсовой работы является изучение языков программирования высокого уровня и разработка приложения для оснастки СУБД MS SQL Server графическим интерфейсом.
Для достижения поставленной цели в курсовой работе необходимо решить следующие задачи:
1) дать определения основным понятиям – язык программирования, алгоритм, транслятор, компилятор, интерпретатор, система программирования, а также базам данных, системе управления базами данных;
2) изучить классификацию языков программирования по типу решаемых задач, способу получения результата, степени детализации алгоритма получения результата, степени ориентации на специфические возможности ЭВМ;
3) изучить типы данных;
4) изучить историю развития среды программирования MS Visual Studio;
5) рассмотреть основные этапы проектирования графического интерфейса;
6) разработать приложение для оснастки СУБД MS SQL Server графическим интерфейсом.
При написании курсовой работы использовались научные труды следующих авторов: Былкин В.Д [1], Ананченко И. В. [2], Андрианова А.А [3], Баканов А.С. [4], Бураков П.В [5] и другие.
1. Введение в языки программирования высокого уровня
1.1. Основные понятия и определения
Одним из основных понятий в программировании является понятие алгоритм.
Термин «алгоритм» (algorithm) происходит от имени математика Мохаммеда аль Хорезми (около 825 г). Именно он сформулировал правила выполнения четырех арифметических операций. В литературе даются различные определения термину алгоритм.
Алгоритм - система формальных правил (команд), однозначно определяющих процесс решения задачи.
Алгоритм - конечная последовательность общепонятных предложений, формальное, не требующее проявления человеческой изобретательности, исполнение которых позволяет за конечное время получить решение некоторой задачи из некоторого класса задач. [1]
Алгоритм записывается в какой-либо форме (формальный язык), что позволяет исключить неоднозначность толкования. Алгоритм выполняет исполнитель, то есть человек, группа людей, компьютер, робот, станок или иное автоматическое устройство. Исполнитель должен выполнять все команды, из которых состоит алгоритм, "не раздумывая". Вся совокупность таких команд называется системой команд исполнителя.
Алгоритм, записанный на формальном языке называется программой. Часто понятия алгоритма и программы можно называть синонимами, и единственное различие между ними заключается в том, что алгоритм является основной идеей построения, а вот программа реализует алгоритм на конкретном формальном языке. Таким образом, использование алгоритма позволяет решать задачу формально, механически исполняя команды алгоритма в указанной последовательности. [9]
Изначально программирование строилось на записи программ в виде машинных команд. Это было весьма трудоемко и был разработан язык Ассемблера, позволивший облегчить эту работу. Ассемблер позволяет записывать машинные команды в символическом виде. Язык Ассемблера зависит от системы команд конкретного компьютера, и весьма удобен, чтобы решать небольшие задачи программирования, требующих максимальной скорости выполнения. Но крупные проекты, на языке Ассемблера, разрабатывать трудно. Главная причина этому – привязка программы, написанной на Ассемблере, к конкретной архитектуре, а перенос на другие рабочие станции невозможен, в результате чего программы переписывали заново даже если модернизировали этот же компьютер. [6]
Как только появились компьютеры, появилась необходимость разработки программ различного предназначения, для чего и были разработаны языки программирования высокого уровня, т.е. те языки, которые, в отличие от Ассемблера, не зависят от конкретной архитектуры. Чтобы выполнить программу, написанную на языке программирования высокого уровня, ее необходимо перевести на язык машинных команд. Для выполнения этой функции разработаны специальные программы, называемые трансляторами или компиляторами. После процесса трансляции программа можется выполняться на конкретном компьютере. Еще одним способом перевода является интерпретатор – программа, выполняющая команды на промежуточном языке, максимально приближенном к машинному языку. Другими словами, интерпретатор производит пооператорную обработку команд с дальнейшим выполнением, а компилятор преобразует в машинные коды, записывает в память и только после этого выполняет. [13]
В отличие от интерпретаторов, компиляторы достаточно быстры, однако есть и недостаток – они громоздки.
Основные задачи транслятора:
- анализ транслируемой программы и проверка ее на наличие синтаксических ошибок;
- создание программы на машинном языке;
- распределение памяти (назначение адресов) между переменными, массивами, константами и иными объектами.
Каждый язык программирование обладает своими правилами (лексическими, синтаксическими и семантическими). Эти правила необходимо соблюдать при написании компьютерной программы.
Синтаксис языка программирования представляет собой совокупность правил, определяющих структуру программы. Синтаксис определяет такие понятия, как: переменная, константа, оператор, функция, выражение.
Переменная – это некоторая область памяти компьютера, занимающая один, два или более байтов, которой присвоено имя (иначе называемое идентификатором). Этот идентификатор можно использовать для получения или изменения данных. Переменные, которые объявлены внутри функции, называются внутренними переменными или локальными. Эти переменные могут использоваться только в тех функциях, где они объявлены, и никакие другие функции доступа к ним не имеют.
Константа – величина, которая никогда не меняется.
Оператор – это символьное обозначение действия для выполнения математических или логических команд.
Функция – это логически самостоятельная именованная часть программы, в которую может передаваться любое количество значений переменных аргументов, а возвращаемое функцией значение – только одно.[15]
Выражение – это комбинация переменных, операторов, констант и функций.
Машинный язык – внутренний язык ЭВМ, который представляет собой систему команд, используемую в данной ЭВМ вместе с принятыми в ней способами кодирования и адресации. Данный язык понятен машине, но не для человек, поэтому для решения задач программирования используют алгоритмические языки. Они не зависят от конкретной ЭВМ. Для перевода программы с алгоритмического языка в машинный используются специальные программы – трансляторы.
Можно сказать, что все описанное выше это элементы системы программирования. Другими словами, система программирования – это совокупность инструментов, позволяющих разрабатывать программы на одном из языков программирования. Сюда входят трансляторы, текстовый редактор кода, отладчик для устранения ошибок и много других служб. На современном этапе развития, абсолютно все программные комплексы, будь то системное программное обеспечение или прикладное, разрабатываются с помощью систем программирования. [16]
Так как практическая часть курсовой проект подразумевает работу с базами данных, то стоит дать основные определения касаемо баз данных.
Базой данных (БД) называется организованная в соответствии с определенными правилами и поддерживаемая в памяти компьютера совокупность сведений об объектах, процессах, событиях или явлениях, относящихся к некоторой предметной области, теме или задаче. Она организована таким образом, чтобы обеспечить информационные потребности пользователей, а также удобное хранение этой совокупности данных, как в целом, так и любой ее части.
Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного вида. Каждая строка таблицы содержит данные об одном объекте (например, автомобиле, компьютере, клиенте), а столбцы таблицы содержат различные характеристики этих объектов – атрибуты (например, номер двигателя, марка процессора, телефоны фирм или клиентов). Строки таблицы называются записями. Все записи таблицы имеют одинаковую структуру – они состоят из полей (элементов данных), в которых хранятся атрибуты объекта (рис. 1). Каждое поле записи содержит одну характеристику объекта и представляет собой заданный тип данных (например, текстовая строка, число, дата). Для идентификации записей используется первичный ключ. Первичным ключом называется набор полей таблицы, комбинация значений которых однозначно определяет каждую запись в таблице. [11]
Система управления базами данных (СУБД) состоит из языковых и программных средств, предназначенных для создания, ведения и эксплуатации баз данных.
Банк данных (БнД) − совокупность баз данных и системы управления базами данных.
Модель данных − формализованное описание, отражающее состав и типы данных, а также взаимосвязь между ними. [10]
1.2. Классификация языков программирования
Языки программирования можно классифицировать:
1. По степени ориентации на специфические возможности ЭВМ:
- машинно-зависимые (выполняются на ЭВМ определенного типа, используются в системном программировании, сюда относят машинные языки, ассемблеры, автокоды);
- машинно-независимые (после трансляции на машинный язык, программа становится машинно-зависимой, а также переносимой на ЭВМ другого типа).
2. По степени детализации алгоритма получения результата:
- языки низкого уровня (позволяют записывать инструкции для компьютера на аппаратном уровне в виде символического кодирования – автокод, ассемблер);
- языки высокого уровня (задачи описываются в наглядной форме через систему обозначений, понятную человеку, благодаря чему программу легко понять и отладить – Фортран, Паскаль, Бейсик, Си);
- языки сверхвысокого уровня (программист создает абстрактную программу, а из нее выводится конкретная программа – Алгол-86).
3. По степени ориентации на решение определенного класса задач:
- проблемно-ориентированные (для решения какого-то конкретного типа задачи);
- универсальные (для решения широкого спектра задач).
4. По возможности дополнения новыми типами данных и операциями:
- расширяемые (возможно подключение новых библиотек);
- нерасширяемые.
5. По возможности управления реальными объектами и процессами:
- языки систем реального времени (такая система должна реагировать на сигналы в пределах определенного периода);
- языки систем условного времени.
6. По способу получения результата:
- процедурные (программист создает процедуру получения результата по предварительно известным исходным данным);
- непроцедурные (программист не описывает процедуру получения результата, а лишь задает отношения между объектами).
7. По типу решаемых задач:
- языки системного программирования (позволяют разработать программы, которые управляют аппаратными компонентами системы);