Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!Опольский Лабораторная работа 5.docx
Скачиваний:
16
Добавлен:
15.07.2019
Размер:
44.16 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра ЭАФУ

Отчет по

лабораторной работе № 5

Основы языка СИ. Задание значений переменным и массивам. Форматный ввод-вывод. Работа с файлами.

Вариант №12

Выполнил студент группы 0А15

Опольский Виктор Викторович

Проверил преподаватель

Лобес Леонид Анатольевич

Томск-2011

ЦЕЛЬ РАБОТЫ:

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

ЗАДАНИЕ:

  1. Ознакомиться с учебно-методическими указаниями к лабораторной работе №5 (электронная копия – в файле Лаб_№5.doс, размещенному по адресу L:\Методички\ Каф24\Информатика_140800\1_семестр\Методические указания).

  2. Составить блок-схему алгоритма программы по заданию согласно своему варианту.

Вариант 12

    1. Используя операторы описания и присваивания, присвоить переменным определенных ниже типов значения:

целым – 1.9, 12, 3.3; действительным - 1.12, 2.34, 4.56.

Вывести их на экран в виде:

Целые затем следуют значения.

Действительные затем следуют значения.

    1. Ввести в ЭВМ, используя функции ввода-вывода, матрицу

и переменные - 0.002345; 123894.345; 67.345

    1. Записать введенные данные в файл и выдать их на экран в виде матрицы (бесформатно).

    2. Используя форматированный вывод, записать матрицу А и значения переменных в файл и на экран дисплея с 3 знаками после запятой и с 0 знаков после запятой.

  1. Набрать текст программы на языке СИ с помощью текстового редактора.

  2. Провести трансляцию и компоновку программы.

  3. Выполнить контрольный запуск разработанной программы на исполнение.

  4. Составить отчет по лабораторной работе.

Номер варианта назначается преподавателем.

Теоретическая часть

При написании программы необходимо использовать массивы:

Массив – это набор переменных, имеющих один тип и одно и то же базовое имя и отличающихся одна от другой числовым признаком (номером элемента). В памяти ЭВМ они располагаются последовательно. Другими словами, массив – это упорядоченный набор однородных переменных (одного типа, с одинаковой формой представления, основанием и точностью значений). Массив характеризуется своим именем, количеством измерений (индексов) и количеством переменных в каждом измерении (количеством значений, которые может принимать индекс).

Пример: улица с домами. Название улицы – это имя массива, номер дома – это номер элемента массива, количество жильцов в доме – значение элемента массива.

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

Описание массива:

Тип имя[размер1][размер2]...

Пример:

int mas[10];

float aа[3][4];

В данном примере описан одномерный массив mas, содержащий 10 элементов, и двумерный массив aa, содержащий 3строких4столбца=12 элементов.

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

aaa[5], bb[i], cc[k+5].

Под "размером" понимается количество элементов, а не номер последнего, т.к. ПЕРЕЧИСЛЕНИЕ НОМЕРОВ ЭЛЕМЕНТОВ МАССИВА НАЧИНАЕТСЯ С 0, А НЕ С 1 !!! Т.е. mas[0], mas[1], .. mas[9]; aa[0][0], aa[0][1], ... aa[2][3]. Таким образом, индексами должны быть целые числа (или переменные целого типа); индексирование начинается с 0.

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

Циклом называется последовательность операторов, которая выполняется несколько раз в процессе выполнения программы при различных значениях некоторой переменной или при выполнении какого-то условия.

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

Структура оператора:

for (переменная=начальное значение, условие работы цикла, изменение переменной)

{

операторы;

}

Так же необходимо иметь представление о работе с файлами:

Файл для нас – это часть памяти для хранения информации, обычно на диске, со своим именем. Язык Си "рассматривает" файл как структуру данных. Эта структура содержится в системном файле stdio.h. Краткое наименование шаблона файла – FILE, которая и будет использоваться далее.

Описание файла:

FILE *переменная;

при этом слово FILE пишется только заглавными буквами.

Открытие файла: функция

переменная = fopen("имя_файла","par");

з

}

десь par - параметр, указывающий на то, как должен использоваться файл. Параметр может быть:

"r" – файл нужно считать;

"w" – файл нужно записать; только маленькими буквами!!!

"a" – файл нужно дополнить.

Закрытие файла: функция

fclose(переменная);

Закрытие всех открытых файлов: функция

fcloseall();

Вывод в файл: функция

fprintf(переменная, Управляющая строка, аргумент1, аргумент2,...);

Обратите внимание на то, что первым параметром является переменная, связанная с открытым файлом, а остальные параметры – те же, что и в функции printf().

Чтение из файла: функция

fscanf(переменная, Управляющая строка, аргумент1, аргумент2,...);

Описание алгоритма решения задачи

  1. Задаём значения для всех шести переменных сразу, при их объявлении.

  2. Выводим их значения на экран.

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

  4. Организовываем ввод для трех вещественных переменных

  5. Выводим бесформатно матрицу на экран построчно, используя \n. На второй строчке можно в начале дописать “matrixA=”. Далее выводим три ранее заданные переменные.

  6. Выводим те же значения в файл.

  7. Чтобы организовать форматный ввод, нужно указать количество знаков после запятой: %количество знаков до запятой.после запятойf. На экран нужно вывести ноль знаков после запятой, прописываем %.0f.

  8. В файл нужно вывести три знака после запятой, прописываем %.3f.

  9. Прописываем getch(); для ожидания нажатия клавиши до закрытия программы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]