Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Кафедра компьютерных информационных технологий

Поиск

Составители

А.Ф.Тарасов

А.В.Алтухов

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам по дисциплине

«Языки объектно-ориентированного программирования»

(для студентов специальности 7.080402 “Информационные технологии проектирования” для очной и заочной формы обучения)

 

 

В печать экз. Проректор по учебной работе   Фесенко А.Н. Утверждено На заседании кафедры компьютерных информационных Технологий Протокол N____ От. 2000 г.  

 

 

Краматорск ДГМА 2000


УДК

 

Методические указания к лабораторным работам по дисциплине «Языки объектно-ориентированного программирования» для студентов специальности 7.080402 очной и заочной формы обучения. /Сост. А.Ф. Тарасов, А.В. Алтухов - Краматорск: ДГМА, 1999. - 87с.

 

 

Методические указания содержат теоретические сведения, рекомендации по выполнению и требования к оформлению лабораторных работ, выполняемых студентами специальности 7.080402 "Информационные технологии проектирования" очной и заочной формы обучения, а также вопросы для самостоятельной работы. Теоретические сведения содержат материалы по основным разделам дисциплины и могут быть использованы в качестве основы для изучения языка программирования С, а также для подготовки к экзаменам студентов очной и заочной формы обучения.

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

 

 

Составители А.Ф.Тарасов, А.В. Алтухов

 

Ответственный за выпуск: А.Ф.Тарасов

 

Лабораторная работа № 1

Изучение интегрированной среды С

(2 часа)

Цель работы: научиться использовать интегрированную среду С.

 

Теоретические сведения

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

 

Пример

 

/* ЗАНЯТИЕ N 1

Разработал Петров Ю.В. */

 

/* <-Это начало многострочного комментария

Это окончание многострочного комментария -> */

 

// <-Это однострочный комментарий

 

#include <stdio.h> //Директива препроцессора (#include) включает

#include <conio.h> //Заголовочные файлы с расширением (.h)

 

void main(void) //Главная функция

{ //Начало составного оператора (блока, тела функции)

clrscr(); //Функция очистки экрана

printf("\n\t Здравствуй,\n"); //Функция вывода на экран

printf("\n мир!"); // '\n' '\t' -управляющие

// последовательности

} //Конец составного оператора (блока, тела функции)

 

/* Результат выполнения программы

 

Здравствуй,

мир! */

 

Ход работы

1 Выполнить загрузку интегрированной среды разработки С (IDE) для Turbo C, расположенной в каталоге N:\APL\TC\BIN\TC.EXE, из активной директории.

2 Изучить особенности IDE (структуру меню и подменю), а также повторить возможности текстового редактора (типа Brief), изучить «горячие» клавиши.

3 Выполнить загрузку программ-примеров (N:\APL\TC\LAB\*.CPP), их корректировку, сохранение и компиляцию.

4 Изучить непонятные синтаксические конструкции с использованием встроенной помощи. Скопировать пример из помощи в активное окно и изучить его работу.

5 Повторить выполнение пунктов 1-4 для интегрированной среды разработки Borland C (N:\APL\BC\BIN\BC.EXE).

6 Сравнить возможности IDE Turbo C и Borland C.

7 Написать отчет и сделать выводы по работе, изучив контрольные вопросы по теме.

 

Требования к отчетам

Отчет по лабораторным работам оформляются в соответствии с методическими указаниями “Структура и правила оформления текстовых документов” на основе ДСТУ 3008.95 “Документация, отчёты в сфере науки и техники. Структура и правила оформления”. Отчеты оформляются на отдельных листах формата А4. В конце семестра отчеты сшиваются с титульным листом и сдаются на кафедру после защиты всех работ.

 

Отчёт должен содержать

1 Фамилию, имя, отчество и группу студента

2 Номер и название работы

3 Цель работы

4 Индивидуальное задание

5 Текст программы

6 Результаты работы программы

7 Выводы

 

 

Вопросы для контроля и самостоятельной работы

1 Как осуществляется запуск и выход из IDE?

2 Как осуществляется настройка путей для подключения внешних файлов?

3 Перечислите режимы компиляции. Что они обозначают?

4 Как производится подключение библиотеки графических функций?

5 Как осуществляется открытие и закрытие окон, переход между окнами, копирование текста из окна в окно?

6 Как осуществляется модификация имени файла?

7 Что такое проект? Как проиизводится создание, дополнение и выполнение проекта?

8 Почему загрузка IDE осуществляется из активной директории?

9 Назовите «горячие» клавиши и их назначение.

10 Как выделить комментарии в С?

11 Как подключиться заголовочные файлы, что они содержат?

12 Что обозначается словом main()?

 

Лабораторная работа №2

 

Функции ввода/вывода printf(), scanf().

Линейные вычислительные процессы

(2 часа)

 

Цель работы: Изучить форматы объявлений и работу основных функций ввода/вывода информации. Научиться составлять простые программы с линейным вычислительным процессом.

 

