
- •Ю.А Петров Программирование на языке высокого уровня
- •Часть 1
- •Введение
- •Задание
- •Комментарии
- •Идентификаторы
- •Ключевые слова
- •Константы
- •Управляющие последовательности
- •Строковые литералы
- •Константные выражения
- •Пунктуаторы
- •Операции
- •Задание на лабораторную работу 2 разработка программы линейной структуры Цель работы
- •Отчет по лабораторной работе должен содержать:
- •Задание
- •Замечания
- •Варианты заданий
- •Классификация ошибок
- •Ошибки, не обнаруженные компилятором
- •Ситуации, возникающие при неверных результатах
- •Отладка программы
- •Предупреждения
- •Первое сообщение об ошибке
- •Использование команд Find и Replace
- •Быстрое обнаружение ошибочных строк
- •Продолжение отладки
- •Использование встроенного отладчика
- •Разница между командами Step Into и Step Over
- •Дополнительные средства отладки
- •Работа с точками останова
- •Краткая характеристика объектов
- •Формат 1:
- •Стиль программирования
- •Задание на лабораторную работу 4 объекты и их характеристики Цель работы
- •В отчете по лабораторной работе следует представить:
- •5 Структурное программирование
- •Пример1
- •Пример 2
- •Задание на лабораторную работу 5 разработка программы со структурой «развилка» Цель работы
- •Задание:
- •Варианты задания
- •Задание на лабораторную работу 6 создание цикловых программ с фиксированным числом повторений Цель работы
- •Задание
- •Варианты задания
- •Задание на лабораторную работу 7 создание программ с итерационными циклами Цель работы
- •Задание
- •Варианты задания
- •Пояснения к выполнению лабораторной работы 7
- •6 Агрегаты данных
- •Структура
- •Объединения
- •Перечисления
- •Int array[3]; // Объявление определения;
- •Многомерные массивы
- •Вывод в файловый поток
- •Чтение из входного файлового потока
- •Чтение целой строки файлового ввода
- •Определение конца файла
- •Проверка ошибок при выполнении файловых операций
- •Закрытие файла
- •Управление открытием файла
- •Выполнение операций чтения и записи
- •Задание на ргз 1 использование структур данных при решении задач Цель работы
- •Задание
- •Варианты задания
- •7 Модульное программирование
- •Задание на ргз 2 использование модульного программирования при решении задач
- •Перемещаемые панели инструментов
- •Меню File
- •Меню Edit
- •Меню View
- •Меню Insert
- •Меню Project
- •Меню Build
- •Меню Tools
- •Меню Window
- •Список открытых окон
- •Меню Help
- •Приложение 2 Некоторые функции языка с
- •Используемая литература
- •Оглавление
- •5 Структурное программирование 53
Задание на лабораторную работу 2 разработка программы линейной структуры Цель работы
Написать исходный код своей первой программы для VC++ ver.6.0.
Найти и проанализировать лексемы, используемые в исходном коде.
Изучить формат функций вывода.
Отчет по лабораторной работе должен содержать:
Постановку задачи (цель работы, задание).
Алгоритм решения задачи (словесный или в виде блок-схемы, обозначения переменных, используемых при решении задач).
Исходный код программы с необходимыми комментариями (исходный код должен использовать стиль программирования).
Результаты работы программы (скопированные с экрана дисплея).
Анализ полученных результатов, выводы.
Описание типов лексем, используемых в исходном коде.
Описание формата функции printf().
Задание
Вычислить значение функции y = f(x), предварительно выполнив действия над целыми переменными. Разработать исходный код на языке С, используя главную функцию main() и библиотечную функцию printf() (для вывода всех входных и выходных данных), а также необходимые директивы препроцессора, откомпилировать исходный код, выполнить его компоновку и запустить на выполнение exe-файл.
Выписать размер исходного кода (*.cpp), объектного кода (*.obj) и исполняемого файла (*.exe). Подробно изучить и описать формат функции printf(). Действия над переменными выполнить вручную с использованием двоичной системы координат, результаты сравнить с полученными на ЭВМ.
Дать краткий анализ директив процессора, используемых в исходном коде.
Замечания
Если при вычислении квадратного корня подкоренное выражение отрицательно, взять его модуль.
Если при вычислении арксинуса (арккосинуса) аргумент х больше единицы, взять в качестве аргумента его обратную величину, т.е. 1/х.
При создании простого консольного приложения с помощью мастера проектов Visual C++ Ver 6.0 распечатать файлы проекта.
Библиотечные функции см. в приложении 2.
Варианты заданий
Номер варианта |
Действия над переменными |
Функция y = f(x) |
Исходные данные | |
1 |
a=(a--|x<<2)&(a<<2) |
|
a = 5, b = 5, x = 2 | |
2 |
x=(c&x>>1) ^ (x|c>>2)|(x--<<1) |
|
a = 3, c = 1, x = 3 | |
3 |
c=(x>>1)|(c<<1) & (--x^c++) |
|
b = 3, c = 2, x = 3 | |
4 |
Q=(x&Q-- >>1) | (Q<<1^x<<2) |
|
Q = 3, x = 3 | |
5 |
q=(++q^x<<1) | (q&x++) |
|
x = 2 , q = 4 | |
6 |
x=(--x&q<<1) | (x^q++) |
где
|
x = 4 q = 2 | |
7 |
x=(++x&q) | (x>>1|q--) |
где
|
x = 3 q = 2 | |
8 |
p=(p|e++>>2) & (++p>>1) |
|
p = 3, e = 5, x = /3 | |
9 |
p=(--p^b--) << (p&b) |
|
p = 3, b = 4, x = /10 | |
10 |
a=(--a^r++) | (a<<2&r) |
|
r = 2, a = 1, x = /6 | |
11 |
r=(--r^a) << (r&a++) |
|
r = 1, a = 4, x = /4 | |
12 |
a=(b|a) ^ (a >>1&b<<1) |
|
a = 4, b = 2, x = /3 | |
13 |
a=(b|++a) ^ (a<<1&&b--<<1) |
|
a = 3, b = 3, x = /6 | |
14 |
b=(b|a) << (++b&a++) |
|
a = 1, b = 1, x = /3 | |
15 |
b=(b|a--) >> (b++&a) |
|
a = 3, b = 1, x = /5 | |
16 |
a=(b&a--) ^ (a<<1|b<<1) |
|
a = 3, b = 3, x = /6 | |
17 |
a=(a^--b) << (a++&b) |
|
a = 1, b = 4, x = /9 | |
18 |
a=(--a^b++) | (b<<1&a) |
y(x) = aln(x)sin(x/2) + be2xcos(x/2) |
a = 2, b = 3, x = /4 | |
19 |
b=(b--&a++)|(b^a) |
y(x) = alg(x)cos(x/2) – be-xsin(x/2) |
a = 2, b = 4, x = /9 | |
20 |
a=(a|b++>>1) & (++a>>2) |
|
a = 5, b = 3, x = /3 | |
21 |
a=(a++>>1&b) << (a^--b) |
|
a = 3, b = 4, x = /4 | |
22 |
b=(a>>1&b++) ^ (b>>1|a) |
|
a = 4, b = 5, x = /3 | |
23 |
a=(b&a++) ^ (a|b<<2) |
|
a = 2, b = 1, x = /8 | |
24 |
a=(++b|a>>1) ^ (a&b) |
|
a = 3, b = 3, x = /3 | |
25 |
b=(b&a) | (b++^a>>1) |
|
a = 4, b = 3, x = /6 |
3 Отладка программы с помощью отладчикаMicrosoftVisualC++
Программа, свободная от ошибок, есть абстрактное теоретическое понятие.Одно из затруднений, связанных со скрытыми дефектами программ, заключается в том, что вероятность их проявления возрастает со временем и с расширением масштабов использования программы. Мало в какой области деятельности имеется столько возможностей для ошибок, как в программировании. Искусство локализации ошибок, когда факт их существования установлен, носит названиеотладки.
Одним из критериев профессионального мастерства программистов является способность обнаруживать и исправлять собственные ошибки: начинающие программисты не умеют этого делать, у опытных программистов это не вызывает затруднений.