ЛЕКЦИЯ 3. КЛАССЫ ХРАНЕНИЯ, СВЯЗЫВАНИЕ И УПРАВЛЕНИЕ ПАМЯТЬЮ

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "ЛЕКЦИЯ 3. КЛАССЫ ХРАНЕНИЯ, СВЯЗЫВАНИЕ И УПРАВЛЕНИЕ ПАМЯТЬЮ"

Транскрипт

1 ЛЕКЦИЯ 3. КЛАССЫ ХРАНЕНИЯ, СВЯЗЫВАНИЕ И УПРАВЛЕНИЕ ПАМЯТЬЮ Содержание 1. Область видимости Длительность хранения Связывание Классы хранения Автоматические переменные Регистерные переменные Статические переменные без связывания Статические переменные с внешним связыванием Статические переменные с внутренним связыванием Пример на пять классов хранения Область видимости Область видимости (ОВ) это одна или несколько областей программы, которые могут осуществлять доступ к идентификатору. Типы ОВ: блочная ОВ; ОВ функционального прототипа; файловая ОВ. Блочная ОВ используется в большинстве случаев. Блоком при этом называется фрагмент программного кода, заключённый в фигурные скобки, например, тело функции; составной оператор. Переменная, определённая внутри блока, имеет блочную ОВ. Такая переменная

2 доступна с той точки, в которой она определена, до конца блока. Локальные переменные, используемые для присваивания данных, включая формальные функциональные аргументы, имеют блочную ОВ. Пример 1. float f (float x) int i = 0; return i; for (i=0; i<n; i++) int count; count = i*20; Переменные с блочной ОВ должны быть объявлены в начале блока. Локальные переменные имеют приоритет. Пример 2. int main() int x=30; printf("%d\n", x); int x=77; printf("%d\n", x); printf("%d\n", x); while (x++ < 33) int x = 100; x++; printf("%d\n", x);

3 Приведённому выше коду будет соответствовать следующий вывод: ОВ функционального прототипа применяется по отношению к прототипам функций. Простирается от места определения функции до конца прототипа (существенно для передачи массивов переменной длины). Переменная, размещённая вне какого-либо блока, имеет файловую ОВ. Такие переменные могут применяться в нескольких функциях, они носят название глобальных переменных. Для использования глобальных переменных в функции необходимо объявить об этом при помощи ключевого слова extern. 2. Длительность хранения Различают статическую и динамическую длительность хранения. При статической длительности хранения переменные существуют во время выполнения всей программы. Чаще всего это переменные с файловой ОВ. Статические переменные объявляются при помощи ключевого слова static. Переменные с динамической длительностью хранения существуют только во вре

4 мя вызова блока, в котором объявляется переменная. Рассмотрим разницу между статическими и динамическими переменными на примере. Пример 3. #include<stdio.h> int plus1 (void) int plus2 (void) int main() int i,x; printf("call to plus1\n"); for (i=0; i<3; i++) x=plus1(); printf ("%d\n", x); printf("call to plus2\n"); for (i=0; i<3; i++) x=plus2(); printf ("%d\n", x); int plus1(void) int x=0; x++; return x; int plus2(void) static int x=0; x++; return x; На стандартный вывод будет выведена следующая информация:

5 call to plus call to plus Связывание Различают внешнее (используемое во всей программе), внутреннее (используемое только в пределах одного файла) связывание и отсутствие связывания (для блочных ОВ и ОВ функционального прототипа). Если встречается несколько объявлений, имеющих одинаковый идентификатор и описывающих объект, то все эти объявления в случае внешней связи относятся к одному объекту уникальному для всей программы. Если связь внутренняя, то свойство уникальности распределяется только на единицу трансляции. Примечание: если первое внешнее объявление объекта имеет спецификатор static, то оно описывает идентификатор с внутренней связью, если спецификатора нет то со внешней связью. Пример 4. int first =1;

6 static int second =3; int main(). 4. Классы хранения ОВ, тип связывания и длительность хранения формируют класс хранения. Существуют пять классов хранения: Класс хранения Длительность хранения Область видимости Связывание automatic автоматическая блочная нет в блоке Определение register автоматическая блочная нет в блоке с register static с внешним связыванием static с внутренним связыванием static без связывания статическая файловая внешнее статическая файловая внутреннее внешнее для всех функций, со static статическая блочная нет в блоке со static 4.1. Автоматические переменные Автоматическими переменными, по умолчанию, являются любые переменные, описанные в блоке или заголовке функции. Для описания таких переменных возможно использование ключевого слова auto. Особенности автоматических переменных: 1. Только блок, в котором определена переменная, может обеспечить доступ к переменной по имени.

