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

Save this PDF as:
 WORD  PNG  TXT  JPG

Размер: px
Начинать показ со страницы:

Download "Языки программирования и методы трансляции"

Транскрипт

1 Языки программирования и методы трансляции Подпрограммы

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

3 Стек вызовов При вызове подпрограммы в стек помещается новый стековый кадр (запись активации) Регистр указателя стека содержит адрес последней занятой ячейки стека или первой свободной ячейки. Регистр указателя кадра содержит адрес ячейки кадра.

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

5 Вложенные подпрограммы Из B, C, D видны все пять подпрограмм. Из A, E видны A, B и E, но не C и D. Последовательность вызовов: A, E, B, D, C

6 Содержимое стекового кадра Учетная информация адрес возврата (динамическая ссылка) содержимое регистров номер строки элементы дисплея статическая ссылка аргументы и возвращаемые значения локальные переменные временные значения

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

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

9 Статическая цепочка Состояние статической цепочки зависит от глубины вложенности вызывающей подпрограммы. Вызывающая программа вычисляет адрес статической ссылки и передает его как дополнительный скрытый параметр в вызываемую подпрограмму. Два случая: Вызываемая подпрограмма вложена в вызывающую. Статическая ссылка указатель кадра вызывающей подпрограммы. Вызываемая подпрограмма находится на k 0 уровней «выше». Статическая ссылка разыменованная k раз статическая ссылка вызывающей подпрограммы.

10 Стековый кадр

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

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

13 Режимы передачи параметров в языке Ada В языке Ada используется семантический подход: in: вызванная подпрограмма только читает out: вызванная подпрограмма записывает и затем может читать (формальные параметры не инициализированы); изменение значений действительных параметров in out: вызванная подпрограмма читает и записывает; изменение значений действительных параметров В языке Ada режим in out реализован передачей параметров по значению и результату для скалярных типов и по значению и результату или по ссылке для структурных объектов.

14 В языках, использующих переменные-ссылки (Lisp, Clu), передача по ссылке (совместное использование) очевидный подход к передаче параметров. Передается ссылка; действительный и формальный параметр ссылаются на один объект. Значение действительного параметра копируется (как при передаче по значению), но изменения объекта видны в вызывающей подпрограмме (как при передаче по ссылке).

15 Fortran по ссылке При передаче константы компилятор создает для нее временное хранилище. Изменение значения во временном хранилище не влияет на работу программы. по имени метод языка Algol. Грубо говоря, текстуальная подстановка (процедура со всеми именованными параметрами работает как макрос) осуществляется передача скрытых процедур (thunk)

16 Режимы передачи параметров по значению Языки C/C++, Pascal, Java/C# (нессылочные переменные) Механизм реализации по значению Допустимые операции чтение, запись Изменение действительных параметров? нет Альтернативные имена? нет

17 Режимы передачи параметров in, const Языки Ada, C/C++, Modula-3 Механизм реализации по значению или по ссылке Допустимые операции только чтение Изменение действительных параметров? нет Альтернативные имена? возможны

18 Режимы передачи параметров out Языки Ada Механизм реализации по значению или по ссылке Допустимые операции только запись Изменение действительных параметров? да Альтернативные имена? возможны

19 Режимы передачи параметров по значению и результату Языки Algol W Механизм реализации по значению Допустимые операции чтение и запись Изменение действительных параметров? да Альтернативные имена? нет

20 Режимы передачи параметров var, ref Языки Fortran, Pascal, C++ Механизм реализации по ссылке Допустимые операции чтение и запись Изменение действительных параметров? да Альтернативные имена? да

21 Режимы передачи параметров совместное использование Языки Lisp/Scheme, ML, Java/C# (ссылочные типы) Механизм реализации по значению или по ссылке Допустимые операции чтение и запись Изменение действительных параметров? да Альтернативные имена? да

22 Режимы передачи параметров in out Языки Ada Механизм реализации по значению или по ссылке Допустимые операции чтение и запись Изменение действительных параметров? да Альтернативные имена? возможны

23 Режимы передачи параметров по имени Языки Algol 60, Simula Механизм реализации замыкание (thunk) Допустимые операции чтение и запись Изменение действительных параметров? да Альтернативные имена? да

24 Режимы передачи параметров по необходимости Языки Haskell, R Механизм реализации замыкание (thunk) с использованием мемоизации Допустимые операции чтение и запись* Изменение действительных параметров? да* Альтернативные имена? да*

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

Языки программирования и методы трансляции Языки программирования и методы трансляции Имена, связывание, области видимости 1 Время связывания 2 3 Статические области видимости Динамические области видимости Имя, область видимости и связывание Имя

Подробнее

Факультет БИЗНЕС-ИНФОРМАТИКИ. Языки программирования и методы трансляции (ПО)

