Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Перспективы развития языков и систем программирования.

Читайте также:
  1. DSM — система классификации Американской психиатрической ассоциации
  2. EIS и DSS системы.
  3. ERP-система
  4. GRID- системи
  5. I Объективные характеристики (потребление материальных благ; продолжительность жизни; система образования; время труда; показатель преступности);
  6. I этап развития речи – подготовительный (с момента рождения до одного года).
  7. I. Закон Костромской области о прогнозировании, программе социально-экономического развития Костромской области и областных целевых программах
  8. I. Общеметодологические (общесистемные) принципы.
  9. I. Судебно-следственная практика формирования системы доказательств по уголовному делу (постановка проблемы).
  10. I.1. Инновационный подход к системе освоения ценностей физической культуры и спорта.

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

1. Перемещение акцентов от программирования отдельных частей к программированию более крупных компонентов.
2. Развитие и совершенствование языков программирования высшего уровня.
Большинство современных коммерческих программных систем существенно сложнее и объемнее их предшественников.
Были разработаны методы декомпозиции, абстрагирования и построения иерархии. Также были созданы более выразительные языки программирования и произошел переход от процедурных языков к декларативным.

Условно все языки программирования можно разбить на 5 поколений:
1. Fortran 1, Algol 58.
2. Fortran 2, Algol 60, Cabol, Lisp.
3. PL 1 (возник при сращивании трех языков: Fortran, Algol, Cabol), Algol 68, C, Pascal, Simyla.
4. C++ (сращивание С и Simyla), Delphi, Visual Basic, Turbo Pascal.
5. Java, Java Scrip, HTML, VRML.


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


При создании больших коммерческих проектов обычно используют С++, который сочетает в себе низкоуровневые возможности системного программирования с развитыми средствами объектно-ориентированного подхода (полиморфизм, наследование, виртуальные функции).
Компиляторы современных языков программирования входят в интегральные схемы разработчика (Microsoft Visual Studio, Borland C++ Development Suite).
Пятое поколение языков программирования тесно связано с развитием Internet и Web-технологий. Идея www базируется на языке HTML (язык описания гипертекста) и протоколе передачи гипертекста HTTP. HTML - язык внешнего представления web-страниц, не является языком
программирования.
В 1995 г. создан язык Java - язык программирования для сети Internet.
Это объектно-ориентированный язык, архитектурно нейтральный,
переносимый, высокопроизводительный, многопоточный, динамический.
Java по семантике близок с С++, но многие инструменты С++ удалены из него, а именно: перегрузка операторов, множественное наследование, автоматическое согласование типов данных.
Java забрал управление памятью из рук программиста.
В языке Java имеется встроенная библиотека классов для доступа в Internet.
Компилятор Java читает исходные файлы и превращает их в байткод, который является платформонезависимым.
Для выполнения программы на языке Java нужно запустить либо автоматический интерпретатор Java, либо встроенный web-браузер. Интерпретатор считывает байткод и выполняет машинные инструкции той платформы, где выполняется сам.
Java Scrip является компромиссом между HTML и Java. В отличие от Java, Java Scrip обрабатывает все события, происходящие в браузере, и тесно взаимодействует с ним. Java Scrip не компилированный язык, он просто встраивается в HTML-документ.
Язык HTML описывает двумерное представление операционных ресурсов, а VRML - трехмерное.

  1. Алгоритм нахождения количества отрицательных чисел.