7 2. Когда программа покидает блок, автоматическая переменная уничтожается. 3. Автоматические переменные не инициализируются до тех пор, пока эта операция не будет выполнена явно. Пример 5. int loop (int n) int m; // начало ОВ переменной m scanf("%d", &m); int i; // начало ОВ i for (i=0; i<m; i++) printf ("%d\n",i); // конец ОВ i return m; // конец ОВ переменной m 4.2. Регистерные переменные Регистерные переменные хранятся в регистрах ЦП. Ключевое слово для их объявления register Статические переменные без связывания ОВ таких переменных совпадает с ОВ автоматических переменных, но данные переменные не исчезают в случае завершения выполнения содержащей их функции. Значения сохраняются в промежутках между вызовами функции, до завершения работы программы. С помощью таких переменных можно, например, подсчитывать число вызовов функции.

8 4.4. Статические переменные с внешним связыванием - это глобальные (внешние) переменные. Для их использования внутри каждой функции обязательно должно приводиться ключевое слово extern. Пример 6. int a; float b; void next (void); int main() extern int a; // определение связь // доп.объявление Переменные с внешним связыванием имеют пониженные приоритет. Пример 7. // 1. Одна внешняя переменная z. int z; int pt(void); int main (void) extern int z; int pt(void) extern int z; // 2. Одна внешняя переменная z. int z; int pt(void);

9 int main (void) extern int z; int pt(void)... // extern отсутствует, но z известна по умолчанию // 3. Несколько внешних переменных. int z; int pt(void); int main (void) extern int z; int z2; // z2 не известна функции main() int pt(void) extern int z2; 4.5. Статические переменные с внутренним связыванием Определяются вне какой-либо функции, спецификатор класса static. Пример 8. static int i =1; int main (void)... Различие между внутренним и внешним связыванием важно только в том случае, когда программа построена на основе нескольких файлов.

10 4.6. Пример на пять классов хранения // ФАЙЛ 1.c #include<stdio.h> void rep(); void new (int ); int с =0; // файловая ОВ, внешнее связывание int main() int value; register int i; while (scanf("%d", &value) == 1 && value >0) ++c; for (i=value; i>=0; i--) new (i); rep(); return 0; // ФАЙЛ 2.c #include<stdio.h> extern int с; static int e =0; void new (int k) // k блочная ОВ, без связывания static int subc=0; // стат., без связывания if (k<=0) printf ("%d", k); else subc+=k; e+=k;

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

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

Подробнее

Сборка программы на языке C

Сборка программы на языке C А. Г. Фенстер, fenster@fenster.name 9 февраля 2010 г. 1 Сборка программы из нескольких файлов Программы на языке C обычно состоят из нескольких файлов с исходным кодом. Рассмотрим этапы сборки программы

Подробнее

Теория и технология программирования Основы программирования на языках C и C++

Теория и технология программирования Основы программирования на языках C и C++ Теория и технология программирования Основы программирования на Лекция 13. Области действия и времена жизни Глухих Михаил Игоревич, к.т.н., доц. mailto: glukhikh@mail.ru Основные понятия Область действия

Подробнее

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

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

Подробнее

Содержание: указатели массивы и указатели динамическое размещение массивов глобальные переменные

Содержание: указатели массивы и указатели динамическое размещение массивов глобальные переменные Тема : знакомство с С (Си) УКАЗАТЕЛИ и МАССИВЫ (динамическое размещение) Содержание: указатели массивы и указатели динамическое размещение массивов глобальные переменные Указатели Указатель это адрес памяти,

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекции 4-5

Курс «Алгоритмы и алгоритмические языки» Лекции 4-5 Курс «Алгоритмы и алгоритмические языки» Лекции 4-5 1 Первая программа на Си #include int main (void) printf ("Hello, world\n"); return 0; Программа: объявления переменных или функций определения

Подробнее

Язык Си. Реализация списков с помощью цепочек динамических объектов