Факультет БИЗНЕС-ИНФОРМАТИКИ. Языки программирования и методы трансляции (ПО) Правительство Российской Федерации Государственное образовательное бюджетное учреждение высшего профессионального образования Государственный университет Высшая школа экономики Факультет БИЗНЕС-ИНФОРМАТИКИ

Подробнее

Введение Императивные языки абстракция архитектуры фон Неймана Память Процессор Переменные и их атрибуты Область действия, срок жизни, проверка типов,

Введение Императивные языки абстракция архитектуры фон Неймана Память Процессор Переменные и их атрибуты Область действия, срок жизни, проверка типов, Имена, связывание, проверка типов и области действия Введение Императивные языки абстракция архитектуры фон Неймана Память Процессор Переменные и их атрибуты Область действия, срок жизни, проверка типов,

Подробнее

Распределение памяти

Распределение памяти Распределение памяти Распределение памяти - это процесс, в результате которого отдельным элементам исходной программы ставятся в соответствие адрес, размер и атрибуты области памяти, необходимой для размещения

Подробнее

Средства автоматизации построения трансляторов. LEX генератор лексических анализаторов. YACC генератор синтаксических анализаторов

Средства автоматизации построения трансляторов. LEX генератор лексических анализаторов. YACC генератор синтаксических анализаторов Средства автоматизации построения трансляторов LEX генератор лексических анализаторов YACC генератор синтаксических анализаторов Генерация кода 1) Распределение памяти для данных и команд программы 2)

Подробнее

Парадигмы программирования. Денис С. Мигинский

Парадигмы программирования. Денис С. Мигинский Парадигмы программирования Денис С. Мигинский Понятие парадигмы Парадигма (философия науки) устоявшаяся система научных взглядов, в рамках которой ведутся исследования (Т. Кун) Парадигма программирования

Подробнее

2. Место дисциплины в структуре ООП: дисциплина базовой части Предварительные знания и навыки. информатики.

2. Место дисциплины в структуре ООП: дисциплина базовой части Предварительные знания и навыки. информатики. I. Аннотация 1. Цели и задачи дисциплины: дать общее представление обучающимся о принципах программирования и разработки программного обеспечения, ознакомить с алгоритмическим языком C++ и основными теоретико-численными

Подробнее

Оглавление. Введение Глава 1. Определение и проблемы языков программирования Глава 2. Виртуальные машины и трансляция языков...

Оглавление. Введение Глава 1. Определение и проблемы языков программирования Глава 2. Виртуальные машины и трансляция языков... Оглавление Введение............................................................ 15 Благодарности............................................................................. 21 Глава 1. Определение и проблемы

Подробнее

Функции ref out определении вызове Main()

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

Подробнее

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ»

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» Спеціальність 6.040302 Інформатика Дисципліна «Програмування» Підсумкова модульна контрольна

Подробнее

Пояснительная записка Данный практикум «Основы программирования» является расширением курса «Информатика и ИКТ». Курс рассчитан на 35 часов.

Пояснительная записка Данный практикум «Основы программирования» является расширением курса «Информатика и ИКТ». Курс рассчитан на 35 часов. Пояснительная записка Данный практикум «Основы программирования» является расширением курса «Информатика и ИКТ». Курс рассчитан на 35 часов. Содержание обучения, представленное в программе элективного

Подробнее

Тема 11. Модульное программирование: процедуры, функции, модули.

Тема 11. Модульное программирование: процедуры, функции, модули. Тема 11. Модульное программирование: процедуры, функции, модули. Процесс решения задачи может быть мысленно представлен как последовательность решения более простых подзадач. Для решения этих подзадач

Подробнее

2017 МГУ/ВМК/СП. Лекция февраля

2017 МГУ/ВМК/СП. Лекция февраля Лекция 5 22 февраля Организация вызова функций Вопросы Передача управления и возвращение обратно Вычисление значений фактических параметров и их размещение Передача возвращаемого значения Размещение автоматических

Подробнее

2012 МГУ/ВМиК/СП. Лекция марта

2012 МГУ/ВМиК/СП. Лекция марта Лекция 12 21 марта Промежуточные итоги Типы данных языка Си: скалярные типы, составные типы Вычисление выражений Управляющие операторы Машинные типы данных Арифметические, логические, битовые команды Условная

Подробнее

13. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ

13. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ 13. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ Статическими называются такие данные, которые не меняют свои размеры в течение всего времени своего существования. Регулярный и комбинированный типы языка Pascal это пример

Подробнее

4. Понятие класса. Программа 7. Класс Box

4. Понятие класса. Программа 7. Класс Box 4. Понятие класса Класс определяет новый тип данных, используя который можно определять переменные этого типа, которые называются объектами или экземплярами класса. Объявление класса имеет вид: class classname

Подробнее

Содержание. Введение 14. Глава 1. Обзор основ 15. Глава 2. Элементы языка Турбо Паскаль 35