9. package src;10. 11. import java.util.ArrayList;12. 13. 14. public class SvinkaPeppa1 {15. ArrayList <SvinkaPeppa1> lst = new ArrayList <SvinkaPeppa1>();16. for (int j1=0; j<n; j++)17. lst.Add(1 + Math. random(100));18. for (int i=0; i<n-1; i++)19. for (int j=i+1; j<n; j++)20. if (A[i]<A[j]);21. 22. 23. }24. }

 

  1. Структура программы на языке объектно-ориентированного программирования.
  2. Delphi (Де́лфи, произносится /ˈdɛlˌfi:/[1]) — императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal[2]. Начиная со среды разработки Delphi 7.0[3], в официальных документах Borland стала использовать название Delphi для обозначения языкаObject Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы.NET) развития языков программирования: появилисьclass helpers, перегрузки операторов и другое.
  1. Понятия составной оператор.
  1. Последовательность произвольных операторов, заключенная в операторные скобки - begin... end (зарезервированные слова) являются составным оператором. Составной оператор имеет большое значение в языке Delphi, он позволяет писать программы в современной технологии структурного программирования, позволяя исключить оператор GOTO. Если сказать общедоступно, то это те же скобки используемые в математики при записи уравнений.
  2. Составной оператор может иметь произвольную глубину вложенности:
  3. begin
  4. begin
  5. ..........
  6. begin
  7. ...........
  8. ...........
  9. end;
  10. ...........
  11. end;
  12. ............
  13. end;
  14. Для лучшего просмотра кода желательно, чтобы каждый, отдельный составной оператор вместе с набором операторов входящих в скобки - begin... end, располагался равноудалено от левого края
  1. Алгоритм нахождения количества положительных чисел.
package src; import java.util.ArrayList; public class SvinkaPeppa1 { ArrayList <SvinkaPeppa1> lst = new ArrayList <SvinkaPeppa1>(); for (int j1=0; j<n; j++) lst.Add(1 + Math. random(100)); for (int i=0; i<n-1; i++) for (int j=i+1; j<n; j++) if (A[i]<A[j]); }}

 

 

  1. Перечислите свойства компонентыPaintBox.
  2. Компонент delphi PaintBox это область рисования. Компонент визуальный и используется для создания на форме некоторой области, для рисовать т.е. назначение этого компонента дать простое окно с канвой для рисования изображений. Основных свойств, кроме Canvas, объект не имеет. В этом компоненте имеются следующие свойства для рисования:
Canvas канва для рисования;
Font для выбора шрифта на поверхности рисования;
Pen для установки параметров пера;
Brush для установки параметров кисти;
Picture для выбора готового изображения.
  1. А само рисование осуществляется в обработчике события OnPaint.
  2. Свойство Canvas доступно при выполнении приложения, поэтому рисунки являются динамическими. Созданный рисунок можно сохранить в графическом файле или вывести на принтер. Рисунки, создаваемые при выполнении приложения, могут быть как неподвижными, так и анимационными, т.е. изменяющими размеры, форму, расположение.
    Для рисования на Canvas геометрических фигур используются методы, приведенные в таблице.
Наименование Рисование Наименование Рисование
Arc дуги LineTo Линии
Chord Хорды эллипса Polygon Заполненного прямоугольника
Elipse эллипса PolyLine Незаполненного многоугольника
FillRect Заполненного прямоугольника Rectangle Заполненного прямоугольника
FrameRect Незаполненного прямоугольника RoundRect Заполненного прямоугольника со скругленными углами
  1. рисунок 1
  2. Например, следующий обработчик создаст окно, показанное на рис.1.:
