End enum - раздел Компьютеры, ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ. ЭЛЕМЕНТЫ ЯЗЫКА. ЭЛЕМЕНТЫ ДАННЫХ. ВЫРАЖЕНИЯ. ОСНОВНЫЕ ИНСТРУКЦИИ. ПРОЦЕДУРЫ. ПРЕПРОЦЕССОР. СТИЛЬ ПРОГРАММИРОВАHИЯ Объявление Переменных Имеет Вид:
Dim Color1 ...
Объявление переменных имеет вид:
dim color1 asspectr, color2 as spectr
Правила объявления и использования переменных этого типа полностью совпадают с правилами языка C. Имеются только 2 отличия:
- значения переменных и перечисляемых констант относятся к типу long;
- при присвоении переменной значения не из списка констант ошибки не возникает.
10.2. Тип currency (B)
Данные этого типа представляют собой десятичные значения с фиксированной точкой с 15 цифрами в целой части и 4 цифрами – в дробной. Элемент данных занимает в памяти 8 байтов. Диапазон представления:
-922,337,203,685,477.5808 - 922,337,203,685,477.5807.
Литералы данного типа не определены.
Пример объявления переменных.
dim sum1as currency, TotalSum as currency
Эти данные полезны при денежных расчетах и вычислениях с фиксированной точкой с заданной точностью.
10.3. Тип date (B)
Данные этого типа в памяти представляются специальным форматом с плавающей точкой, точно знать который нет необходимости. Каждый элемент занимает в памяти 8 байтов. Целая часть значения хранит дату, дробная – время. Диапазон представления дат от 1 января 100 года до 31 декабря 9999 года, времени – от 0:00:00 до 23:59:59.
Литералы данного типа заключаются между символами #. Они могут записываться в различных форматах, однако после окончания ввода среда преобразует введенный формат даты/времени в формат, принятый в USA: m/d/yyyy h:mm:ss {AM|PM}, где m - № месяца (1 или 2 цифры в зависимости от значения), d - № дня в месяце (аналогично), yyyy – год, h – час (1 или 2 цифры), mm – минуты, ss – секунды, AM (ante meridiem – до полудня), PM (post meridiem – после полудня) – указатели 12-часовой шкалы.
Пример.
#01 Jan 2001# à #1/1/2001#
#13:03:03# à #1:03:03 PM#
#13/11/2001 5:54:56# à #11/13/2001 5:54:56 AM#
Подобное преобразование может привести к ошибке. Например, запись вида #9/3/2001# будет интерпретироваться как: 3 сентября 2001 года, тогда как, возможно, имелось в виду 9 марта 2001 года (принятый в России краткий формат даты). Поэтому разумно записывать литералы даты/времени как строки. При этом преобразования формата в среде не будет.
Пример.
"09/03/2001 18:34:30" à 9 марта 2001 года 6 часов 34 минут 30 секунд вечера
При выводе значений (печать, экран) используются установленные в пункте НастройкаàПанель управленияàЯзык и стандарты форматы (для даты – краткий, например, 11/03/2001).
Пример объявления переменных.
dim BirthDay as date
С данными этого типа можно манипулировать непосредственно. Например, разницу в датах можно получить так:
dim day1 as date, day2 as date, day3 as integer
day1 = #3/9/1999#
day2 = #3/10/2001#
day3 = day2 - day1
Получим 732 дня.
К дате можно прибавлять дни. Им соответствуют целые значения. Прибавление 1 часа – 1/24, 1 минуты – 1/(24*60), 1 секунды – 1/(24*3600).
Пример.
day2=day1+2 à #3/11/1999#
При преобразовании данных различных типов в тип date значение слева от десятичной точки представляет дату, справа – время. 0 означает полночь, 0.5 – полдень. Отрицательные целые числа представляют даты до 30 декабря 1899 года.
Для облегчения манипуляций с данными типа date имеются следующие библиотечные функции:
Date – возвращает системную дату;
Time – возвращает системное время;
Now – возвращает системные дату и время.
DateAdd(интервал, число, дата) – возвращает дату, отстоящую от дата на число интервалов. Возможные значения аргумента интервал:
- yyyy – год,
- q – квартал,
- m – месяц,
- ww – неделя,
- d – день,
- h – час,
- n – минута,
- s – секунда.
Пример.
DateAdd("m", 1, #1/31/2000#) à #02/29/2000#
DateDiff(интервал, дата1, дата2) – возвращает число интервалов между дата2 и дата1. Если дата1 > дата2, возвращается число < 0. Функция имеет 2 необязательных аргумента: первый день недели и первая неделя года и значение интервала = "w – день недели. Употребление этих значений изучить самостоятельно.
Пример.
DateDiff("d", #3/9/2000#, #3/10/2001#) à 366
DatePart(интервал, дата) – возвращает заданную интервалом часть дата. Функция также имеет 2 необязательных аргумента: первый день недели и первая неделя года. По умолчанию первым днем недели считается Воскресенье. В примере показано как с помощью символической константы сделать первым днем Понедельник. Аналогичные константы есть и для других дней недели.
Пример.
DatePart("yyyy", #3/9/2003#, vbMonday) à 2003 ' vbMonday=2
DatePart("q", #3/9/2003#, vbMonday) à 1
DatePart("m", #3/9/2003#, vbMonday) à 3
DatePart("d", #3/9/2003#, vbMonday) à 9
DatePart("ww", #3/9/2003#, vbMonday) à 10
DatePart("w", #3/9/2003#, vbMonday) à 7
Day(дата) – возвращает день месяца.
Weekday(дата[, 1-й день недели]) – возвращает порядковый № дня недели.
Month(дата) – возвращает № месяца.
Year(дата) – возвращает год.
Пример.
Day(#3/9/2003#) à 9
WeekDay(#3/9/2003#, 2) à 7
Month(#3/9/2003#) à 3
Year(#3/9/2003#) à 2003
Hour(время) – возвращает целое от 0 до 23 (час аргумента).
Minute(время) – возвращает минуты (0 – 59).
Second(время) – возвращает секунды (0 – 59).
Пример.
Hour(#6:34:30 PM) à 18
Minute(#6:34:30 PM) à 34
Second(#6:34:30 PM) à 30
10.4. Тип void (С)
Так называемый "пустой" тип. Служит для согласования синтаксиса функций, не возвращающих значений или не имеющих аргументов.
Пример.
void putmsg(void){
printf("Hello, world!\n");
} /* End putmsg */
Этот тип также используется для формирования "универсальных" указателей void *, о которых пойдет речь в другом разделе.
10.5. Подмассивы (сечения) (C)
В языке Сможно рассматривать многомерный массив как одномерный, элементами которого являются массивы на 1 меньшей размерности.
Пример.
float sales[3][4][5];
Такой объект можно трактовать как массив с плавающей точкой, состоящий из 3 элементов, каждый из которых является двумерным массивом размером 4*5.
Допустимы следующие обращения к содержимому этого массива:
sales – массив целиком,
sales[ i ] – к i-му подмассиву 4*5,
sales[ i ][ j ] – к элементу с индексами iи j: массив из 5 элементов,
sales[ i ][ j ][ k ] – скалярная величина: собственно элемент массива sales.
Использование сечений иногда весьма удобно, особенно при обращении к процедуре.
Пример. Найти индексы максимальных элементов каждой строки матрицы.
#define M 10
#define N 10
void main(void){
float a[M][N]; int s[M], ind(float[ ], int);
..............
for(i=0; i<M; i++){
s[ i ]=ind(a[ i ], N);// Аргументом функции ind является i-я строка
}
..............
}//End main
int ind(float x[ ], int n){// Параметр есть одномерный массив длиной в строку
int i, k; float y;
y=x[0];
k=0;
for(i=1; i<n; i++){
if(y<x[ i ]){
y=x[ i ]; k=i;
}
}
return k;
} //End ind
10.6. Динамические массивы (B)
Достаточно часто возникает необходимость работы с массивами, размеры которых либо неизвестны в момент запуска программы, либо могут меняться в процессе ее выполнения. Примером может служить программа умножения матриц произвольных размеров. В этих случаях в программах на языке Basic используются динамические массивы.
Динамический массив объявляется обычным образом, но без указания границ индексов и числа измерений.
Пример.
dim DinArray( ) as single
Задание размерности и границ индексов такого массива производится во время выполнения программы инструкцией вида:
redim [preserve] <имя_массива>(<выражение>[, <выражение>]...)
Инструкция redim в отличие от инструкции dim является выполняемой. Первое ее использование задает размерность (число измерений), которая не может быть переопределена в последующих инструкциях redim. Эти последующие инструкции могут изменить только границы индексов. Также инструкция redim не может изменить объявленный тип элементов динамического массива.
Пример.
................................
redim DinArray(1 to10, 4)
................................
redim DinArray(5,5)
При выполнении инструкции redim все значения элементов, которые были заданы ранее, теряются. При этом числовые значения заменяется нулями, строки – пустыми строками (""). Однако, имеется возможность сохранить "старые" значения элементов массива. Это особенно полезно, когда после переопределения размер массива увеличивается. Для этого в инструкции redimнеобходимо употребить ключевое слово preserve (сохранить). При использовании опции preserve можно изменять только верхнюю границу последнего измерения.
Пример.
redim preserve DinArray(5, 10)
При переопределении динамических массивов весьма удобно употреблять 2 встроенные функции языка Basic:
Lbound(<имя_массива>[, <№ измерения>]) – нижняя граница,
UBound(<имя_массива>[, <№ измерения>]) – верхняя граница.
Пример. Увеличить на 1 границы массива DinArray.
redim DinArray(Ubound(DinArray)+1, Ubound(DinArray, 2)+1)
10.7. Структуры и объединения (C)
Все темы данного раздела:
Периферия
Под периферийными понимают устройства, предназначенные для передачи информации в память компьютера (ввод) и обратно (вывод).
Основные устройства ввода: клавиатура
Естественный язык
Пример. Нахождение наибольшего общего делителя (НОД) двух чисел – алгоритм Евклида.
Шаг 1. Ввести 2 числа.
Шаг 2. Если числа равны, взять первое и закончит
Машинный и алгоритмический языки
Как упоминалось выше, компьютер оперирует с кодированной информацией, представленной в двоичной системе счисления. Соответственно, программа состоит из набора инструкций (команд), спе
Метаобозначения
Метаязык – это язык для описания другого языка. Наиболее распространенными метаязыками для описания языков программирования являются нотация Бэкуса-Наура (БНФ) и синтаксические диаграммы. В
Трансляция
В целях снижения уровня сложности разработки большинство программ разбивается на отдельные части, выполняющие одну или более функций. Эти части называют модулями. Каждый модуль может трансли
Системы счисления
Любое число xв десятичной системе счисления может быть представлено в виде:xàDm-1*10m-1+Dm-2*10m-2+...+D1*10+D
Совокупности данных
Переменные любых типов могут быть объединены в совокупности. Если в совокупность объединены переменные одного типа и место каждой определяется номером (индексом), то совокупность называют массив
История языков С и Basic
Язык C был разработан в 1972 г. Д.Ритчи в AT&T Bell Laboratories на основе языков BCPL (автор -М.Ричардсон) и B (автор - К.То
Идентификаторы
Идентификатор:= <имя>|<ключевое слово>
Имя служит для обозначения объектов (ссылок к объектам) программы. Ключевое слово обозначает понятие, которое исполь
Данные с плавающей точкой
Это семейство типов, значения которых являются вещественными(дробны-ми). Типы различаются диапазоном значений и объемом выделяемой под элемент памяти.
Памя
Логический тип
Используется для задания логических условий и свойств объектов.
Описывается ключевыми словами boolв языке C++и boolean в языке Ba
Объявления массивов
С
<элемент>:=<имя>[<длина>][,[<длина>]]…
<длина> - кол
ВЫРАЖЕНИЯ
Выражение – это представление в тексте программы значения.
Оно включает в себя ключевые слова, операторы, переменные, литералы и функции. В результате вычисления этой комбина
Встроенные функции
Каждая среда разработки IDE включает библиотеки, содержащие объектные коды функций, сгруппированных по тематическому признаку. Их очень много. Здесь рассмотрим некоторые наиболее у
Заключительные замечания
Если в состав выражения входят операнды разных типов, то, если возможно, выполняется автоматическое их преобразование к единому типу, а затем выполняется оператор. Правило преобразования: результат
Объявления
Служат для указания свойств (характеристик) компонентов данных. В данной части курса в качестве таких компонент фигурируют переменные и массивы. Во многих случаях одновременно
Безусловный переход
Инструкция выполняет переход к другой выполняемой инструкции. Для осуществления перехода нужно указать место, в которое необходимо перейти. Для этого используется объект программы – метка, к
Инструкция If. Пустая инструкция
Реализует базовую вычислительную структуру – развилку.
C
Формат:
if(<выражение>)<инструкция 1>;
Циклы while
C
Формат:
while(<условие>)<инструкция>;
Эквивалентная схема:
label: if
Циклы for
C
Формат:
for([<выражение 1>];[<выражение 2>];[<выражение 3>])[<инструкция>];
Эквивалентная схема
Циклы с постусловием
Используются существенно реже, потому что основное отличие их от предыдущих инструкций заключается в том, что в них тело цикла в первый раз выполняется без проверки условия продолжения (прек
Инструкция break
Передает управление инструкции, непосредственно следующей за инструкцией цикла или switch (см. ниже).
Формат:
break;
Эквивале
Инструкция continue
Вызывает переход в конец тела цикла (точнее, к вычислению выражения 3, затем к проверке условия выполнения цикла (выражение 2) в инструкции forили непосредственно к п
Инструкция switch (язык С)
Формат:
switch(<выражение>) <инструкция>
Выражение должно быть целого типа.
Инструкция должна быть составн
Управляющая строка
Управляющая строка состоит из текста и спецификаций. Каждая спецификация определяет только одно передаваемое значение.
Формат одной спецификации:
%
Вывод символьной информации
Ввод. Будет рассмотрен в другом разделе.
Вывод. Также.излагаются не все возможности. Цель данного раздела – дать средства для формирования п
Распределение массивов
Объем памяти, занимаемый массивом, равен:
Процедуры
Процедура – это часть программы, которая не выполняется в естественном порядке, а вызывается специальным способом.
В различных языках программирования допускаются внешние и
Определения процедур
C
Формат функции:
[<тип>] <имя>([<описания_параметров>])<блок>
В блоке обязательно присутствие инструкции вида
End function
C
По понятиям языка Cподпрограмма – это функция, не возвращающая значения. Для указания типа возвращаемого значения в этом случае используется ключ
Механизмы передачи данных
Существуют 2 механизма передачи информации между процедурами: по значению и по адресу (ссылке, имени, наименованию).
Передача по значению подразумевает копирование арг
Входные данные
C
Перед передачей входные аргументы, если требуется, преобразуются в соответствии с прототипом.
Пример.
Вызывающая процедура Вызываемая процедура
Выходные данные
C
Поскольку в языках Cи C++ реализована передача аргументов по значению, то для того, чтобы в вызываемой процедуре можно бы
Передача массивов
C
Если аргумент процедуры – массив, то используется механизм передачи по адресу. При этом в список аргументов включается имя массива, в вызываемую про
Передача функций
В этом разделе рассмотрим передачу в качестве аргумента имени функции.
Этот специфический вид аргумента позволяет придать программе универсальность.
Пример. Найти y=min(f(x)),
Определение символических констант
Символической(именованной) константой называют имя в тексте программы, которое должно быть заменено на конкретное постоянное значение до трансляции. Их применение позволяет сократить
Включение файлов в текст программы
Файл – любая совокупность данных, имеющая отдельную спецификацию и включенная в каталог (папку) операционной системы. Формат спецификации: <имя>.<тип (расширение)>
Формирование листинга
Исторически листингом называли распечатку текста программы. Сейчас под этим можно понимать размещение текста программы на любом носителе: бумаге, экране и т.п.
Размещ
Комментарии
Цель – пояснить логику, облегчить отладку, тестирование и сопровождение программ.
При написании комментариев следует учитывать уровень возможных читателей текста программы. Второй м
Изучайте и используйте библиотечные функции. Малоупотребительные комментируйте.
Пример.
/* pow(x,n) – возведение x в степень n */
3. Не применяйте трюки!
Пример. Формирование единично
Литералы.
(МВ) Для трансляторов языка C, в которых не предусмотрены логические данные, разумно ввести в программу логические литералы.
#define TRUE 1
Перечислимый тип
10.1.1. Тип enum (C)
Относится к целым типам данных. Применяется для объявления целых переменных, которые могут принимать только строго определенные значения
Структуры
Структура (запись) – это составной объект, содержащий один или более элементов любых типов, кроме функций. Элементом структуры может быть массив любого типа. В отличие от массива, к э
Поля битов
До сих пор минимальными адресуемыми элементами программы являлись объекты размером в 1 байт. Примерами таких объектов являлись данные типа char в языке Cи типа
Объединения (смеси)
Иногда возникает необходимость располагать в одной области памяти программные объекты разных типов и даже разной организации, например, скалярные переменные и массивы. Для этой цели используется ко
Переменные структуры
Переменной называют структуру, в состав которой входит хотя бы 1 смесь.
Пример.
Паспортные данные:
- фамилия и.о.,
- серия,номер,
- дата рождения
Пользовательские типы данных
В языке Basic отсутствует такой вид совокупности данных как структура, который весьма удобен при реализации многих приложений. Это ограничение можно обойти, используя опреде
End type
После описания типа можно определить произвольное число переменных и массивов этого типа.
Пример.
dim RefStar asstar, ViewStar as
Автоматические преобразования
Большинство автоматических преобразований касаются числовых типов данных. Их принцип: преобразование выполняется от частного к более общему типу, т.е. от целых к данным с плавающей точкой. Если в в
Явные преобразования
В языке Cони выполняются конструкцией вида:
(<имя-типа>)<выражение>
Пример.
sqrt((double
Уровень 1
Порядок выполнения: à
Операторы: ( ) [ ] . ->
Первые два оператора означают: (...) – список аргументов процедуры, [...] – индексирование (вычисление индекс
ПЕРЕДАЧА ДАННЫХ ПОТОКОМ
Этот раздел посвящен дополнительным средствам ввода-вывода в языке C, используемых для ввода-вывода символьной информации. Средства языка Basic для ввода с
Функции getchar и putchar
Прототип: int getchar(void); - чтение одного символа с клавиатуры.
Файл прототипа: stdio.h.
Возвраща
Функции gets и puts
Прототип: char* gets(char*); - чтение строки символов.
Файл прототипа: stdio.h.
Воз
Внутренняя передача данных (функции sscanf и sprintf)
Эти функции являются функциями преобразования данных, а не ввода-вывода, однако правила преобразования те же, что и для соответствующих функций ввода-вывода.
Преобразование из символьной с
Описание файла
Правила описания файлов зависят от операционной системы (ОС), однако традиционно это описание имеет вид:
<имя_файла>.< расширение>.
Пример.
квартпла
Открытие и закрытие файлов
Перед началом обмена данными с файлом выполняются операции :
- проверка наличия файла с данным именем при чтении;
- наличие свободного пространства на диске при создании файла;
Открытие и закрытие файла
Прототип: FILE *fopen(char *a,char *b); - открытие файла.
Параметры:
- a – имя
Основные функции обмена
Правила обращения к ним практически совпадают с ранее описанными для функций стандартных потоков ввода-вывода stdin и stdout. Появляется лишь дополнительный параме
Инструкция open
Открывает файл.
Формат:
open <полный_путь> for <режим> as #<дескриптор>
Инструкция print
Также записывает значения элементов списка данных в файл. Основное отличие этой инструкции от инструкции write заключается в более широких возможностях расположения элементов данны
Функция MsgBox
Эта функция не относится к функциям работы с файлами, но, поскольку необходимо, чтобы программа на языке Basic выдавала на экран информацию о ходе выполнения, она приводится в данн
СТРУКТУРА ПРОГРАММЫ
Любая программа на языке Cили Basic состоит из одной или нескольких процедур, одна из которых должна иметь имя main. Она получает управление от оп
Область видимости (действия) и время жизни переменных
Объекты, объявленные вне процедур, называются внешними, объекты, объявленные внутри процедур и блоков, - внутренними.
Областью видимости (scope
Язык Basic
Здесь так же, как и в языке C, допустимо объявление внешних объектов, которые сохраняют свои значения в течение всего времени выполнения приложения. Для того, чтобы такое время жиз
Проект программы
В современных средах разработки программ существуют специальные средства, позволяющие управлять процессом трансляции отдельных модулей, собирать (компоновать) полученные после трансляции
Инициализация данных
Под инициализацией понимают задание значений объектам программы в момент их определения. В языке Basic все числовые объекты и строки постоянной длины инициализируются нул
Указатели и массивы
Между указателями и массивами существует тесная связь. Любое действие, выполняемое индексированием массива, может быть реализовано с помощью указателей, причем последний вариант более
Динамические объекты
До сих пор для всех объектов, рассматриваемых в пособии, память выделялась по информации программы автоматически. Для объектов класса памяти static и extern во вре
Двойное указание
int* x = (int*)malloc(sizeof(int)),
y = (int*)malloc(sizeof(int
Однонаправленный список
Эта структура позволяет установить связи между составляющими ее элементами и осуществлять переходы от одного элемента к другому в соответствии с некоторым порядком. Элементы представляют собой с
Рекурсивные процедуры
В языках C и Basic любая процедура может быть рекурсивной , т.е. в ее теле может быть обращение к самой себе. Такие процедуры применяются для реализации кла
Нерекурсивное решение. Стек в виде массива
#define DEEP 20 // Максимальная глубина стека
void hanoi(short a, // Исходная площадка
Нерекурсивное решение. Стек в виде списка
Причем:
- элемент стека – произвольная структура;
- операции над стеком позволяют организовать в программе произвольное число стеков.
Файл hanoi.c
РАБОТА С ЭКРАHОМ
В этом и последующих разделах излагаются средства языка C, точнее средства, входящие в среду разработки Borland 3.1 C++, работающей под управлением операционной си
Текстовый режим(textmode)
Определены следующие видеорежимы:
BW40 0 черно-белый, 40 позиций в строке;
C40 1 16 цветов, 40 позиций в строке;
BW80 2
Манипулирование цветом и курсором
void clrscr(void); Очистить текущее текстовое окно и установить курсор в его левый верхний угол(координаты 1, 1).
void gotoxy
Управление атрибутом(цветами символа и фона в окне)
Замечание. Все нижеперечисленные функции влияют только на выполнение функций консольного ввода-вывода. Например, функция printf выводит информацию только с позиции, г
Установка и закрытие
Поскольку по умолчанию при запуске приложения устанавливается текстовый режим, переход к графическому режиму выполняется следующей функцией:
void initgraph(
BOLD_FONT
Большинство фонтов .chr, находящихся в директории BGI, не содержат русских символов, однако там есть директория Rus, внутри которой есть соответст
Эллипсы
void ellipse(int x, int y, int stangle, int endan
УПРАВЛЕНИЕ ПРОГРАММОЙ С ПОМОЩЬЮ КЛАВИАТУРЫ
Часто требуется после выполнения фрагмента программы дать возможность пользователю выбрать один из нескольких вариантов продолжения.
Обычно это реализуется с помощью ввода с клавиатуры без
Элементарные конструкции
1. Какие нижеприведенных записей являются можно использовать в качестве имен:
X Begin a[3] 3D_Studuo Step1 sin(x) CTEK a15x Str.X a1 конец _XX x_x
2. Какие из записе
Простые циклы
1. Вычислить и напечатать таблицу функции:
2x3/(x2+1), если |x|<3
y =
Вложенные циклы
1. Даны координаты 25 точек на плоскости. Найти сумму всех попарных расстояний между точками.
2. Дана матрица {aij}, i =1...10, j = 1...10. Найти индексы максимального эл
Процедуры
Все решения в зависимости от условия задачи оформить в виде функции или подпрограммы.
1. Даны 2 натуральных числа n и m(m<=n). Определить сумму m последних цифр чис
Работа со строками
1. В последовательности символов заменить каждое вхождение слова "рот" на слово "нос".
2. Дана строка символов. Сформировать из нее строку, содержащую только символы, в
ПРИЛОЖЕНИЯ
Приложение 1. Среда разработки Borland C++ 3.1
П1.3. Разное
1. Команды редактора описаны в пункте головного меню Help. Добраться до них по ссылкам можно в следующем порядке: HelpàContentsà
П1.4. Редактирование текста
Ссылка на команды редактора приведена в предыдущем разделе. Здесь рассмотрим команды Главного меню : пункт Edit.
Undo (Отмена) – отменяе
Трансляция
Сообщения времени трансляции выводятся в окно Message. Первое указывает имя транслируемого модуля вместе с путем из текущей папки (директории).
Пример.
Co
П1.6. Отладка
Это деятельность, направленная на обнаружение места и причины возникновения известной ошибки. Первым этапом отладки является устранение ошибок, обнаруженных в процессе синтаксического анализ
Получение значений объектов программы
Под объектами здесь будем понимать переменные, массивы и структуры.
Inspect (Alt+F4) – вызывает появление окна, в котором можно задать имя объекта программы. После чего в
П1.7. Окна
Среда Borland C++ 3.1имеет многооконный интерфейс, в котором по умолчанию показываются 2 окна: Edit и Message. Окно Watch вызывае
Управление окнами
Для манипуляций с нужным окном необходимо сделать его активным, т.е перейти в него.
Переходы между окнами. Если окно видно на экране, то проще всего щелкнуть мышью по видимой
П2.1. Запуск среды
Среда Visual Basic (в дальнейшем VB) запускается через меню Программы Пуск–> Все программы–>
П2.3. Окна и режимы работы
Можно сказать, что среда VB обеспечивает 3 режима работы:
- разработки (design mode);
- выполнения приложения (execution mo
П2.4. Главное меню
Главное меню содержит все команды и установки среды VB, многие из которых могут быть вызваны с помощью "горячих" клавиш или кнопок Панелей инструментов. &qu
П2.6. Редактирование текста
Меню Editсодержит команды Редактора кода программы. Большинство команд совпадает со стандартными командами других текстовых редакторов. Если в пункте меню показан значок, эт
Определение значений объектов программы в момент прерывания
Окно Watch. Становится доступным только в момент прерывания. Вызывается через мерю Debug. Имена интересующих объектов заносятся в выделенную с
Продолжение работы
После прерывания можно продолжить выполнение приложения следующими способами:
- командой Start (описывается ниже); выполнение продолжается до ближайшей точки прерывания, е
Основные инструкции
1. Какие преимущества имеет инструкция присваивания языка C перед аналогичной инструкцией языка Basic? В языке C можно одной инструкцией присвоить
Стиль программирования
1. Как разумно размещать инструкции текста программы? Одну инструкцию в строке текста программы.
2. Какую роль играют отступы при размещении вложенных инструкций? Отступы подчеркива
Данные. Дополнение
1. Что произойдет при присваивании переменной типа enum значения не из списка допустимых значений в программе на языке C? А в языке Basic? В языке
Указатели, массивы, строки
1. Что означают операторы * и & при работе с указателями? Оператор "*" означает: извлечь значение по известному адресу, оператор "&" – определить адрес известн
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Visual Basic 6.0. – СПб.: БХВ – Санкт-Петербург, 1999. – 992 с.
2. Абрамов С.А. и др. Задачи по программированию. – М: Наука, 1988. – 224с.
3. Балуев А.Н., Даугавет В.А., Шидло
Новости и инфо для студентов