- •Лабораторная работа 1
- •Порядок проведения работы
- •Работа с файлами.
- •- В меню File выбрать опцию Save As, ввести имя файла для сохранения. (использовать расширение .Cpp)
- •- Выделить в меню Run опцию Run.
- •Работа с help.
- •2 Содержание отчета
- •3 Индивидуальные задания
- •4 Вопросы к лабораторной работе
- •Breakpoints - показать
- •Лабораторная работа 2 структура программы на языке си программа ввода-вывода
- •1 Порядок проведения работы
- •2 Содержание отчета
- •3. Индивидуальные задания
- •4. Вопросы к лабораторной работе
- •Лабораторная работа 3
- •1. Порядок выполнения работы
- •2. Содержание отчета
- •3. Индивидуальное задание
- •4. Вопросы к лабораторной работе
- •Лабораторная работа 4 использование математических функций из math.H для вычислений
- •1. Порядок выполнения работы
- •2. Содержание отчета
- •3. Индивидуальное задание
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 5 организация структуры программы. Операторы управления вычислительным процессом
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание отчета
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 6 классы памяти
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание отчета
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 7 указатели и массивы
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание отчета
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 8 структуры
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание заданий
- •4. Содержание отчета
- •5. Вопросы по лабораторной работе
- •Лабораторная работа 9 работа с файлами
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание отчета
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 10 динамические структуры данных
- •1. Индивидуальные задания
- •2. Содержание отчета
- •3. Вопросы по лабораторной работе
- •Приложение
- •Однонаправленные связные списки
- •Двунаправленные связные списки
- •Список рекомендуемой литературы
- •Содержание
1. Порядок выполнения работы
1.1. Дополнить программу1 так, чтобы можно было удостове-риться, что в программе имеется три различных переменных с тремя
различными значениями, но с одинаковыми именами "ab".
1.2. В программе 2 (строка А2) объявить переменную b в классе памяти auto (Приложение 1). Изучить отличие результатов программ исходной 2 и модифицированной 2.
С помощью трассировки (Приложение 2) проследить за измене-нием содержания регистра (Меню Window режим Register), содержащего переменную ab.
1.3. В модифицированной по п.1.2 программе 2 в строке А1
объявить переменную "а" в классе памяти static (Приложение 1).
Изучить отличие результатов работы всех трех версий программы 2.
1.4. Проверить работоспособность программы 3 в случаях
- отсутствия объявления глобальной переменной glob в строке А1;
-описания переменной glob в классе памяти auto в строках А2 и А3.
Отладку осуществлять с использованием трассировки (Приложение 2).
/* Программа 1 */
#include <stdio.h>
void prog1A(void);
void prog1B(void);
int ab=1;
main()
{
int ab=0;
prog1A();
prog1B();
}
void prog1A(void)
{
auto int ab=2;
}
void prog1B(void)
{
printf("Значение переменной ab = %d\n",ab);
}
/* Программа 2 */
// Классы памяти: статическая переменная
#include <stdio.h>
void prog2A(void);
main()
{
register int ab;
for (ab=1;ab<=3;ab++)
{
printf("Итерация %d\n",ab);
prog2A();
}
}
void prog2A(void)
{
int a=1; // строка А1
static int b=1; // строка А2
printf("a = %d и b = %d\n",a++,b++);
}
/* Программа 3 */
// Классы памяти: глобальная переменная
#include <stdio.h>
void prog3A(void);
int glob; // внешняя переменная строка А1
main()
{
extern int glob; // строка А2
printf(" Введите числовой пароль \n");
scanf ("%d",&glob);
while (glob!=57)
prog3A();
printf(" Вы получаете доступ к базе.\n");
}
void prog3A(void)
{
extern int glob; // строка А3
printf(" Введите пароль еще раз \n");
scanf ("%d",&glob);
return (0);
}
2. Индивидуальные задания
1. В программе 3 вводить пароль-ключ доступа к Базе (длиной не более 6 байт).
2. В программе 3 организовать подсчет количества раз ввода неправильного пароля и вывод этого количества на экран.
3. Даны отрезки a, b, c, d. Для каждой тройки этих отрезков вычислить площадь треугольника в функции и распечатать ответ в вы-
зывающей программе.
4. Даны координаты отрезков a, b, c, d. Для каждой тройки этих отрезков построить треугольники на экране дисплея.
5. Даны две квадратные вещественные матрицы 10-го порядка. Напечатать квадрат той из них, в которой наименьший след (сумма диагональных элементов).
*** Написать функции:
forward - переместиться на заданное расстояние;
left - повернуть налево на заданный угол;
right - повернуть направо на заданный угол;
pen_up - поднять перо;
pen_down - опустить перо.
Функции должны взаимодействовать через глобальные переменные:
xpos, ypos - координаты;
pen - поднято перо или нет;
angle - угол с осью абсцисс.
С помощью этих функций нарисовать на экране:
6. Квадрат со стороной 75 единиц и центром, совпадающим с центром экрана.
7. Прямоугольник с отношением сторон 1:2 и со срезанными углами. Положение прямоугольника на экране произвольно.
8. Четыре крупные цифры - текущий год (цифры написаны по девятисегментному шаблону, как на почтовых конвертах)&
9. Те же цифры, что в зад.8, но по семисегментному шаблону, как в электронных часах.