Содержание. Введение 14. Глава 1. Обзор основ 15. Глава 2. Элементы языка Турбо Паскаль 35 Содержание Введение 14 Глава 1. Обзор основ 15 1.1. Примеры алгоритмов 15 1.2. Компьютеры и программы 17 1.2.1. Структура компьютера 17 1.2.2. Данные и программы 18 1.3. Средства создания программ 20 1.3.1.

Подробнее

4 Классы. 4.1 Основы классов

4 Классы. 4.1 Основы классов 4 Классы Класс центральный компонент Java. Поскольку класс определяет форму и сущность объекта, он является той логической конструкцией, на основе которой построен весь язык. Как таковой, класс образует

Подробнее

Программирование в C++ Преподаватель Колотова Людмила Павловна

Программирование в C++ Преподаватель Колотова Людмила Павловна Программирование в C++ Преподаватель Колотова Людмила Павловна 2 Содержание 4-го занятия по практике Работа с функциями. Простые и библиотечные функции Передача аргументов в функцию Значение, возвращаемое

Подробнее

Глава 15 Делегаты БИЛЛ ВАГНЕР ЭРИК ЛИППЕРТ

Глава 15 Делегаты БИЛЛ ВАГНЕР ЭРИК ЛИППЕРТ Глава 15 Делегаты Делегаты предназначены для случаев, в которых C++, Pascal и Modula используют указатели на функции. В отличие от последних в C++ делегаты являются полностью объектно-ориентированными.

Подробнее

Тема 4. Введение в функциональное программирование

Тема 4. Введение в функциональное программирование Тема 4. Введение в функциональное программирование Автор: А. С. Власовских Лицензия: Creative Commons Attribution-Noncommercial-Share Alike 3.0 Тема 4. Введение в функциональное программирование 1 План

Подробнее

Б1.В.ДВ.6.1 Теория и практика языков программирования

Б1.В.ДВ.6.1 Теория и практика языков программирования Б1.В.ДВ.6.1 Теория и практика языков программирования Цели и задачи изучения дисциплины Целью дисциплины является формирование знаний и практических необходимых для понимания и грамотного использование

Подробнее

Вопросы для самопроверки

Вопросы для самопроверки Вопросы для самопроверки Программирование на языке С 11 ноября 2014 г. Лекция 1. Вводная 1. Какие существуют аспекты разработки ПО? Подходы к разработке? 2. Какие признаки характеризуют любительский подход?

Подробнее

Языки программирования

Языки программирования 3. Влияние архитектуры Структура компьютера 1. Данные; 2. Элементарные операции; 3. Управление последовательностью действий; 4. Доступ к данным; 5. Управление памятью; 6. Операционная среда. 2 Данные Хранение:

Подробнее

Содержание. Благодарности 21 Об авторе 23 Ждем ваших отзывов! 24

Содержание. Благодарности 21 Об авторе 23 Ждем ваших отзывов! 24 Содержание Предисловие 15 Причины для изучения C++ 15 Причины для чтения данной книги 16 Красавица и чудовище 16 Языки в науке и технике 18 Соглашения об оформлении 19 Благодарности 21 Об авторе 23 Ждем

Подробнее

СОДЕРЖАНИЕ ВВЕДЕНИЕ... 3

СОДЕРЖАНИЕ ВВЕДЕНИЕ... 3 СОДЕРЖАНИЕ ВВЕДЕНИЕ... 3 1. РАЗРАБОТКА И ВЫПОЛНЕНИЕ ПРОГРАММ В КОНСОЛЬНОМ РЕЖИМЕ DELPHI 7... 4 1.1. Запуск Delphi... 4 1.2. Работа с консольным приложением... 4 1.2.1. Создание консольного приложения...

Подробнее

5. Системы команд микропроцессоров и микроконтроллеров

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

Подробнее

Лекция 2. Как выполняются программы на C++

Лекция 2. Как выполняются программы на C++ http://compscicenter.ru 1/21 Лекция 2. Как выполняются программы на C++ Александр Смаль CS центр 15 сентября 2016 Санкт-Петербург http://compscicenter.ru 2/21 Типы данных Целочисленные: 1. char (символьный

Подробнее

Языки программирования. Генерация кода

Языки программирования. Генерация кода Генерация кода Содержание Распределение памяти Организация таблиц Подпрограмма генерации кода Методы оптимизации кода Распределение памяти Программа Стек подпрограмм Константы Переменные Временные результаты

Подробнее

ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ

ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ 1. Массивы Массив это набор однородных элементов фиксированной длины. Память для массивов выделяется одним куском. При инициализации массива записывается тип элементов массива,

Подробнее

Концепции языков программирования

Концепции языков программирования Объектно-ориентированные языки программирования Темы 1 История 2 3 4 5 История Абстракция данных: SIMULA 67 (1962 1967) Спроектирован в Норвегии Нигардом и Далем, главным образом, для моделирования сложных

Подробнее

СОДЕРЖАНИЕ ПРОГРАММЫ If-Then-Else Select-Case For-Next While-Wend Do-Loop For-Each