Язык Си. Реализация списков с помощью цепочек динамических объектов Язык Си. Реализация списков с помощью цепочек динамических объектов А. А. Вылиток В языке Си нет встроенных типов данных и операций для работы со списками. Программируя на языке Паскаль (в котором также

Подробнее

Инструкции C++ May 25, А.И. Гуда. Кафедра ИТС НМетАУ c C++ Statements / Инструкции C++

Инструкции C++ May 25, А.И. Гуда. Кафедра ИТС НМетАУ c C++ Statements / Инструкции C++ Инструкции C++ Это произведение доступно по лицензии Creative Commons Attribution-ShareAlike ( Атрибуция На тех же условиях ) 3.0 Непортированная. http://creativecommons.org/licenses/by-sa/3.0/deed.ru

Подробнее

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

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

Подробнее

ООП. С++. Вопросы для проверки и закрепления знаний. 7. Проанализируйте ранее разработанные Вами программы

ООП. С++. Вопросы для проверки и закрепления знаний. 7. Проанализируйте ранее разработанные Вами программы ООП. С++. Вопросы для проверки и закрепления знаний. 1. Проанализируйте ранее разработанные Вами программы и ответьте на вопрос: в каких из них наблюдается слабая связь между структурой данных и функционированием

Подробнее

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

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

Подробнее

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

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

Подробнее

1. Определение пространства имен 2. Анонимные пространства имен

1. Определение пространства имен 2. Анонимные пространства имен Лекция 16 Тема: Пространства имен План: 1. Определение пространства имен 2. Анонимные пространства имен 3. Стандартное пространство имен 4. Оператор разрешения области видимости 5. Объявление using 6.

Подробнее

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

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

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016. Лекция 7

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016. Лекция 7 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2015/2016 Лекция 7 1 Преобразование типов При присваивании: a = b Широкий целочисленный тип в узкий : отсекаются старшие биты Знаковый тип в беззнаковый:

Подробнее

Ñîäåðæàíèå Предисловие Предисловие к первому изданию Введение Глава 1. Вводный урок Глава 2. Типы данных, операции и выражения

Ñîäåðæàíèå Предисловие Предисловие к первому изданию Введение Глава 1. Вводный урок Глава 2. Типы данных, операции и выражения Ñîäåðæàíèå Предисловие 11 Предисловие к первому изданию 13 Введение 15 Глава 1. Вводный урок 19 1.1. Первые шаги 19 1.2. Переменные и арифметические выражения 22 1.3. Оператор for 27 1.4. Символические

Подробнее

Языки и методы программирования. Электронные тесты промежуточного контроля знаний

Языки и методы программирования. Электронные тесты промежуточного контроля знаний МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ имени академика

Подробнее

ИНФОРМАТИКА, 11 класс Демонстрационный вариант, март Сколько единиц в двоичной записи восьмеричного числа 752 8?

ИНФОРМАТИКА, 11 класс Демонстрационный вариант, март Сколько единиц в двоичной записи восьмеричного числа 752 8? Демонстрационный вариант работа по ИНФОРМАТИКЕ и ИКТ Инструкция по выполнению работы На выполнение краевой диагностической работы по математике дается 45 минут. Работа состоит из тринадцати заданий. Задания

Подробнее

ЛЕКЦИЯ 5 ДИНАМИЧЕСКИЕ МАССИВЫ И ПРИМЕРЫ РАБОТЫ С УКАЗАТЕЛЯМИ

ЛЕКЦИЯ 5 ДИНАМИЧЕСКИЕ МАССИВЫ И ПРИМЕРЫ РАБОТЫ С УКАЗАТЕЛЯМИ ЛЕКЦИЯ 5 ДИНАМИЧЕСКИЕ МАССИВЫ И ПРИМЕРЫ РАБОТЫ С УКАЗАТЕЛЯМИ 1. Функция суммирования элементов массива 1.1. Реализация функции суммирования без использования указателей Имеется массив a из 5 элементов.

Подробнее

Программы из нескольких файлов

Программы из нескольких файлов 102 В.Л. Тарасов Лекции по программированию на C++ Лекция 8 Программы из нескольких файлов Как правило, исходные тексты программ на C++ размещают в нескольких файлах. Это удобно, так как небольшой код

Подробнее

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

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

Подробнее

Объектно-ориентированное программирование. Лекция 13

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

Подробнее

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

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

Подробнее

Содержание. Об авторе

Содержание. Об авторе Содержание Об авторе Введение Что нового в третьем издании О версии C++ Как работать с этой книгой Если вы работаете под управлением Windows Программный код из Web-пространства Что еще почитать Ждем ваших

Подробнее

Элементы Языка СИ... 4 Используемые символы... 4 Константы... 4 Идентификатор... 6 Ключевые слова... 6 Использование комментариев в тексте

Элементы Языка СИ... 4 Используемые символы... 4 Константы... 4 Идентификатор... 6 Ключевые слова... 6 Использование комментариев в тексте Элементы Языка СИ... 4 Используемые символы... 4 Константы... 4 Идентификатор... 6 Ключевые слова... 6 Использование комментариев в тексте программы... 7 Типы данных и их объявление... 7 Категории типов

Подробнее

Задания C2 по информатике

Задания C2 по информатике Задания C2 по информатике 1. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 1000 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм,

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 29 Создание приложения с разветвленным меню. Динамические массивы

ЛАБОРАТОРНАЯ РАБОТА 29 Создание приложения с разветвленным меню. Динамические массивы ЛАБОРАТОРНАЯ РАБОТА 29 Создание приложения с разветвленным меню. Динамические массивы Цели: научиться применять указатели; научиться работать с динамическими массивами; закрепить умение по обработке ошибок;

Подробнее

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

Лабораторная работа 9 Лабораторная работа 9 Алгоритмизация и программирование ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ УНИВЕРСИТЕТ ФАКУ ЛЬТЕТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И МЕХАТРОНИКИ Кафедра информационных технологий и мехатроники

Подробнее

4.13 Список аргументов переменной длины

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

Подробнее

Программирование и основы алгоритмизации. К.т.н., доцент Гаврилов Андрей Владимирович V-241

Программирование и основы алгоритмизации. К.т.н., доцент Гаврилов Андрей Владимирович   V-241 Программирование и основы алгоритмизации К.т.н., доцент Гаврилов Андрей Владимирович Email: andr_gavrilov@yahoo.com V-241 Цели курса Дальнейшее изучение программирования на языке С Технологии программирования

Подробнее

Объекты и наследование в Javascript

Объекты и наследование в Javascript Объекты и наследование в Javascript Часть 1. Введение в Javascript. (И немного о замыканиях) Блоки и комментарии С-подобный синтаксис В конце строки необязательная точка с запятой Блок задаётся фигурными

Подробнее

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

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

Подробнее

Язык программирования Си. Семинар 9. Зачет: методика его проведения, теоретический минимум и типовые задания.

Язык программирования Си. Семинар 9. Зачет: методика его проведения, теоретический минимум и типовые задания. Язык программирования Си Бикулов Д.А., Иваницкая Н.В., Иванов А.П. Семинар 9. Зачет: методика его проведения, теоретический минимум и типовые задания. Зачет проводится в практикуме и состоит из двух частей:

Подробнее

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

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

Подробнее

ПЕРЕМЕННЫЕ И КОНСТАНТЫ

ПЕРЕМЕННЫЕ И КОНСТАНТЫ ПЕРЕМЕННЫЕ И КОНСТАНТЫ Переменные Основной способ сохранения информации в ходе выполнения программы PHP состоит в использовании переменных; этот способ предусматривает выбор некоторого имени переменной

Подробнее

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

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

Подробнее

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

Язык программирования Си Язык программирования Си Алфавит языка Си прописные и строчные буквы латинского алфавита A,..., Z, a,..., z цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 специальные знаки, {} [] () + - / % \ ;. :? < = > _! & * #

Подробнее

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ. Наследование в языке C++

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ. Наследование в языке C++ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ Наследование в языке C++ НАСЛЕДОВАНИЕ 2 3 НАСЛЕДОВАНИЕ Наследование упорядочивает и ранжирует классы Механизм наследования классов позволяет строить иерархии,

Подробнее

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

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

Подробнее

Лабораторная работа 2 Разработка и отладка алгоритмов и программ с использованием указателей

Лабораторная работа 2 Разработка и отладка алгоритмов и программ с использованием указателей Лабораторная работа 2 Разработка и отладка алгоритмов и программ с использованием указателей 1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков работы с указателями. 2. ОСНОВНЫЕ ПОНЯТИЯ Указатель это переменная,

Подробнее

Математики и математических методов в экономике 2. Направление подготовки

Математики и математических методов в экономике 2. Направление подготовки 8. Фонд оценочных средств для проведения промежуточной аттестации обучающихся по дисциплине: Общие сведения 1. Кафедра Математики и математических методов в экономике 2. Направление подготовки 01.03.02

Подробнее

Лабораторная работа 10 Двумерные массивы

Лабораторная работа 10 Двумерные массивы Лабораторная работа 10 Двумерные массивы Кроме последовательностей элементов одного типа, рассмотренных в предыдущей лабораторной работе, в математике и в программировании также встречаются так называемые

Подробнее

IDK1031 Основы Click to edit Master title style программирования на языке С. Указатели и адреса. Арифметика указателей.

IDK1031 Основы Click to edit Master title style программирования на языке С. Указатели и адреса. Арифметика указателей. IDK1031 Основы Click to edit Master title style программирования на языке С Указатели и адреса. Арифметика указателей. Указатель Указатель переменная, значением которой является адрес. Указатели делают

Подробнее

Глава 1 Типы данных, переменные и константы

Глава 1 Типы данных, переменные и константы Глава 1 Типы данных, переменные и константы 1 Языки C и C++ предлагают программисту богатый ассортимент встроенных типов данных. При этом для удовлетворения практически любых нужд могут быть созданы типы

Подробнее

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

Программирование в C++ Преподаватель Колотова Людмила Павловна Программирование в C++ Преподаватель Колотова Людмила Павловна 2 Содержание 6-го занятия по практике Объекты и классы. Простой класс. Определение класса. Вызов методов класса Объекты программы и объекты

Подробнее

Примерный перечень вопросов по дисциплине «Программирование для Интернета» для подготовки к 1-му рубежному контролю

Примерный перечень вопросов по дисциплине «Программирование для Интернета» для подготовки к 1-му рубежному контролю Рубежный контроль по дисциплине «Программирование для Интернета» будет проводиться 13 октября 2014 года, время проведения 10:10, аудитория 1104 Явка всех студентов групп ИС-108, ИС-208 с строго обязательна

Подробнее

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

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

Подробнее

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

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

Подробнее

Лабораторная работа 4. Массивы и индексаторы Теоретические сведенья 1. Структура массива в С# Массив это коллекция переменных одинакового типа,

Лабораторная работа 4. Массивы и индексаторы Теоретические сведенья 1. Структура массива в С# Массив это коллекция переменных одинакового типа, Лабораторная работа 4. Массивы и индексаторы Теоретические сведенья 1. Структура массива в С# Массив это коллекция переменных одинакового типа, обращение к которым происходит с использованием общего для

Подробнее

Пользовательские процедуры и функции языка Паскаль.

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

Подробнее

Последовательные операторы VHDL-описания

Последовательные операторы VHDL-описания Последовательные операторы VHDL-описания В языке VHDL последовательные операторы (sequential statement) подобны операторам языков высокого уровня. Последовательные операторы называют также операторами

Подробнее

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

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

Подробнее

Классы, объекты и методы

Классы, объекты и методы 4 Классы, объекты и методы 4.1. Введение Эта глава начинается с объяснения концепции классов на реальном примере. Затем будут рассмотрены пять приложений, которые демонстрируют принципы создания и использования

Подробнее

Тест: Начала программирования

Тест: Начала программирования Задано 30 вопросов из 30 запланированных. Тест: Начала программирования Вопрос 1 Описать переменную это значит указать её: ) имя и значение ) имя и тип ) тип и значение ) имя, тип и значение Вопрос 2 Чему