Теоретические сведения

 

Одной из основных задач при программировании является ввод и вывод данных. В С для этого применяют ряд функций printf(), scanf(), cprintf(), ecvt(), fprintf(), fread(), fscanf(), hutc(), puts(), putw(), sprintf(), vprintf(). Функция printf() осуществляет форматированный вывод в поток stdout. Объявление функции находится в заголовочном файле < stdio.h>.

Синтаксис объявления функции

printf() #includ <stdio.h> printf (const char* format [,argument,…]);

В скобках [ ] указаны необязательные элементы спецификации.

Спецификация формата, определяющая вывод аргументов, имеет вид:

%[flags] [width] [.precision] [F/N/h/l/L] type

Функция scanf() - Осуществляет форматированный ввод из потока stdin

Синтаксис # include <stdio.h>

int scanf(const char *format[,adress,...]);

Неотображаемыми символами являются пробел (), символ табуляции (\t), символ перехода на новую строку (\n) и другие управляющие последовательности. Если функция scanf() встречает неотображаемый символ в форматной строке, она будет считывать, но не сохранять всю последовательность символов вплоть до следующего отображаемого символа во входном потоке.

Отображаемыми символами являются все другие символы кода ASCII, за исключением символа процента (%). Если функция scanf() встречает в строке формата отображаемый символ, то она прочитает, и сохранит соответствующий ему символ.

 

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

Спецификация формата функции … scanf() имеет следующий вид

% [*] [widht] [F|N] [h|l|L] <type>

Спецификация формата начинается с символа процента (%). После этого символа следуют символы спецификации. Ниже представлено общее описание строки формата scanf(), управляющей формированием потока данных.

 

Символ или спецификатор Чем управляет или что определяет
модификаторы типа аргумента
модификаторы размера указателя
Тип short int; Тип long int (если символ типа указывает на преобразование к целому типу); Тип double (если символ типа указывает на преобразование к типу c плавающей запятой); Тип long double(допустим только при преобразованиях к типу c плавающей запятой)
Указатель типа near, Указатель типа far ;
*- подавление назначения

width – ширина поля

Size

-

 

-

Отменяет присваивание следующего поля ввода Максимальное число считываемых символов Изменяет размер по умолчанию адресного аргумента

 

Символы типа

Символ Ожидается на входе Тип аргумента
d D o O i I u U x X e, E f g, G s c Десятичное целое Десятичное целое Восьмеричное целое Восьмеричное целое Десятичное целое Десятичное целое Десятичное целое без знака Десятичное целое без знака Шестнадцатеричное целое Шестнадцатеричное целое Число с плавающей запятой Число с плавающей запятой Число с плавающей запятой Строка символов Символ Указатель на int (int *arg ) Указатель на long (long *arg ) Указатель на int (int *arg) Указатель на long (long *arg ) Указатель на int (int *arg) Указатель на long (long *arg) Указатель на unsigned int (unsigned int *arg)   Указатель на unsigned long (unsigned long *arg)   Указатель на int (int *arg)   Указатель на long (long *arg)   Указатель на float (float *arg)   Указатель на float (float *arg)   Указатель на float (float *arg)   Указатель на массив символов (char arg[ ]) Указатель на символ (char *arg)

 

Пример

/* ЗАНЯТИЕ N 2

Разработал Сидоров К.В. */

 

#include <stdio.h> //Директива препроцессора (#include) включает

#include <conio.h> //Заголовочные файлы с расширением (.h)

#include <string.h>

int a; //Объявление глобальной переменной типа int

int main(void) //Главная функция

{//Начало составного оператора (блока, тела функции)

char c,buf[20]; //Объявление локальных переменных

char *pst="\"slovo\"";//Объявление локальной переменной c

float f=26.6; //инициализацией

double d;

clrscr(); //Функция очистки экрана

printf(" Ввод переменной типа char: "); //Функция вывода на экран

fflush(stdin); //Функция очистки буфера клавиатуры

scanf("%c",&c); //Функция ввода данных,

// & - операция взятия адреса

printf(" Вывод переменной типа char: ");

printf("%c\n",c);

printf("\n Ввод переменной типа int: ");

scanf("%d",&a);

printf(" \t Вывод переменной типа int\n");

printf(" Формат вывода (int): +6d #6o #8x\n");

printf("\t\t |%+6d|%#6o|%#8x|\n ",a,a,a);

printf("\n Ввод переменной типа int: ");

scanf("%d",&a);

printf("\t Вывод переменной типа int\n");

printf(" Формат вывода (int): -6d +6d #8d\n");

printf("\t\t |%-6d|%+6d|%#6d|\n",a,a,a);

printf("\n Вывод исходной cтроки: %s\n\n",pst);

printf(" Ввод cтроки в массив: ");

scanf("%s",buf);

printf(" Вывод cтроки из массива: %s\n\n",buf);

printf(" Ввод переменных типа float and double (через пробел):\n");

printf("\t\t ");

scanf("%f %lf",&f,&d);

printf("\t Вывод переменных типа float and double\n");

printf(" Формат вывода (float): 10.6f 10.6e +10.6g\n");

printf("\t\t |%10.6f|%10.6e|%+10.6g|\n",f,f,f);

printf(" Формат вывода (double): 10.8lf 10.8e 10.8g\n");

printf("\t\t |%10.8lf|%10.8e|%+10.8g|\n ",d,d,d);

getche(); //Функция ввода символа с клавиатуры

return 0; //Оператор возврата значения из функции (0)

} //Конец составного оператора (блока, тела функции)

 