procedure TForm1.PaintBox1Paint(Sender: TObject); begin PaintBox1.Canvas.Pen.Color:=clRed; PaintBox1.Canvas.Pen.Width:=5; PaintBox1.Canvas.Ellipse (5,5,PaintBox1.Width-5,PaintBox1.Height-5); end;
  1. Свойства компоненты Bevel.
  2. Компонент Delphi Bevel предназначен в приложении для простого обведения чего-либо рамкой. Это прозрачная рамка но если вы поставите её поверх строки ввода, то эта строка будет видна сквозь Bevel, а вот доступ к ней получить будет невозможно. В Bevel два важных свойства определяющие внешний вид компонента это
    1)Shape, может принимать значение:
    bsBottomLine — линия снизу,
    bsFrame — рамка,
    bsBox -прямоугольник,
    bsLeftLine — линия слева,
    bsTopLine — линия сверху.
    bsRightLine — линия справа
    bsSpacer — область,используемая для разметки, видна только во время проектирования
  3. 2)Style(свойство задает внешний вид фаски) может принимать значения:
    bsLowerd вогнутая фаска по отношению к поверхности на которой размещен компонент,
    bsRaised выпуклая фаска по отношению к поверхности на которой размещен компонент.
  4. рис 1
  5. На рисунке 1 показаны примеры оформления компонента с помощью свойств Shape и Style. Более подробно узнать можно только если самостоятельно поэксперементируете с этими свойствами.
  1. Понятия идентификаторов, констант, операторов. Приведите пример.
  2. Идентификаторы в языке программирования C-51 используются для определения имени переменной, подпрограммы, символической константы или метки оператора. Длина идентификатора может достигать 255 символов, но транслятор различает идентификаторы только по первым 31 символам.
  3. Возникает вопрос - а зачем тогда нужен такой длинный идентификатор? Ответ: для создания "говорящего" имени подпрограммы или переменной, которое может состоять из нескольких слов. Например:
  4. ProchitatPort(); //Прочитать порт
  5. VklychitIndikator(); //Включить индикатор
  6. Целочисленные константы могут быть записаны как восьмеричные, десятичные или шестнадцатеричные числа в зависимости от того, какая система счисления удобнее для представления константы. Константа может быть представлена в десятичной, восьмеричной или шестнадцатеричной форме. При выполнении вычислений обычно пользуются десятичными константами. При работе с ножками микроконтроллера или передаче двоичных данных удобнее пользоваться двоичными числами или их более короткой формой записи - восьмеричными или шестнадцатеричными числами.
  7. Десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не может быть нулем (иначе число будет воспринято как восьмеричное).
  1. Структура программы на языке объектно-ориентированного программирования.
  2. Delphi (Де́лфи, произносится /ˈdɛlˌfi:/[1]) — императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal[2]. Начиная со среды разработки Delphi 7.0[3], в официальных документах Borland стала использовать название Delphi для обозначения языкаObject Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы.NET) развития языков программирования: появилисьclass helpers, перегрузки операторов и другое.
  1. Фреймы в Delphi.
Разведение программистов, к сожалению, связано с большими первоначальными затратами. Вам понадобятся: - персональный компьютер с процессором не ниже Реntium II; - стол и стул; - пепельница; - большое количество сарделек и пиво для прикармливания; - кофейная чашечка вместимостью 0,5 л.

 

'Frames' - на мой взгляд чрезвычайно полезная компонента. Если откинуть условности, то это форма в форме. Грубо говоря, можно наделать таких форм и менять, например, функциональность и вид Вашей программы в зависимости от определенных условий(Это не то-же, что менять кожу - не перепутайте.).

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

Вообщем так. Через меню 'File/New/Frame' создаем фрейм - появляется до боли знакомое окно форы, с разве что немного другими свойствами. Далее можно делать на нем все, что угодно. Однако, не забываем, что пока создан всего сам фрейм и он у нас ни к чему не привязан. И тут нужен второй шаг - теперь берем компоненту и ложем ее на форму Вашего основного проекта. Сразу появляется окно выбора фрейма- 'Select frame to insert'. Причем, если Вы наделали, несколько фреймов, то, соответственно, Вам их все и предложат.

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

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