Подробнее

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

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

Подробнее

Задачи Олимпиады школьников СПбГУ по информатике года. 1. Упрощенные

Задачи Олимпиады школьников СПбГУ по информатике года. 1. Упрощенные Задачи Олимпиады школьников СПбГУ по информатике 2011-2014 года 1. Упрощенные Проверка работ показала, что с задачами данного типа успешно справились не более 45-50% участников олимпиады. Задачи с 1 по

Подробнее

Система трансляции программ в Unix 1.1 Схема трансляции программы Препроцессирование. Трансляция в ассемблер. Ассемблирование. Компоновка.

Система трансляции программ в Unix 1.1 Схема трансляции программы Препроцессирование. Трансляция в ассемблер. Ассемблирование. Компоновка. 1 Система трансляции программ в Unix 1.1 Схема трансляции программы Рассмотрим схему трансляции программы на языке Си, которая традиционно используется в системах Unix. Трансляция программы состоит из

Подробнее

Введение в ООП на C++: классы, объекты, поля, методы, операторы

Введение в ООП на C++: классы, объекты, поля, методы, операторы Введение в ООП на C++: классы, объекты, поля, методы, операторы А. Г. Фенстер, fenster@fenster.name 17 сентября 2010 г. Конспект семинара 1 по объектно-ориентированному программированию. Пожалуйста, не