/* Результат выполнения программы

 

Ввод переменной типа char: u

Вывод переменной типа char: u

Ввод переменной типа int: 78

Вывод переменной типа int

Формат вывода (int): +6d #6o #8x

| +78| 0116| 0x4e|

Ввод переменной типа int: 90

Вывод переменной типа int

Формат вывода (int): -6d +6d #8d

|90 | +90| 90|

Вывод исходной cтроки: "slovo"

Ввод cтроки в массив: символы 45!"#:$.;?%;?

Вывод cтроки из массива: символы 45!"#:$.;?%;?

Ввод переменных типа float and double (через пробел):

78.89 6778.0

Вывод переменных типа float and double

Формат вывода (float): 10.6f 10.6e +10.6g

| 78.889999|7.889000e+01| +78.89|

Формат вывода (double): 10.8lf 10.8e 10.8g

|6778.00000000|6.77800000e+03| +6778| */

Ход работы

1 Изучить теоретические сведения.

2 Выполнить загрузку интегрированной среды разработки С (IDE ) для
Borland C, расположенной в каталоге N:\APL\BC\BIN\BC.EXE, из активной директории.

3 Ознакомиться с форматом функций printf() и scanf().

4 Скопировать примеры для функций printf, scanf из встроенной помощи в активное окно и изучить их работу. Изучить синтаксические конструкции, приведенные во встроенной помощи.

5 Выполнить загрузку программ-примеров (N:\APL\TC\LAB\*.CPP), их корректировку с использованием различных возможностей функций printf (), scanf (), сохранение файлов и компиляцию.

6 Написать отчет и сделать выводы по работе.

7 Подготовиться к защите лабораторной работы, изучив вопросы по данной теме, изучив контрольные вопросы по теме.

 

 

Индивидуальное задание к лабораторной работе №2

Составить программу для форматированного ввода и вывода данных заданного типа согласно индивидуальному заданию приведенному в таблице 2.1.

Таблица 2.1 - Индивидуальное задание

вариант первый тип второй тип третий тип четвертый тип выравнивание по краю Точность вещественных типов
  unsigned int long int float double левый 14.5
  signed int long double char short int правый 12.8
  unsigned int unsigned long int short int float правый 10.3
  long int char double float левый 11.2
  unsigned long int float int long double правый 7.3
  signed long int long double unsigned int float правый 16.5
  short int long double float unsigned int левый 11.5
  unsigned long int float long int char правый 20.9
  float signed int long double char левый 13.6
  long int float double char левый 14.3
  char signed long int long double float правый 9.6
  float int long double unsigned long int левый 8.2
  char unsigned long int float long int левый 12.4
  float signed long int long double signed long int правый 15.7
  long double short int float unsigned long int правый 17.5
  long double unsigned long int int char левый 14.2
  float short int char long double правый 10.5
  unsigned long int short int long int char левый 11.7
  char double long double unsigned int левый 16.12
  float int double char левый 10.3
  long double unsigned int double float правый 9.5
  long double float long double unsigned long int левый 13.6
  float long int long double unsigned long int левый 12.4
  float long int char unsigned long int правый 13.8
  signed int long double float unsigned short long правый 10.6
  float double char long int левый 12.5
  signed long int long double float char правый 11.4
  int long double unsigned long int float левый 10.3
  unsigned long int float long int char левый 15.6
  signed char long double unsigned char short int левый 18.10

 

Требования к содержанию отчёта приведены в лабораторной работе №1.

Вопросы для контроля и самостоятельной работы

1 Как осуществляется вывод и ввод информации в языке? Существуют ли встроенные операторы ввода/вывода?

2 Для чего используется форматированный ввод/вывод?

3 С какого символа начинается форматная строка?

4 Для чего устанавливаются флаги?

5 Какие символы преобразования используются и в каких случаях?

6 Какие элементы формата являются обязательными элементами?

7 В каком заголовочном файле приведены объявления (прототипы) этих функций?

8 Отличаются ли символы типа <type>, применяемые для функций prinf() и scanf()?

9 Отличаются ли типы аргументов функций? Если отличаются, то в чём различие и чем оно вызвано?

10 О чём свидетельствует модификатор const?

11 Назовите функции для ввода/вывода информации.

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



Поделиться:


Познавательные статьи:




Последнее изменение этой страницы: 2016-04-26; просмотров: 273; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.159.143 (0.007 с.)