Еще одна полезность этой компонеты в том, что она позволяет организовать скролл(как вертикальный, так и горизонтальный) для целого набора инструментов. Т.е. если Вам необходимо разместить на форме очень много всего, а места не хватает, то фрейм - идеальное решение. Примером может служить настройка сортировщика писем в известной почтовой программе 'TheBat'

  1. Циклы с параметром и циклы с заданным числом повторений. Приведите пример.
  2. for <параметр цикла>:= <S1> to <S2> do <оператор>;
    for <параметр цикла>:= <S1> downto <S2> do <оператор>;
    где S1, S2 – выражения, определяющие соответственно начальное и конечное значения параметра цикла. Если значение параметра цикла возрастает, то есть S2>S1, используется зарезервированное слово to.
    Если значение параметра цикла убывает, то есть S2<S1, используется зарезервированное слово downto.
  3. Оператор повтора for состоит из заголовка и тела цикла:
    for... do – это заголовок цикла (он определяет диапазон изменения значений параметра цикла и одновременно число повторений оператора, содержащегося в теле цикла);
    <оператор> - тело цикла.
  4. Оператор for обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все значения параметра цикла от начального до конечного. Шаг изменения параметра цикла при использовании оператора for – единица.
  5. Следует подчеркнуть, что цикл с заданным числом повторений представляет собой соединение линейной структуры (начало цикла), структуры цикл-ПОКА (условие в нем заменено на противоположное) и снова линейной (последовательной) структуры в теле цикла.
  6. Прочитать этот алгоритм можно следующим образом: «Меняя параметр от начального значения до конечного значения, повторять тело цикла».
  7. Алгоритм, приведенный на рис. 16, принято называть развернутой схемой цикла с заданным числом повторений. Такая схема удобна для анализа алгоритма и поиска ошибок. Однако при написании алгоритма можно использовать и компактную запись. В псевдокодах она выглядит так:
  8. Цикл по параметр от начальное значение
  9. до конечное значение шаг приращение;
  10. операторы тела цикла;
  11. Конец-цикла.
  12. Необходимо подчеркнуть, что развернутая и компактная записи после реализации в машине дают один и тот же результат. Компактная запись менее громоздка за счет того, что в ней не задаются в явном виде связи между отдельными элементами структуры.
41. #include <stdio.h>42. 43. int main(void) {44. int a1, an, x, sum = 0;45. unsigned n;46. scanf("%u%d%d%d", &n, &a1, &an, &x);47. for (an = (an - a1) / n; a1 < x; a1 += an)48. if (a1 & 1)49. sum += a1;50. printf("%d", sum);51. return 0;52. }

 

 

  1. Простые типы данных.

Как правило, к простым относятся числовые типы:

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

  1. Особенности работы с файлами.
  2. Как известно, файлы имеют различные форматы и к ним применяются различные программы для обработки. Например, файлы рисунков BMP, текстовые файлы TXT и т.п. Файлы имеют различные имена и определенное расширение, имеющее в среде MS-DOS максимально три символа. Если у файла расширение RAR, то пользователь и операционная система знает, что это архиватор, причем windosw для обработки этого файла применяет средства, указанные в специальном разделе реестра.
  3. Копирование файлов
  4. Для копирования файлов применяется функция CopyFile. Формат ее такой:
  5. CopyFile(Исходный_файл,Записуемый_файл,Флаг_перезаписи);
  6. где: Исходный_файл – полный путь и название файла, который копируется;
  7. Записуемый_файл – полный путь и название файла, куда копируется исходный файл;
  8. Флаг_перезаписи – будет или нет перезаписан файл, если таковой уже существует (true - не будет, false - будет перезаписан).
  9. CopyFile является функцией, которая возвращает флаг успешной или нет операции копирования.
  10. Например, следующая строка:
  11. if not CopyFile('c:\command.com','c:\1.com',true) then ShowMessage('Ошибка копирования');
  12. скопирует файл command.com в файл 1.com только в том случае, если последнего нет, в противном случае будет выдаваться сообщение об ошибке копирования.
  13. Перемещение файлов
  14. Для перемещения файлов применяется функция MoveFile. Она имеет следующий формат:
  15. MoveFile(Исходный_файл,Записуемый_файл);
  16. Ее параметры аналогичны вышерассмотренной команде за исключением отсутствия флага перезаписи.
  17. Пример:
  18. if not MoveFile('c:\1.com','c:\2.com') then ShowMessage('Ошибка перемещения');
  19. Переименование файлов
  20. Функция RenameFile
  21. if not RenameFile('c:\2.com','c:\3.com') then ShowMessage('Ошибка переименования');
  22. У всех вышесказанных командах параметры исходного и конечного файла имеет тип PChar. Это строковый тип с завершающимся нулем. Возможно, вы раньше слышали о таком формате строковых данных. В такую переменную можно занести строку очень большой длины. Ее размер ограничивается наличием нулевого байта в конце. Теоретически такая переменная может иметь бесконечный размер. На практике она ограничивается размерами выделяемой памяти для программы (2Гб).
  23. Преобразование обычной строковой переменной, типа String в PChar производится функцией:
  24. PChar(Строковая_переменная).
  25. При этом, для команд файловых операций возможны объединение строк. Например:
  26. procedure TForm1.Button1Click(Sender: TObject);
  27. Var InDir,OutDir:String; // объявление строковых переменных
  28. begin
  29. InDir:='c:\1\'; // каталог исходных файлов
  30. OutDir:='c:\2\'; // каталог записуемых файлов
  31. CopyFile(PChar(InDir+'1.txt'),PChar(OutDir+'1.txt'),false);
  32. CopyFile(PChar(InDir+'2.txt'),PChar(OutDir+'2.txt'),false);
  33. end;
  34. Здесь налицо операция соединения двух строковых переменных.
  35. В итоге этой процедуры будет копирование файлов c:\1\1.txt и c:\1\2.txt в каталог c:\2. Файлы копируются под теми же именами.
  36. Удаление файлов
  37. Функция DeleteFile
  38. if not DeleteFile('c:\3.com') then ShowMessage('Ошибка удаления');
  39. Работа с текстовыми файлами. Чтение из текстового файла
  40. На прошлых уроках мы как, в компоненте Memo процесс загрузки и записи текстового файла делался следующим образом:
  41. Memo1.Lines.LoadFromFile(Имя_файла); // загрузка
  42. Memo1.Lines.SaveToFile(Имя_файла); // сохранение
  43. Все это благодаря свойству Lines, в котором хранятся строки.
  44. Но на практике иногда необходимо прочитать только определенную строку или совершить операцию добавления строки в уже существующий файл.
  1. Часто используемые компоненты объектного программирования. Приведите пример.