Подробнее

Code Conventions. (for the Java Programming Language)

Code Conventions. (for the Java Programming Language) Code Conventions (for the Java Programming Language) Зачем? 80% времени жизни ПО находится в поддержке Почти никогда ПО не поддерживается автором Соглашение об именовании улучшает читаемость кода, ускоряя

Подробнее

5. ПОСЛЕДОВАТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ

5. ПОСЛЕДОВАТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ 5. ПОСЛЕДОВАТЕЛЬНАЯ ОБРАБОТКА ДАННЫХ 5.1. Приемы последовательной обработки данных В ряде задач последовательность элементов исходных данных вводится и обрабатывается по одному элементу в том порядке,

Подробнее

«Утверждаю» Заведующий кафедрой /О.И.Наранович/ «29»_ г. Пр. 7

«Утверждаю» Заведующий кафедрой /О.И.Наранович/ «29»_ г. Пр. 7 «Утверждаю» Заведующий кафедрой /О.И.Наранович/ «29»_08 2016 г. Пр. 7 Вопросы к экзамену по дисциплине «Объектно-ориентированное программирование» по специальности «Информационные системы и технологии»

Подробнее

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

Основные понятия языка программирования VBA ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования «Нижегородский государственный университет им. Н.И.Лобачевского» Факультет вычислительной