СОДЕРЖАНИЕ ПРОГРАММЫ If-Then-Else Select-Case For-Next While-Wend Do-Loop For-Each СОДЕРЖАНИЕ ПРОГРАММЫ 1. Какие задачи решает информатика в различных сферах экономики. 2. Определение информатики, взаимодействие данных, информации и знаний. 3. Краткая характеристика пяти основных видов

Подробнее

Архитектура современных микропроцессоров и мультипроцессоров

Архитектура современных микропроцессоров и мультипроцессоров Архитектура современных микропроцессоров и мультипроцессоров Лекция 2 10 октября 2016 г., ФИТ НГУ Вопросы по предыдущему материалу Что такое программная и аппаратная архитектура? Из каких основных компонентов

Подробнее

Содержание. Часть I. Описание 27. Предисловие 17 Благодарности 24. Глава 1. Вводный пример 29

Содержание. Часть I. Описание 27. Предисловие 17 Благодарности 24. Глава 1. Вводный пример 29 Содержание Предисловие 17 Благодарности 24 Часть I. Описание 27 Глава 1. Вводный пример 29 1.1. Готическая безопасность 29 1.1.1. Контроллер мисс Грант 30 1.2. Модель конечного автомата 31 1.3. Программирование

Подробнее

Лектор проф. В. Н. Касьянов. 2-й семестр. 1. Введение

Лектор проф. В. Н. Касьянов. 2-й семестр. 1. Введение ПРОГРАММИРОВАНИЕ Лектор проф. В. Н. Касьянов 2-й семестр 1. Введение Понятие алгоритма и его основные свойства, блок-схемные определения как пример уточнения понятия алгоритма. Понятие компьютера, принципы

Подробнее

Компьютерная Академия Шаг Урок 12. Программирование на C. Оглавление

Компьютерная Академия Шаг Урок 12. Программирование на C. Оглавление Оглавление 1. Статическое и динамическое выделение памяти. 2. Указатели. 3. Указатели и массивы. 4. Указатели - аргументы функций. Передача аргументов по указателю. 5. Домашнее задание. 1 Статическое и

Подробнее

Лекция 5 Базовые понятия программирования

Лекция 5 Базовые понятия программирования Лекция 5 Базовые понятия программирования 1. Эволюция языков программирования 2. Классификация языков программирования 3. Элементы языков программирования 4. Понятие системы программирования. Исходный,

Подробнее

Ключевые слова языка С#

Ключевые слова языка С# 1 abstract, см. также 11, 55 2 as, см. также 37 Ключевые слова языка С# Модификатор abstract используется при объявлении класса, метода или свойства. Использование модификатора abstract в объявлении класса

Подробнее

Введение в функциональное программирование

