- •Вопросы экзамену для студентов 2 курса (4 семестр)
- •Особенности объектно-ориентированного программирования. Понятия: класс, объект, метод, событие.
- •Основные принципы объектно-ориентированного программирования. Характеристика абстрактного класса.
- •Достоинства и недостатки объектно-ориентированного программирования.
- •Характеристика системы программирования Delphi. Историчекские сведения о создании Delphi. Порядок создания приложения в Delphi.
- •Структура проекта в Delphi. Понятие компонента. Палитра компонент. Примеры работы с компонентами Label, Edit.
- •События и их обработка в Delphi (OnClick, OnFormShow, OnKeyPress). Примеры.
- •Операторы безусловного и условного переходов. Составные условия. Оператор выбора варианта (вывод на экран результатов в среде Delphi).
- •Операторы цикла while, repeat.Использование Listbox для вывода результата в среде Delphi. Сочетание циклов и команды ветвления.
- •Оператор цикла for. Вложенные циклы. Примеры реализации в среде Delphi.
- •Создание главного и выплывающего меню. Пример работы с видеофайлами.
- •Одномерные массивы в среде Delphi. Удаление элемента из одномерного массива, вставка элемента в заданную позицию. Использование компонента Stringgrid.
- •Преобразование матрицы в одномерный массив, пересылка одномерного массива в матрицу.
- •1.4 Пересылка элементов одномерного массива в матрицу:
- •Сортировка одномерного массива методом пузырьков.
- •Двумерные массивы в среде Delphi. Описание. Транспонирование матрицы без дополнительных массивов.
- •Двумерные массивы в среде Delphi. Перестановка строк. Вставка строки в матрицу.
- •Различные способы создания простейших графических образов в среде Delphi , вывод готовых фигур, рисунков. Примеры движения фигур по горизонтали, по вертикали, по окружности.
- •Символьные и строковые величины. Процедуры и функции обработки строковых величин, преобразование числовых и стоковых величин. Формирование массива слов из данного предложения.
- •Функции и процедуры пользователя (пример реализации в среде Delphi).
- •Множества. Операции (не менее 6 штук) работы с множеством. Определить количество гласных букв в заданном слове (пример реализации в среде Delphi)..
- •Procedure AssignFile(var f; FileName: String);присвоить имя
- •Использование возможностей среды Delphi для создания педагогических программных средств.
- •30. Обработка одномерного массива на языке c#. Примеры.
- •31. Обработка матрицы на языке c#. Примеры.
- •32.Символы и строки в c#. Примеры.
- •33.Создание структуры в c#. Пример.
- •34. Создание класса в c#. Пример.
- •35. Примеры создания графических изображений в c#.
- •37. Особенности создания простейшего web-браузера.
Использование возможностей среды Delphi для создания педагогических программных средств.
Развитие технологий программирования Логическое программирование.
Программирование — сравнительно молодая и быстро развивающаяся отрасль науки и техники. Опыт ведения реальных разработок и совершенствования имеющихся программных и технических средств постоянно переосмысливается, в результате чего появляются новые методы, методологии и технологии, которые, в свою очередь, служат основой более современных средств разработки программного обеспечения. Исследовать процессы создания новых технологий и определять их основные тенденции целесообразно, сопоставляя эти технологии с уровнем развития программирования и особенностями имеющихся в распоряжении программистов программных и аппаратных средств.
Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:
• указание последовательности выполнения технологических операций;
• перечисление условий, при которых выполняется та или иная операция;
• описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п. (рис. 1.1).
Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы, точнее модели, используемой на конкретном этапе разработки.
Различают технологии, используемые на конкретных этапах разработки или для решения отдельных задач этих этапов, и технологии, охватывающие несколько этапов или весь процесс разработки. В основе первых, как правило, лежит ограниченно применимый метод, позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый метод или подход,
определяющий совокупность методов, используемых на разных этапах разработки, или методологию.
Чтобы разобраться в существующих технологиях программирования и определить основные тенденции их развития, целесообразно рассматривать эти технологии в историческом контексте, выделяя основные этапы развития программирования, как науки.
Первый этап – «стихийное» программирование. Этот этап охватывает период от момента появления первых вычислительных машин (1946 г.) до середины 60-х годов XX в. В этот период практически отсутствовали сформулированные технологии, и программирование фактически было искусством.
Второй этап – структурный подход к программированию (60-70-е годы XX в.). Структурный подход к программированию представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения. В основе структурного подхода лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших (до 40 - 50 операторов) подпрограмм.
Третий этап – объектный подход к программированию (с середины 80-х до конца 90-х годов XX в.). Объектно-ориентированное программирование определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений
Четвертый этап – компонентный подход и CASE-технологии (с середины 90-х годов XX в. до нашего времени). Компонентный подход предполагает построение программного обеспечения из отдельных компонентов физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы.
Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
Самым известным языком логического программирования является Prolog.
Первым языком логического программирования был язык Planner (1989), в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.
Case-технология.
CASE (англ. Computer-Aided Software Engineering) — набор инструментов и методов программной инженерии для проектирования программного обеспечения, который помогает обеспечить высокое качество программ, отсутствие ошибок и простоту в обслуживании программных продуктов.[1] Также под CASE понимают совокупность методов и средств проектирования информационных систем с использованием CASE-инструментов[2].
Основной целью CASE-технологии является разграничение процесса проектирования программных продуктов от процесса кодирования и последующих этапов разработки, максимально автоматизировать процесс разработки. Для выполнения поставленной цели CASE-технологии используют два принципиально разных подхода к проектированию: структурный и объектно-ориентированный.
Структурный подход предполагает декомпозицию (разделение) поставленной задачи на функции, которые необходимо автоматизировать. В свою очередь, функции также разбиваются на подфункции, задачи, процедуры. В результате получается упорядоченная иерархия функций и передаваемой информацией между функциями.
Структурный подход подразумевает использование определенных общепринятых методологий при моделировании различных информационных систем:
SADT (Structured Analysis and Design Technique);
DFD (Data Flow Diagrams);
ERD (Entity-Relationship Diagrams).
Существует 3 основных типа моделей, используемых при структурном подходе:
Функциональные модели;
Информационные модели;
Динамические модели.
Основным инструментом объектно-ориентированного подхода является язык UML — унифицированный язык моделирования, который предназначен для визуализации и документирования объектно-ориентированных систем с ориентацией их на разработку программного обеспечения. Данный язык включает в себя систему различных диаграмм, на основании которых может быть построено представление о проектируемой системе.
Примерами программных средств, реализующих данный подход, являются:
Rational Rose;
ARIS.
Характеристика среды .NET Framework
NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.
Основная возможность платформы использовать для работы с различными языкми программирования и не зависит от этих языков.
Она позволяет существовать этим языкам, обеспечивать безопасность, переносимость программ и общую модель программирования для платформы Windows.CLR- основная часть .NET.Которая делает программы переносимыми. Функционирование системы CRL системы управления NET-кода.
Считается, что платформа .NET Framework явилась ответом компании Microsoft на набравшую к тому времени большую популярность платформу Java компании Sun Microsystems (ныне принадлежит Oracle).
Хотя .NET является патентованной технологией корпорации Microsoft и официально рассчитана на работу под операционными системами семейства Microsoft Windows, существуют независимые проекты (прежде всего это Mono иPortable.NET), позволяющие запускать программы .NET на некоторых других операционных системах.
, Разработка платформы началась в 1999 году[1]. Официально о разработке новой технологии было объявлено 13 января 2000 года, в день когда Билл Гейтсофициально объявил о передаче поста главы Microsoft Стиву Балмеру. В этот день руководством корпорации была озвучена новая стратегия компании, получившая название Next Generation Windows Services (NGWS, «новое поколение служб Windows»). Новая стратегия должна была объединить в единый набор существующие и будущие разработки Microsoft для предоставления возможности пользователям работать со Всемирной паутиной с беспроводных устройств, обладающих доступом вИнтернет, как со стационарных компьютеров[2].
Создание С# (история, предшественники, характеристика).
В июне 2000 года компания Microsoft анонсировала платформу .NET и новый язык программирования, получивший название C# (читается "Си шарп"). C# - это строго типизированный объектно-ориентированный язык, призванный обеспечить оптимальное сочетание удобства, простоты, выразительности и производительности. Платформа .NET основана на использовании общей среды выполнения кода CLR (Common Language Runtime), подобной виртуальной Java-машине, и набора библиотек, доступных для ряда языков программирования. Независимо от того, какой язык используется в процессе разработки, программа компилируется в промежуточный код IL (Intermediate Language). C# и .NET в некотором смысле являются "родственными душами": некоторые свойства языка специально разрабатывались, чтобы обеспечить комфортную работу в среде .NET, в то же время и некоторые свойства .NET специально закладывались для поддержки C#, хотя .NET нацелена на использование многих языков программирования. Язык C# разрабатывался с учетом опыта многих предшествующих ему языков программирования, но в первую очередь, конечно, C++ и Java. Родителями C# стали Anders Hejlsberg, получивший известность, как автор Delphi, и Scott Wiltamuth.
Среда разработки Microsoft Visual Studio. Общая характеристика.
Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработкипрограммного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать какконсольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Microsoft Silverlight.
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшегорефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).
Алфавит, синтаксис, семантика. Стандартные операции, математические функции в C#.
АЛФАВИТ С#
Алфавит (или множество литер) языка программирования С# составляют символы таблицы кодов ASCII. Алфавит С# включает:
• строчные и прописные буквы латинского алфавита (мы их будем называть буквами);
• цифры от 0 до 9 (назовем их буквами-цифрами);
• символ «_» (подчеркивание — также считается буквой);
• набор специальных символов: " { }, 1 [ ] + — %/ \; ' : ? < > = ! & # ~ *-
• прочие символы.
Алфавит С# служит для построения слов, которые в C++ называются лексемами. Различают пять типов лексем:
• идентификаторы;
• ключевые слова;
• знаки (символы) операций;
• литералы;
• разделители.
Почти все типы лексем (кроме ключевых слов и идентификаторов) имеют собственные правила словообразования, включая собственные подмножества алфавита.
Лексемы обособляются разделителями. Этой же цели служит множество пробельных символов, к числу которых относятся пробел, табуляция, символ новой строки и комментарии.
Имя метода |
Описание |
Пояснения |
Abs |
Модуль |
|x|, записывается как Abs(x) |
Acos |
Арккосинус |
Acos(double x), угол задается в радианах |
Asin |
Арксинус |
Asin(double x) |
Atan |
Арктангенс |
Atan(double x) |
Atan2 |
Арктангенс |
Atan2(double x,double y) –угол, тангенс которого есть результат деления y на х |
BigMul |
Произведение |
BigMul(int x,int y) |
Celling |
Округление до большего целого |
Celling(double x) |
Cos |
Косинус |
Cos(double x) |
Cosh |
Гиперболический косинус |
Cosh(double x) |
DivRem |
Деление и остаток |
DivRem(x,y,rem) |
E |
Число е |
2,71828182845905 |
Exp |
Экспонента |
Exp(x) |
Floor |
Округление до меньшего целого |
Floor(double x) |
IEEERemainder |
Остаток от деления |
IEEERemainder(double x, double y) |
Log |
Натуральный логарифм |
Log(x) |
Log10 |
Десятичный логарифм |
Log10(x) |
Max |
Максимум из 2-х чисел |
Max(x,y) |
Разработка линейных программ на языке C#.
Линейной называется программа, все операторы которой выполняются последовательно в том порядке, в котором они записаны. Простейшим примером линейной программы является программа расчета по заданной формуле. Она состоит из трех этапов: ввод исходных данных, вычисление по формуле и вывод результатов.
Простейший ФОРМАТИРОВАННЫЙ ввод-вывод
Любая программа при вводе исходных данных и выводе результатов взаимодействует с внешними устройствами. Совокупность стандартных устройств ввода и вывода, то есть клавиатуры и экрана, называется консолью.
В языке С#, как и во многих других, нет операторов ввода и вывода. Вместо них для обмена с внешними устройствами применяются стандартные объекты. Для работы с консолью в С# применяется класс Console, определенный в пространстве имен System. Методы этого класса Write и WriteLine уже использовались в программах.
using System;
namespace ConsoleApplication1
'{ class Classl
{ static void Main() {
int i = 3;
double у = 4.12;
decimal d = 600m;
string s = "Вася";
Console.WriteLine( "i = " + i ); //строка 1
Console.WriteLine( "y = {0} \n d = {1}", y. d );
Console.WriteLine( "s = " + s );} }}
Преобразование в строку определено во всех стандартных классах C# - для этого служит метод ToString(). Вызывается он явным способом:
Console.WriteLine( "i = " + i.ToString() ); //что аналогично строке 1 в примере.
В строке :
Console.WriteLine( "y = {0} \n d = {1}", y. d );
применяется перегруженный метод WriteLine(), имеющий параметры в фигурных скобках, а также управляющие последовательности. Параметры нумеруются с нуля, перед выводом они заменяются значениями переменных в списке вывода. Например, нулевой параметр – y, первый – d и т.д.
Реализация ветвящихся алгоритмов на языке C#.
A=covert.toint32(textbox1.text)
b=covert.toint32(textbox2.text)
c=covert.toint32(textbox3.text)
if (A>b) {max=a;} else {max=b;} if (c>max){max=c;} textbox4.clear; textbox4= “”;
Реализация циклических алгоритмов на языке C#.
Sum=0; f=1;
For(i=1;i<=10;i++)
{sum=sum+I;
F=f*I;} label1.text= sum.tostrig(); label2.f.tostring();