Подробнее

Лекция 4. Динамическая память

Лекция 4. Динамическая память http://compscicenter.ru 1/21 Александр Смаль CS центр 1 октября 2014 Санкт-Петербург http://compscicenter.ru 2/21 Зачем нужна динамическая память? Стек программы ограничен. Он не предназначен для хранения

Подробнее

Потоки. #include <stdio.h> Что можно делать с потоками? Открыть Использовать ( читать, писать в поток ) Закрыть

Потоки. #include <stdio.h> Что можно делать с потоками? Открыть Использовать ( читать, писать в поток ) Закрыть Потоки Стандартные потоки: stdin, stdout, stderr Потоки также можно создать самим: FILE * fp; FILE это тип данных, который определен в stdio.h, и потому любая программа, которая использует потоки должна

Подробнее

Перегрузка функций. Перегрузка операторов

Перегрузка функций. Перегрузка операторов Лабораторная работа 3 Перегрузка функций. Перегрузка операторов Цель работы: 1) изучить возможности программирования классов на языке С++; 2) получить основные навыки программирования. Теоретические сведения

Подробнее

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 Структуры Ранее мы рассмотрели методы определения и работы с массивами и перечислимыми типами. Теперь рассмотрим определение и использование структур. Структура в языке Си это объединение

Подробнее

Разбор решений заданий 24 и 25 ЕГЭ по информатике и ИКТ

Разбор решений заданий 24 и 25 ЕГЭ по информатике и ИКТ МБОУ гимназия «Лаборатория Салахова» Разбор решений заданий 24 и 25 ЕГЭ по информатике и ИКТ Копанева Ольга Анатольевна Заместитель директора по УВР Разбор заданий 24 Умение прочесть фрагмент программы

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 13

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 13 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017 Лекция 13 1 Схема раздельной компиляции Исходная программа file1.c file2.c file3.c 1 Препроцессор 1 Препроцессор 1 Препроцессор 2 Компилятор

Подробнее

Лабораторная работа 2 Использование основных операторов языка С++

Лабораторная работа 2 Использование основных операторов языка С++ Лабораторная работа 2 Использование основных операторов языка С++ 1. Цель задания: 1) Получение практических навыков использования операторов выбора. 2) Получение практических навыков выбора и использования

Подробнее

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

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

Подробнее

Муниципальное Образовательное Учреждение Баганская средняя общеобразовательная школа 1. Факультативный курс

Муниципальное Образовательное Учреждение Баганская средняя общеобразовательная школа 1. Факультативный курс Муниципальное Образовательное Учреждение Баганская средняя общеобразовательная школа 1 Факультативный курс Выполнил: Сорокин Виктор Геннадьевич учитель информатики I квалификационной категории. Баган 2005-2010

Подробнее

ID_7255 1/20 neznaika.pro

ID_7255 1/20 neznaika.pro Поиск и исправление ошибок в программе Ответами к заданиям являются слово, словосочетание, число или последовательность слов, чисел. Запишите ответ без пробелов, запятых и других дополнительных символов.

Подробнее

Язык программирования Си++ Семинар 2. Массивы объектов. Массивы переменной длины. Операторы new, delete. Указатели. Ссылки.

Язык программирования Си++ Семинар 2. Массивы объектов. Массивы переменной длины. Операторы new, delete. Указатели. Ссылки. Язык программирования Си++ Иванов А.П., Князева О.С. Семинар 2. Массивы объектов. Массивы переменной длины. Операторы new, delete. Указатели. Ссылки. 1. Массивы объектов Встроенное в язык Си++ понятие

Подробнее

Студенческая лаборатория МФТИ-Intel. Структуры данных. Гареева Оксана

Студенческая лаборатория МФТИ-Intel. Структуры данных. Гареева Оксана Студенческая лаборатория МФТИ-Intel Структуры данных Гареева Оксана Oksana.gareeva@gmail.com 10.11.12 http://ilab.mipt.ru План лекци: Структуры данных. Общие понятия. Введение в указатели Структура: список