Компонент Delphi Edit представляет собой однострочное текстовое поле, служащее для ввода данных пользователем. Основным свойством компонента Delphi Edit, передающим введённую информацию, является свойство Edit1 .Text типа String. При изучении работы с Delphi Edit советую посетить страничку работа со строками Delphi, так как там описываются функции Delphi для работы с данными, представленными в текстовой форме. Например,чаще всего, судя по поисковым запросам, посетители хотят знать, как работать с числами, введёнными в компонент Edit:

с целыми X:=StrToInt(Edit1.Text);
с дробными X:=StrToFloat(Edit1.Text);

Компонент Delphi Button это стандартная кнопка делфи, кнопка имеет на поверхности надпись (описывающая её назначение при нажатии). Основное событие для кнопки является OnClick, выполняемое при нажатии, при этом кнопка меняет внешний вид, подтверждая этим происходящее действие визуально. Сразу после отпускания кнопки, выполняется действия в обработчике OnClick. Кнопку можно нажать не только щелчком мыши но и комбинацией клавиш, что бы задать комбинацию необходимо перед символом используемый в комбинации поставить символ амперсанта «&». После чего пользователь вместо щелчка мыши может использовать сочетание клавиш Alt и клавишей выделенного символа.
Рассмотрим наиболее необходимые

 

1. Перечислите свойства компоненты Image.

2. Компонент delphi Image предназначен для отображение на форме графических изображений по умолчанию выводит на поверхность формы изображения представленных в bmp формате. Для вывода изображений в jpg формате необходимо в дерективе uses подключить модуль JPEG. После размещения на форме компонента Image, он принимает вид выделенной прямоугольной области(рис 1).

4. рис 1

5. Загрузить картинку можно в коде программы, добавив строку:
Image1.Picture.LoadFromFile(<имя_файла>);
Кроме этого, загрузить изображения можно с помощью Object Inspector. Для этого находим свойство Picture и слева от него нажимаем на три точки. Открывается окно Picture Editor и в нем выбираем загрузить(Load), в раскрывшемся окне выбираем файл изображения.




Дата добавления: 2015-01-30; просмотров: 73 | Поможем написать вашу работу | Нарушение авторских прав

<== 1 ==> | 2 |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав