к библиотеке   ЯП   ЯиМП   высокоуровн. языки - 3GL   визуальные среды - 4GL   5GL   ТП   Поколения компьютеров  

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

Алгоритмы, структуры данных и программирование

(преподаватель: к.т.н. К.А. Хайдаров)

Алгоритмы

  1. Понятие алгоритма
  2. Понятие "Исполнителя алгоритма"
  3. Свойства алгоpитмов
  4. Формы записи алгоритмов
  5. Словесная форма записи алгоритмов
  6. Графическая форма записи алгоритмов
  7. Понятие псевдокода
  8. Запись алгоритма в разных языках программирования
  9. Понятие о базовых алгоритмических структурах
  10. Итерационные циклы и их особенности
  11. Вложенные циклы и их особенности
  12. Программный способ записи алгоритмов

Структуры данных

  1. Предисловие
  2. Исторический обзор
  3. Основные понятия и определения
  4. Индексирование в базах данных
  5. Методы доступа к файлам
  6. Хэширование
  7. Архитектура базы данных.
    Физическая и логическая независимость
  8. Процесс прохождения пользовательского запроса
  9. Пользователи банков данных
  10. Основные функции группы администратора БД
  11. Классификация моделей данных
  12. Физическое проектирование базы данных
  13. Теоретико-графовые модели данных
  14. Основные определения реляционной модели данных
  15. Теоретико-множественные операции реляционной алгебры
  16. Специальные операции реляционной алгебры
  17. Таблицы кодировок текста в компьютере

Основы компьютерных языков

  1. Классификация языков программирования
  2. Уровни языков программирования и эволюция языков
  3. Динамические языки программирования
  4. Объектно-ориентированное программирование
  5. Tехнология визуального программирования

Алгоритмические языки

  1. Машинные языки, их достоинства и недостатки
  2. Язык ассемблера
  3. Преимущества алгоритмических языков перед машинными
  4. Компоненты алгоритмического языка
  5. Понятия, используемые алгоритмическими языками
  6. Стандартные функции языка
  7. Запись арифметических выражений в программе
  8. Запись логических выражений
  9. Транслятор, компилятор, интерпретатор
  10. Обзор языков программирования
  11. Алгоритмический компилятор Фортран
  12. Алгоритмический язык для экономистов COBOL
  13. Алгоритмический интерпретатор BASIC
  14. Компилятор C
  15. Компилятор C++
  16. Алгоритмический компилятор Ада

Декларативные языки

  1. Язык обработки списков LISP
  2. Язык запросов SQL (Structured Query Language)
  3. Языки разметки WEB-страниц: HTML, Dynamic HTML, XHTML

Сетевые языки

  1. Клиентский скриптовый язык JavaScript
  2. Серверный скриптовый язык PHP
  3. Серверный интерпретатор Perl. Использование языка
  4. Серверный скриптовый язык Python
  5. Мультимедийный скриптовый язык ActionScript
  6. Статически типизированный язык Kotlin

Практика

  1. Упражнения
  2. Практика программирования
  3. Отладка программ
  4. Тестовые вопросы
  5. Интерактивное тестирование

Литература

Abu Abdullah Muhammad bin Musa al-Khwarizmi

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

Ключевым понятием данной дисциплины является понятие алгоритма, введенное в логику и математику более 11 веков назад узбекским ученым Мухаммедом аль-Хорезми (из Хорезма). Известные сегодня каждому школьнику правила умножения "столбиком" и деления "уголком" - это правила, разработанные аль-Хорезми, а потому имеющие общее название "алгоритмы" - от латинизированного имени этого ученого.

Алгоритм, algorithm - это точный рецепт, предписание, определяющее логический и вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.

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

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

Свойства алгоритма:

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

Два других краеугольных термина информатики - это структуры и базы данных.

Данные, data - информация, переносимая во времени, то есть хранящаяся на физическом носителе информации в виде знаков, символов, значений, для ее последующего использования через какое-то время: наносекунды, секунды, часы, годы, тысячелетия...
Структура данных, data structure - описательная часть компьютерной программы, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор специальных функций, предназначенных для обмена информацией, так называемый "интерфейс".

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

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