Подробнее

9 Модели памяти и пространства имен

9 Модели памяти и пространства имен 9 Модели памяти и пространства имен В ЭТОЙ ГЛАВЕ Раздельная компиляция программ Продолжительность хранения, область видимости и компоновка Операция new с размещением Пространства имен 430 Глава 9 Язык

Подробнее

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

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

Подробнее

Программы на си состоят из операторов, а операторы из выражений и операций.

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

Подробнее

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

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

Подробнее

ПРИМЕР ВСТУПИТЕЛЬНОГО ЭКЗАМЕНА ПО ИНФОРМАТИКЕ. 1. Сколько единиц в двоичной записи шестнадцатеричного числа 5A716?

ПРИМЕР ВСТУПИТЕЛЬНОГО ЭКЗАМЕНА ПО ИНФОРМАТИКЕ. 1. Сколько единиц в двоичной записи шестнадцатеричного числа 5A716? ПРИМЕР ВСТУПИТЕЛЬНОГО ЭКЗАМЕНА ПО ИНФОРМАТИКЕ 1. Сколько единиц в двоичной записи шестнадцатеричного числа 5A716? 2. Денис заполнял таблицу истинности для выражения F. Он успел заполнить лишь небольшой

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 6. ОСНОВЫ РАБОТЫ В СРЕДЕ MS VISUAL STUDIO 2005

ЛАБОРАТОРНАЯ РАБОТА 6. ОСНОВЫ РАБОТЫ В СРЕДЕ MS VISUAL STUDIO 2005 ЛАБОРАТОРНАЯ РАБОТА 6. ОСНОВЫ РАБОТЫ В СРЕДЕ MS VISUAL STUDIO 2005 Цель: познакомить с порядком запуска MS Visual studio 2005, правилами открытия, сохранения и выполнения проекта, основами управления свойствами

Подробнее

Одномерные массивы. Лабораторная работа 9

Одномерные массивы. Лабораторная работа 9 Лабораторная работа 9 Одномерные массивы Массивы. Ссылочные типы и null. Часто в программах требуется завести большое количество переменных одного и того же типа. Можно, конечно, написать большое количество

Подробнее

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ И ПЛАНИРОВАНИЮ ПРАКТИЧЕСКОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ. Б1.Б.12 Информатика. «Оптические системы и сети связи»

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ И ПЛАНИРОВАНИЮ ПРАКТИЧЕСКОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ. Б1.Б.12 Информатика. «Оптические системы и сети связи» Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Р.

Подробнее

Друзья класса. Друг класса это функция, не являющаяся членом этого класса, но имеющая доступ к его private и protected членам.

Друзья класса. Друг класса это функция, не являющаяся членом этого класса, но имеющая доступ к его private и protected членам. Друзья класса Друг класса это функция, не являющаяся членом этого класса, но имеющая доступ к его private и protected членам. Своих друзей класс объявляет сам в любой зоне описания класса с помощью служебного

Подробнее

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

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

Подробнее

Лабораторная работа 4 Обработка статических массивов

Лабораторная работа 4 Обработка статических массивов Лабораторная работа 4 Обработка статических массивов 1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении программ с массивами. 2. ОСНОВНЫЕ СВЕДЕНИЯ Массивы - структурированный тип данных с

Подробнее

Диагностическая тематическая работа 3 по подготовке к ЕГЭ. Инструкция по выполнению работы

Диагностическая тематическая работа 3 по подготовке к ЕГЭ. Инструкция по выполнению работы Информатика. 0 класс. Демонстрационный вариант (90 минут) Диагностическая тематическая работа по подготовке к ЕГЭ по ИНФОРМАТИКЕ и ИКТ по теме «Элементы теории алгоритмов и программирование» Инструкция

Подробнее

Лабораторная работа 3

Лабораторная работа 3 Цель работы: Лабораторная работа 3 Знакомство с массивами в языке Си. Алгоритмы сортировки и обработки двумерных массивов. 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 1.1. Массивы Массив - упорядоченная структура, предназначенная

Подробнее

Критерии оценивания заданий с развёрнутым ответом

Критерии оценивания заданий с развёрнутым ответом C1 Информатика. 11 класс. Вариант ИН10603 1 Критерии оценивания заданий с развёрнутым ответом Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее

Подробнее

Введение в программирование Урок 13: Анализ сложности