Введение в функциональное программирование 22 сентября 2015 Императивное программирование Программа это набор инструкций, изменяющих состояние системы Всё остальное (процедуры, классы и т.д.) лишь способы абстракции long factorial(long i) { long

Подробнее

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

Языки программирования и методы трансляции Языки программирования и методы трансляции Типы данных Типы данных Что такое тип данных? Денотационный подход: набор значений Структурный подход: данные с определенной внутренней структурой, описанной

Подробнее

ЧАСТЬ І. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ 23 Глава 1. Принципы программирования и разработки программного обеспечения 24

ЧАСТЬ І. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ 23 Глава 1. Принципы программирования и разработки программного обеспечения 24 Содержание Предисловие 13 Обращение к студентам 13 Метод изложения 14 Необходимые условия 14 Гибкость 14 Абстракция данных 15 Решение задач 16 Приложения 16 Новый и переработанный материал 16 Обзор 17

Подробнее

Web-разработка на PHP-технологиях Курс лекций и семинаров для студентов, желающих научиться основам Web-разработки на PHP. Осень-Зима 2014.

Web-разработка на PHP-технологиях Курс лекций и семинаров для студентов, желающих научиться основам Web-разработки на PHP. Осень-Зима 2014. Web-разработка на PHP-технологиях Курс лекций и семинаров для студентов, желающих научиться основам Web-разработки на PHP Осень-Зима 2014 Лекция 3 PHP Синтаксис языка Переменные, константы, типы данных

Подробнее

Программирование в C++ Преподаватель Колотова Людмила Павловна

Программирование в C++ Преподаватель Колотова Людмила Павловна Программирование в C++ Преподаватель Колотова Людмила Павловна 2 Содержание 7-го занятия по практике Массивы. Определение массивов. Доступ к элементам массивов. Среднее арифметическое элементов массива

Подробнее

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

Зачем изучать концепции языков программирования Большая свобода в выражении мыслей Знания, необходимые для правильного выбора подходящего языка програ Концепции языков программирования Зачем изучать концепции языков программирования Большая свобода в выражении мыслей Знания, необходимые для правильного выбора подходящего языка программирования Способность

Подробнее

Содержание Предисловие Глава 1. Введение в компьютерные технологии Глава 2. Среда разработки Delphi Глава 3. Планирование разработки программы

Содержание Предисловие Глава 1. Введение в компьютерные технологии Глава 2. Среда разработки Delphi Глава 3. Планирование разработки программы Содержание Предисловие 14 Глава 1. Введение в компьютерные технологии 21 Краткий экскурс в историю вычислительных устройств 22 Типы компьютеров 26 Компоненты типичного персонального компьютера 27 Двоичная

Подробнее

1. C-cтроки 1.1. Описание и инициализация строк

1. C-cтроки 1.1. Описание и инициализация строк 1. C-cтроки В C++ имеется два типа строк: встроенный тип, унаследованный от языка C (строки данного типа мы будем называть C-строками), и класс string из стандартной библиотеки C++. Класс string появился

Подробнее

Содержание. Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20

Содержание. Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20 Содержание Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20 Что такое язык программирования?...20 В чем различие между C и C++?.........................................21 Обязательно

Подробнее

Языки программирования ИСТОРИЯ РАЗВИТИЯ ЧАСТЬ I

Языки программирования ИСТОРИЯ РАЗВИТИЯ ЧАСТЬ I Языки программирования ИСТОРИЯ РАЗВИТИЯ ЧАСТЬ I Предыстория Идея заранее описывать команды для последующего выполнения их машиной пришла в голову британскому изобретателю Чарлзу Бэббиджу. Начиная с 1834

Подробнее

Object Pascal. Алфавит языка. Лексическая структура языка. Ячейка. Значение. Константа. Переменная. Операторы присваивания.

Object Pascal. Алфавит языка. Лексическая структура языка. Ячейка. Значение. Константа. Переменная. Операторы присваивания. Object Pascal Алфавит языка Лексическая структура языка Ячейка Значение Константа Переменная Операторы присваивания Система типов Арифметические выражения Логические выражения Строковые выражения Object

Подробнее

Подпрограммы: процедуры и функции. Информатика

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

Подробнее

Объявление объектов данных Типы данных Типы данных языка С Преобразование типов в языке С Типы данных языка object

Объявление объектов данных Типы данных Типы данных языка С Преобразование типов в языке С Типы данных языка object Содержание Об авторах................................................... 4 Глава 1. Введение в программирование.......................... 13 Лекция 1. Развитие языков программирования...................

Подробнее

Вопросы к зачету по курсу «Компьютерные технологии» уч.год, осенний семестр, ИФНиТ, направление «Физика»

Вопросы к зачету по курсу «Компьютерные технологии» уч.год, осенний семестр, ИФНиТ, направление «Физика» Вопросы к зачету по курсу «Компьютерные технологии» 2016-17 уч.год, осенний семестр, ИФНиТ, направление «Физика» 1. Базовые понятия информатики: информация, классификации знаний, информационных процессов,

Подробнее

Содержание. Часть I. Основы 29. Предисловие 17. Благодарности 18. Глава 1. Об этой книге 21. Глава 2. Шаблоны функций 31. Глава 3. Шаблоны классов 43

Содержание. Часть I. Основы 29. Предисловие 17. Благодарности 18. Глава 1. Об этой книге 21. Глава 2. Шаблоны функций 31. Глава 3. Шаблоны классов 43 Содержание Предисловие 17 Благодарности 18 Глава 1. Об этой книге 21 1.1. Что необходимо знать, приступая к чтению этой книги 22 1.2. Структура книги в целом 22 1.3. Как читать эту книгу 23 1.4. Некоторые

Подробнее

Языки программирование. Лектор Азарченков А.А.

Языки программирование. Лектор Азарченков А.А. Языки программирование Лектор Азарченков А.А. Написание программ в машинных кодах Компьютерная программа логически упорядоченная последовательность команд, предназначенных для управления компьютером. Машинный

Подробнее

Оптимизация программ

Оптимизация программ Оптимизация программ Оптимизация программы - это изменение компилируемой программы ( в основном переупорядочивание и замена операций) с целью получения более эффективной объектной программы. Используются

Подробнее

Факультет компьютерных наук Кафедра вычислительных систем

Факультет компьютерных наук Кафедра вычислительных систем Факультет компьютерных наук Кафедра вычислительных систем КОНТРОЛЬНЫЕ ЗАДАНИЯ по дисциплине «Системное программное обеспечение» Тема «LR(0)-распознаватели» Цель работы: Закрепление навыков и знаний по

Подробнее

Метод получения функции трудоѐмкости рекурсивных алгоритмов на основе анализа порожденного дерева рекурсии

Метод получения функции трудоѐмкости рекурсивных алгоритмов на основе анализа порожденного дерева рекурсии УДК 510.52 1 Малов Д. Н., канд. техн. наук, доц., Национальный исследовательский университет Высшая школа экономики Ульянов М. В., д-р техн. наук, проф., Московский государственный университет печати,

Подробнее

Прикладное Программное Обеспечение - бакалавры 2010/2011 Лекция Библиотеки программ

Прикладное Программное Обеспечение - бакалавры 2010/2011 Лекция Библиотеки программ Библиотеки программ С точки зрения системы программирования, библиотеки программ состоят из двух основных компонентов: файл (или множество файлов) библиотеки, содержащий объектный код, файлы описаний функций,

Подробнее

Базовое программное обеспечение процессора NM6403

Базовое программное обеспечение процессора NM6403 Введение Базовое программное обеспечение (БПО) нейропроцессора NM6403 обеспечивает полный цикл разработки и отладки прикладных программ. БПО позволяет разрабатывать прикладные программы на языке Си++ и

Подробнее

Языки программирования

Языки программирования 4. Вопросы трансляции языка Структура компилятора Исходный код Этапы анализа исходной программы Лексический анализатор Лексемы Синтаксический анализатор Дерево грам. разбора Семантический анализатор Таблица

Подробнее

АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ И ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ

АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ И ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ имени академика С.П. КОРОЛЕВА»

Подробнее

Задание 1. Ваша программа должна выполнять следующие действия:

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

Подробнее

ГОУ ВПО Российско-Армянский (Славянский) университет. Ученое звание, ученая степень, Ф.И.О ЕРЕВАН

ГОУ ВПО Российско-Армянский (Славянский) университет. Ученое звание, ученая степень, Ф.И.О ЕРЕВАН ГОУ ВПО РОССИЙСКО-АРМЯНСКИЙ (СЛАВЯНСКИЙ) УНИВЕРСИТЕТ Составлен в соответствии с государственными требованиями к минимуму содержания и уровню подготовки выпускников по направлению ПМИ и Положением «Об УМКД

Подробнее

Современные технологии программирования

Современные технологии программирования Гуляев Г.М. Современные технологии программирования Лекция 1. Проблемы разработки ПО Центр компетенции СПО Алтайского края LOGO Языки программирования Компьютер - это реальное или виртуальное устройство

Подробнее

8.1. Общие сведения о структурном программировании

8.1. Общие сведения о структурном программировании 8. * Структурное программирование 8.1. Общие сведения о структурном программировании 8.1.1. Программа и подпрограмма Программирование интенсивно развивается с середины прошлого века, формируясь в сферу

Подробнее

Лабораторная работа 3. Таблицы идентификаторов

Лабораторная работа 3. Таблицы идентификаторов Лабораторная работа 3. Таблицы идентификаторов Теоретические сведения... 1 Выбор хэш-функции... 6 Мультипликативные хэш-функции... 6 Универсальные хэш-функции... 7 Устранение коллизий... 7 Метод цепочек...

Подробнее

Дополнительная общеобразовательная программа

Дополнительная общеобразовательная программа Муниципальное бюджетное образовательное учреждение дополнительного образования детей ЦЕНТР ДЕТСКОГО НАУЧНО-ТЕХНИЧЕСКОГО ТВОРЧЕСТВА «ИНФОРМАТИКА+» «Согласована» на заседании МС Протокол 1 от «28» августа

Подробнее

начинаться с буквы латинского алфавита, символа подчёркивания или доллара: не совпадать с каком-либо ключевым словом:

начинаться с буквы латинского алфавита, символа подчёркивания или доллара: не совпадать с каком-либо ключевым словом: Часть 2 1.2. Переменные и типы данных В этом модуле будет рассказано о: 1.2.1. переменных и работе с ними; 1.2.2. типах данных и числовом типе данных; 1.2.3. строковом типе данных; 1.2.4. логическом типе

Подробнее

МИНОБРНАУКИ РОССИИ ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ФАКУЛЬТЕТ ИНФОРМАТИКИ Рабочая программа дисциплины ПРОГРАММИРОВАНИЕ 1 (основы) Направление подготовки 010300 Фундаментальная информатика и информационные

Подробнее

struct circle { double x, y, r; int c; }; struct circle c1; struct foo { struct bar { double x; }; int y; struct bar z; }; struct bar t;

struct circle { double x, y, r; int c; }; struct circle c1; struct foo { struct bar { double x; }; int y; struct bar z; }; struct bar t; 1 Занятие 6 1.1 Структуры Ранее мы рассмотрели методы определения и работы с массивами и перечислимыми типами. Теперь рассмотрим определение и использование структур. Структура в языке Си это объединение

Подробнее

Приложение (обязательное) ФОС оформлен в виде отдельного файла и является неотъемлемой и обязательной составляющей рабочей программы дисциплины.

Приложение (обязательное) ФОС оформлен в виде отдельного файла и является неотъемлемой и обязательной составляющей рабочей программы дисциплины. Приложение (обязательное) Фонд оценочных средств по дисциплине "Языки и системы программирования. Технология разработки программного обеспечения " ФОС оформлен в виде отдельного файла и является неотъемлемой

Подробнее

Указатели, функции и работа с файлами в C. Лекция 7 Информатика

Указатели, функции и работа с файлами в C. Лекция 7 Информатика Указатели, функции и работа с файлами в C Лекция 7 Информатика Типизированные указатели char *c; // указатель на char int *i, j; // указатель на int и просто int i=&j; // i присвоить адрес j *i=1; // разыменованный

Подробнее

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

Классификация языков и грамматик 30 Содержание Предисловие 11 Введение 13 Глава 1. Формальные языки и грамматики 15 Языки и цепочки символов. Способы задания языков 15 Цепочки символов. Операции над цепочками символов 15 Понятие языка. Формальное

Подробнее

Volume 2: Design Implementation and Optimization 3. Tcl скриптирование Перевод: Егоров А.В., 2011 г.

Volume 2: Design Implementation and Optimization 3. Tcl скриптирование Перевод: Егоров А.В., 2011 г. Основы Tcl скриптов Команды ядра Tcl поддерживают переменные, структуры контроля и процедуры. В дополнении, эти команды используются для доступа к файловой системе и сетевым разъѐмам, а также для запуска

Подробнее

ИНСТРУМЕНТЫ И СРЕДСТВА ПРОГРАММИРОВАНИЯ

ИНСТРУМЕНТЫ И СРЕДСТВА ПРОГРАММИРОВАНИЯ Министерство образования Республики Беларусь Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники» Кафедра информатики А.А. Волосевич ИНСТРУМЕНТЫ И СРЕДСТВА ПРОГРАММИРОВАНИЯ

Подробнее

Алгоритмы и программы

Алгоритмы и программы Кафедра информационных систем и технологий http://edu.msiu.ru Е.А. Роганов Алгоритмы и программы Алгоритмы и программы 1 / 6 Алгоритм описание последовательности действий, достаточно определённое для того,

Подробнее

Программа курса C++, Академический университет, кафедра МиИТ

Программа курса C++, Академический университет, кафедра МиИТ Программа курса C++, Академический университет, кафедра МиИТ Курс расчитан на студентов, владеющих синтаксисом хотя бы одного из стандартных структурных языков программирования (C, Pascal, Fortran, и т.п.).

Подробнее

Содержание. Содержание 7

Содержание. Содержание 7 Содержание Об авторе 15 Благодарность 16 Введение 17 Актуален ли язык программирования C 17 Подход, используемый в данной книге 17 Как работает эта книга 18 Использованные пиктограммы 19 Мысли на бегу

Подробнее

РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА по дисциплине «Системное программирование»

РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА по дисциплине «Системное программирование» МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ «МАТИ» РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ им. К. Э. ЦИОЛКОВСКОГО Кафедра «Моделирование систем и информационные технологии» «УТВЕРЖДАю»

Подробнее

Лекции по курсу Алгоритмы и алгоритмические языки, 1 курс, 1 поток, 2010/2011 уч.год.

Лекции по курсу Алгоритмы и алгоритмические языки, 1 курс, 1 поток, 2010/2011 уч.год. Лекция 8 Массивы и указатели 8.1. Указатели 8.1.1. Организация памяти в компьютере массив последовательно пронумерованных (адресуемых) ячеек, которые можно обрабатывать по отдельности, либо группами. Указатель

Подробнее

Пензенский Государственный Университет. Факультет вычислительной техники. Кафедра «Системы автоматизации проектирования»

Пензенский Государственный Университет. Факультет вычислительной техники. Кафедра «Системы автоматизации проектирования» Пензенский Государственный Университет Факультет вычислительной техники Кафедра «Системы автоматизации проектирования» ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ Рабочая программа учебной дисциплины по

Подробнее

Курсовая работа по дисциплине «Основы конструирования программ»

Курсовая работа по дисциплине «Основы конструирования программ» Курсовая работа по дисциплине «Основы конструирования программ» Исходные данные к работе 1. Индивидуальное задание выбирается из списка, приведенного в одноименном файле. 2. Язык программирования С++.

Подробнее

Разработка системной поддержки вызова программ, реализованных на языке Fortran, из среды Java.

Разработка системной поддержки вызова программ, реализованных на языке Fortran, из среды Java. использованием JNI, которая показала эффективность предложенной методики. Разработка системной поддержки вызова программ, реализованных на языке, из среды. С.С. Гайсарян, К.Н. Долгова Аннотация. Статья

Подробнее

РАБОЧАЯ ПРОГРАММА дисциплины ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

РАБОЧАЯ ПРОГРАММА дисциплины ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ» ИНСТИТУТ

Подробнее

Концепции языков программирования

Концепции языков программирования Лекция 1. Вводная Глухих Михаил Игоревич, к.т.н., доц. mailto: glukhikh@mail.ru Беляев Михаил Владимирович, асп. История языков начало Машинные коды Assembler(~1950) Fortran (1954-1957) императивный язык

Подробнее

о значениях и ссылках

о значениях и ссылках 8 Основные сведения о значениях и ссылках Прочитав эту главу, вы научитесь: ¾ объяснять разницу между типом значений и типом ссылок; ¾ изменять способ передачи аргументов в качестве параметров методов

Подробнее

Алгоритмизация и программирование

Алгоритмизация и программирование Алгоритмизация и программирование Программирование на С/С++ (ч.12 указатели) Беркунский Е.Ю., кафедра ИУСТ, НУК eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Указатели Указатель переменная, значением

Подробнее

Содержание Введение Глава 1. Основы операционной системы Symbian Глава 2. Структура проекта на Symbian C++

Содержание Введение Глава 1. Основы операционной системы Symbian Глава 2. Структура проекта на Symbian C++ Содержание Введение 11 О чем эта книга 11 Чего нет в этой книге 12 Инструменты, которые вам потребуются 13 Знания, необходимые для изучения Symbian C++ 14 Как работать с книгой 15 Ресурсы для разработчика

Подробнее

Безопасность предпосылки, определение, инструменты

Безопасность предпосылки, определение, инструменты Русскоязычный перевод документации Eiffel по технологии безопасности void safety Аннотация. При проектировании структур данных в ПО часто приходится иметь дело с несуществующими ссылками (null в терминологии

Подробнее

1. Пояснительная записка. Рабочая программа по информатике для 9 класса основной школы разработана

1. Пояснительная записка. Рабочая программа по информатике для 9 класса основной школы разработана 1. Пояснительная записка Рабочая программа по информатике для 9 класса основной школы разработана в соответствии: 1.С требованиями Федерального Государственного образовательного стандарта общего образования

Подробнее

Программирование в C++ Преподаватель Колотова Людмила Павловна

Программирование в C++ Преподаватель Колотова Людмила Павловна Программирование в C++ Преподаватель Колотова Людмила Павловна 2 Содержание 9-го занятия по практике Указатели. Адреса и указатели. Указатель на void Указатели и массивы. Указатели и строки Диаграммы UML

Подробнее

Предисловие ко второму изданию Вступление От издательства Тема 1. Как написать простую программу на Паскале...

Предисловие ко второму изданию Вступление От издательства Тема 1. Как написать простую программу на Паскале... Содержание Предисловие ко второму изданию... 15 Вступление.... 16 От издательства... 16 Тема 1. Как написать простую программу на Паскале.... 17 Урок 1.1. Выводим сообщение на экран дисплея... 18 Урок

Подробнее

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА ПРОГРАММА вступительного испытания ПО ПРЕДМЕТУ «ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ» (УСТНО) для специальности 1-40 01 01 «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ» (ЗАОЧНАЯ ФОРМА ПОЛУЧЕНИЯ

Подробнее

Глава Последовательный поиск в массиве

Глава Последовательный поиск в массиве Глава 4.10. Последовательный поиск в массиве В программирование поиск - одна из наиболее часто встречающихся задач не вычислительного характера. Можно выделить следующие типовые задачи поиска: 1) найти

Подробнее

ОПТИМИЗАЦИЯ ОРГАНИЗАЦИИ ТАБЛИЦ СИМВОЛОВ ПРИ ПОСТРОЕНИИ КОМПИЛЯТОРОВ

ОПТИМИЗАЦИЯ ОРГАНИЗАЦИИ ТАБЛИЦ СИМВОЛОВ ПРИ ПОСТРОЕНИИ КОМПИЛЯТОРОВ УДК 681.3.06 С.Ю. ГАРИЛЕНКО, канд. техн. наук, НТУ "ХПИ", А.М. ФИЛОНЕНКО, канд. техн. наук, НТУ "ХПИ", Р.Ю. КОМАРЕ, НТУ "ХПИ" ОПТИМИЗАЦИЯ ОРГАНИЗАЦИИ ТАБЛИЦ СИМОЛО ПРИ ПОСТРОЕНИИ КОМПИЛЯТОРО Розглянуто

Подробнее

Об авторах 15 Посвящения 15 Благодарности 15 Ждем ваших отзывов! 16

Об авторах 15 Посвящения 15 Благодарности 15 Ждем ваших отзывов! 16 Содержание Об авторах 15 Посвящения 15 Благодарности 15 Ждем ваших отзывов! 16 Введение 17 Что вы узнаете из этой книги 17 Требуемые навыки 17 Жизнь до сводных таблиц 18 Изобретение сводной таблицы 20

Подробнее

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

Прототип. Каждый объект имеет секретную ссылку на другой объект-родитель прототип. Динамическая связь изменения родителя сразу видны детям ООП в JavaScript Прототип Каждый объект имеет секретную ссылку на другой объект-родитель прототип Динамическая связь изменения родителя сразу видны детям Способ одиночного наследования. Связь используется

Подробнее

Лабораторная работа 9.

Лабораторная работа 9. Лабораторная работа 9. Функции пользователя Приёмы построения алгоритмов Для создания работающей программы разработчик должен пройти три основных этапа: проектирование построение алгоритма решения поставленной

Подробнее