Главная страница
Навигация по странице:

  • Орындаған

  • 2.Приведите классификацию языков программирования.

  • 3.Особенность декларативных языков.

  • 4. Приведите примеры объектно-ориентированных языков.

  • 5.Назовите положения структурного программирования.

  • 6.Что вы можете сказать о концепции модульного проектирования Перечислите преимущества использования модулей.

  • 6.Что такое объект в объектно-ориентированном программировании Три принципа объектно-ориентированного программирования.

  • 9.Особенность декларативного программирования. Во-первых

  • Во-вторых

  • В-третьих

  • 10.Что такое параллельное программирование

  • СРО. CРО. Орындаан Шаймарданов . Н. Тексерген Курушбаева Д. Т. Группа


    Скачать 0.86 Mb.
    НазваниеОрындаан Шаймарданов . Н. Тексерген Курушбаева Д. Т. Группа
    Дата13.12.2022
    Размер0.86 Mb.
    Формат файлаdocx
    Имя файлаCРО.docx
    ТипДокументы
    #843709

    ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

    "Семей қаласының ШӘКӘРІМ атындағы университеті" КЕАҚ
    Инженерлік-технологиялық факультет




    БӨЖ

    «C# бағдарламалау» пәні бойынша білім алушының өздік жұмысы

    Орындаған: Шаймарданов Қ.Н.

    Тексерген: Курушбаева Д.Т.

    Группа: ВТ-101


    Семей-2022

    1.На каком языке программирования создавались первые программы?

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

    2.Приведите классификацию языков программирования.

    Классификация языков программирования

     

    Императивные

    Функциональные

    Синонимы

    процедурные, алгоритмические

    аппликативные

    Память

    Система "склада". Изначально "склад" заполняется исходными данными, получаемыми непосредственно (с помощью специальной операции присваивания) или извне (с устройств ввода). Далее, данные берутся из одного "помещения" склада, обрабатываются (изменяются) и размещаются в другом. Результат - появление требуемых данных в указанном "помещении" склада (заполнение видеопамяти обеспечивает вывод ответа на мониторе ПК).

    Отсутствие "склада". Для получения данных один "специалист" требует их непосредственно от другого "специалиста", тот от следующего.

    Переменная

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

    Информация, передаваемая от одного процесса обработки другому. Существует лишь для момента процесса передачи. Всегда локальны.

    Теоретичес-кая база

    Принципы фон-Неймана, машина Тьюринга.

    Исчисление Черча, вычислимые функции.

    Режим работы

    Компиляционный. Высокое быстродействие.

    Интерпретационный. Режимы реального времени.

     

    Описание действий (процедурность).

    Описание возможностей (декларативность).

    3.Особенность декларативных языков.

    Декларати́вное программи́рование — парадигма программирования, в которой задаётся спецификация решения задачи, то есть описывается ожидаемый результат, а не способ его получения. Противоположностью декларативного является императивное программирование, при котором на том или ином уровне детализации требуется описание последовательности шагов для решения задачи. В качестве примеров декларативных языков обычно приводят HTML и SQL.

    Декларативные программы не используют понятия состояния, в частности, не содержат переменных и операторов присваивания, обеспечивается ссылочная прозрачность. Наиболее близким к «чисто декларативному» программированию является написание исполнимых спецификаций. В этом случае программа представляет собой формальную теорию, а её выполнение является одновременно автоматическим доказательством этой теории[прояснить] (соответствие Карри — Ховарда), и характерные для императивного программирования составляющие процесса разработки (проектирование, рефакторинг, отладка и другие) в этом случае исключаются: программа проектирует и доказывает сама себя[прояснить].

    4. Приведите примеры объектно-ориентированных языков.

    Java, Python, C ++, Lisp и Perl — всё это примеры популярных объектно-ориентированных языков программирования. Они поддерживают программирование с использованием парадигмы классов и объектов.

    Пять из самых популярных объектно-ориентированных языков включают:

    • Java.

    • Python.

    • C++.

    • Ruby.

    • C#.

    5.Перечислите методологии программирования.

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

    1)Императивное программирование — это исторически первая методология программирования, которой пользовался каждый программист, программирующий на любом из «массовых» языков программирования – Basic, Pascal, C.

    2)В 70-х годах возникла ветвь языков декларативного программирования, связанная с проектами в области искусственного интеллекта, а именно языки логического программирования.Согласно логическому подходу к программированию, программа представляет собой совокупность правил или логических высказываний. Кроме того, в программе допустимы логические причинно-следственные связи, в частности, на основе операции импликации.

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

    3) Функциональный подход к программированию появился в результате проведения фундаментальных математических исследований.

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

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

    Объектно-ориентированные программы называют «программами, управляемыми от событий», в отличие от традиционных программ, называемых «программам, управляемыми от данных».

    5.Назовите положения структурного программирования.

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

    6.Что вы можете сказать о концепции модульного проектирования? Перечислите преимущества использования модулей.

    В основе модульного программирования лежат три основных концепции:

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

    Аксиома модульности Коуэна. Модуль — независимая программная единица, служащая для выполнения некоторой определенной функции программы и для связи с остальной частью программы. Программная единица должна удовлетворять следующим условиям:

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

    • синтаксическая обособленность, т. е. выделение модуля в тексте синтаксическими элементами;

    • семантическая независимость, т. е. независимость от места, где программная единица вызвана;

    • общность данных, т. е. наличие собственных данных, сохраняющихся при каждом обращении;

    • полнота определения, т. е. самостоятельность программной единицы.

    Сборочное программирование Цейтина. Модули — это программные кирпичи, из которых строится программа. Существуют три основные предпосылки к модульному программированию:

    • стремление к выделению независимой единицы программного знания. В идеальном случае всякая идея (алгоритм) должна быть оформлена в виде модуля;

    • потребность организационного расчленения крупных разработок;

    • возможность параллельного исполнения модулей (в контексте параллельного программирования).

    Перечислите преимущества использования модулей.

    • возможность создания программы несколькими программистами

    • простота проектирования и последующих модификаций программы

    • упрощение отладки программы – поиска и устранения в ней ошибок

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

    6.Что такое объект в объектно-ориентированном программировании? Три принципа объектно-ориентированного программирования.

    Объе́ктно-ориенти́рованное программи́рование (сокр. ООП) — методология программирования, основанная на представлении программы в виде совокупности взаимодействующих объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.

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

    • абстракция для выделения в моделируемом предмете важного для решения конкретной задачи по предмету, в конечном счёте — контекстное понимание предмета, формализуемое в виде класса;

    • инкапсуляция для быстрой и безопасной организации собственно иерархической управляемости: чтобы было достаточно простой команды «что делать», без одновременного уточнения как именно делать, так как это уже другой уровень управления;

    • наследование для быстрой и безопасной организации родственных понятий: чтобы было достаточно на каждом иерархическом шаге учитывать только изменения, не дублируя всё остальное, учтённое на предыдущих шагах;

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

    9.Особенность декларативного программирования.

    Во-первых, декларативное программирование — это обёртка для императивного. Компьютер не может вот так просто понять, чего хочет программист, поэтому для него нужно написать конкретные инструкции, что и в каком порядке делать.

    Во-вторых, декларативное программирование не подходит для задач, для решения которых важно иметь доступ к состоянию программы — например, если нужно проверить, нажата ли кнопка или поставлена ли галочка в чекбокс.

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

    10.Что такое параллельное программирование?

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

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


    написать администратору сайта