Введение в программирование Урок 13: Анализ сложности Введение в программирование Урок 13: Анализ сложности Введение в компьютерные науки - урок 13 1 Анализ сложности программы по времени Функция f1() ищет индекс такого элемента в массиве a[], который присутствует

Подробнее

Лекция 3. Использование динамической памяти

Лекция 3. Использование динамической памяти Название Виды памяти Лекция 3. Использование динамической памяти Метапрограммирование в C ++ 17 февраля 2017 г. Лекция 3 1 / 30 Название Виды памяти Виды памяти в программе на C ++ Название Хранимые объекты

Подробнее

Это означает «получить текущее значение x, прибавить к нему 1 и затем обновить x, присвоив ему новое значение».

Это означает «получить текущее значение x, прибавить к нему 1 и затем обновить x, присвоив ему новое значение». Python for Informatics Автор: Dr. Charles R. Severance Содержание курса: http://pycode.ru/edu/why-python/ Глава 5. Итерации 5.1. Обновление переменной Общим шаблоном в инструкциях присваивания является

Подробнее

Эта глава предлагает молниеносное турне на тему возможностей языка C#. Да,

Эта глава предлагает молниеносное турне на тему возможностей языка C#. Да, Глава 3 Краткий обзор языка C# Эта глава предлагает молниеносное турне на тему возможностей языка C#. Да, мы уже слышим ваши возражения: Но ведь просто невозможно сжать всю информацию о C# в одну главу!

Подробнее

Эта глава служит введением в классы. Класс составляет основу языка C#, поскольку

Эта глава служит введением в классы. Класс составляет основу языка C#, поскольку 6 ГЛАВА Введение в классы, объекты и методы Эта глава служит введением в классы. Класс составляет основу языка C#, поскольку он определяет характер объекта. Кроме того, класс служит основанием для объектно-ориентированного

Подробнее

ПОДПРОГРАММЫ ЯЗЫКА ВЫСОКОГО УРОВНЯ PASCAL

ПОДПРОГРАММЫ ЯЗЫКА ВЫСОКОГО УРОВНЯ PASCAL ПОДПРОГРАММЫ ЯЗЫКА ВЫСОКОГО УРОВНЯ PASCAL Цивилизация развивается за счет расширения числа важных операций, которые можно выполнять, не думая о них. А. Н. Уайтхед Содержание 2 Понятие подпрограммы Передача

Подробнее

Курсовая работа. Узбекский комитет связи и информатизации Ташкентский Университет Информационный Технологий

Курсовая работа. Узбекский комитет связи и информатизации Ташкентский Университет Информационный Технологий Узбекский комитет связи и информатизации Ташкентский Университет Информационный Технологий Курсовая работа По предмету: «Объектно ориентированный языки программирования» Выполнил: Джалилов Г. Г. Студент

Подробнее

Типы данных. 1 Представление чисел в компьютере. А. Г. Фенстер, 20 марта 2010 г.

Типы данных. 1 Представление чисел в компьютере. А. Г. Фенстер, 20 марта 2010 г. А. Г. Фенстер, fenster@fenster.name 20 марта 2010 г. На этом занятии мы поговорим про различные типы данных в языке C. 1 Представление чисел в компьютере Вспомним, как компьютер хранит целые и вещественные

Подробнее

int *p, c; char *strdup(char *ptr); int *aptr[20]; p = &c;

int *p, c; char *strdup(char *ptr); int *aptr[20]; p = &c; 1 Занятие 5 1.1 Указатели Рассмотрим важнейший производный тип указательный. Если base это некоторый базовый тип, то тип указателя на тип base имеет своим множеством значений всевозможные адреса памяти,

Подробнее

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

Программирование в C++ Преподаватель Колотова Людмила Павловна Программирование в C++ Преподаватель Колотова Людмила Павловна 2 Содержание 2-го занятия по практике Циклы. Операции отношения. Циклы: for, while, do. Составление программ для циклического алгоритма с

Подробнее

Лекция 10. Цели и задачи самостоятельной работы «Неделя 10»

Лекция 10. Цели и задачи самостоятельной работы «Неделя 10» Лекция 10 Определение массива. Размерность, измерения, нижние и верхние границы измерений, протяженности вдоль измерений (экстенты), форма, размер массива. Функции LBound и UBound. Виды массивов: статические

Подробнее

Указатели на функции, методы и члены данных

Указатели на функции, методы и члены данных http://compscicenter.ru 1/11 Указатели на функции, методы и члены данных Александр Смаль CS центр 2 декабря 2015 Санкт-Петербург http://compscicenter.ru 2/11 Указатели на функции Кроме указателей на значения

Подробнее