для работы с базами данных используют специальные программы, называемые СУБД.

Система управления базами данных, СУБД, database management system, DMS - компьютерная программа для управления базами данных, пополнения их данными, быстрого поиска в них необходимой информации, то есть совокупность программных и компьютерных лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных. Обычно программист использует уже готовые стандартные "промышленные" СУБД, к оторым обращается его компьютерная программа.
Алгоритмизация, алгоритмика, algorithmization - это раздел информатики, изучающий методы, приемы управления компьютерами и другими логическими и вычислительными устройствами; это также сам процесс планирования этапов, шагов решения задачи, результатом которого является выделение этапов процесса обработки данных, формализованная, то есть строго формально-логическая запись содержания этих этапов и определение порядка, шагов их выполнения. Таким образом, алгоритмизация - это набор определенных практических приемов, особых специфических навыков рационального мышления в рамках заданных языковых средств. Алгоритмизация наряду с моделированием выступает в качестве общего метода информатики.

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

Основным понятием алгоритмизации является алгоритм.

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

Алгоритмический язык - набор символов и правил образования и истолкования конструкций их этих символов для записи алгоритмов.
Декларативный язык, declarative language - язык описания данных, также как и алгоритмический язык - набор символов и правил образования и истолкования конструкций их этих символов для создания структур и баз данных.

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

Язык программирования, programming language - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.
Компьютерный язык, computer language - понятие, близкое к языку программирования, но ориентрированное не на человека, а на компьютер, предназначен для реализации программ на ЭВМ. Фактически, компьютерный язык - это протокол, правила обмена информацией человека с компьютером и компьютера с компьютером, компьютерной программы с другой компьютерной программой.
Компьютерная программа, computer program - это алгоритм, записанный в форме, воспринимаемой машиной. Программа содержит наряду с описанием данных команды, в какой последовательности, над какими данными и какие операции должна выполнять машина, а также в какой форме следует получить результат. Это обеспечивают различные операторы.
Оператор, operator - одно простое выражение компьютерного языка, представляющее указание на определенное действие программы; обычно, выполнить что-то.

к библиотеке   ЯП   ЯиМП   высокоуровн. языки - 3GL   визуальные среды - 4GL   5GL   ТП   Поколения компьютеров  
Знаете ли Вы, что примитивные конструкторы - это операции, которые создают объекты, соответствующего им типа, не используя никаких объектов в качестве аргументов. Примером такой операции является создание пустого списка.

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
  27.04.2016 - 07:59: СОВЕСТЬ - Conscience -> Проблема государственного терроризма - Карим_Хайдаров.
25.04.2016 - 07:47: СОВЕСТЬ - Conscience -> КОЛЛАПС МИРОВОЙ ФИНАНСОВОЙ СИСТЕМЫ - Карим_Хайдаров.
24.04.2016 - 21:11: АСТРОФИЗИКА - Astrophysics -> Комета 67Р/Чурюмова-Герасименко и проблема ее происхождения - Евгений_Дмитриев.
20.04.2016 - 12:33: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
17.04.2016 - 22:31: СОВЕСТЬ - Conscience -> РУССКИЙ МИР - Карим_Хайдаров.
09.04.2016 - 06:59: АСТРОФИЗИКА - Astrophysics -> Сезонные колебания уровня вод морей и океанов - Юсуп_Хизиров.
28.03.2016 - 16:42: СОВЕСТЬ - Conscience -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
17.03.2016 - 11:20: СЕЙСМОЛОГИЯ - Seismology -> Запасы воды под Землёй - Карим_Хайдаров.
15.03.2016 - 16:15: ЦИТАТЫ ЧУЖИХ ФОРУМОВ - Outside Quotings -> ВЫМИРАНИЕ ДИНОЗАВРОВ на www.nkj.ru - Карим_Хайдаров.
23.02.2016 - 20:34: Беседка - Chatter -> Приливы и отливы - Юсуп_Хизиров.
19.02.2016 - 05:38: ФИЗИКА ЭФИРА - Aether Physics -> Скорость распространения гравитации - Карим_Хайдаров.
Боровское исследовательское учреждение - Bourabai Research Bourabai Research Institution