DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт до лабораторної роботи №4 «Масиви і файли в мові програмування С»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Проблемно-орієнтовані мови програмування
Група:
КН-11
Коротко про документ

Про що ця робота

Звіт до лабораторної роботи присвячено вивченню масивів та роботи з файлами мовою програмування С. Наведено теоретичні відомості, індивідуальне завдання та лістинг програми для сортування рядків матриці.

У роботі розглядаються

  • Масиви в мові С
  • Багатомірні масиви
  • Робота з файлами в С
  • Файлова система
  • Текстові та бінарні файли
  • Потоки в мові С
  • Сортування матриці

Зміст і розділи

  1. Мета роботи
  2. Теоретичні відомості
  3. Індивідуальне завдання
  4. Текст програми
  5. Результати обчислень
  6. Висновок
Для кого:Студенти технічних спеціальностей, які вивчають мову програмування С та основи роботи з файлами.
Викладачі:Викладач кафедри САПР

Ключові поняття

масивфайлмова програмування Спотікматрицяіндексвказівникфайлова систематекстовий файлбінарний файл

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра САПР Звіт до лабораторної роботи №4 на тему «МАСИВИ І ФАЙЛИ В МОВІ ПРОГРАМУВАННЯ С» з курсу «Проблемно-орієнтовані мови програмування» ЛЬВІВ 2011 Мета роботи Навчитися використовувати масиви та користуватися файлами при розв’язанні задач векторного типу. Теоретичні відомості Масив - це послідовно розміщені у пам’яті елементи одного типу. Кожен масив має ім’я. Доступ до окремих елементів масиву відбувається по імені масиву та індексу (порядковому номеру) елемента. Основні властивості масивів: всі елементи масиву мають однаковий тип; всі елементи масиву розміщені у пам’яті послідовно - один за одним; індекс першого елемента рівний нулю; ім’я масиву є вказівником-константою, рівною адресі першого елемента масиву. Ознакою масиву при описі є наявність парних квадратних дужок [ ]. Константа або константний вираз у квадратних дужках задає число елементів масиву. Загальний вигляд стрічки оголошення одномірного масиву наступний: тип ім’я_масиву[розмірність]; Наприклад: int x[10]; float y[20]; char name[18]; С дозволяє використовувати багатомірні масиви. Найпростіший варіант - двомірний масив. Для оголошення двомірного масиву типу integer twodim розмірністю 10 на 20 потрібно описати його наступним чином: int twodim[10][20]; Будьте уважні, на відміну від інших мов програмування розмірності масиву відокремлені одна від одної квадратними дужками. Отже, для доступу до елемента з індексами 3, 5 масиву twodim служить наступний запис twodim[3][5]. Наступний приклад демонструє роботу з двомірним масивом, а саме, присвоєння кожному елементу цього масиву суму відповідних індексів: main() { int t, i, num[3][4]; for(t = 0; t < 3; t++) for(i = 0; i < 4; i++) num[t][i] = i + t; } Загальний вигляд оголошення багатомірного масиву наступний: тип ім’я[розмірність1][розмірність2]...[розмірність N] Для прикладу покажемо, як оголосити масив цілого типу розмірністю 4 х 10 х 5 : int three[4][10][5]; А створення чотирьохмірного масиву 4 х 10 х 5 х 7: int four[4][10][5][7]; Файл — це іменований об'єкт, що зберігає дані (програма або будь-яка інша інформація) на якому-небудь носії (дискета, вінчестер, CD). Файл, як і масив, - це сукупність даних, тому вони трохи схожі. Однак, вони мають також істотні розбіжності: файли, на відміну від масивів, розташовуються не в оперативній пам'яті, а на жорстких дисках або на зовнішніх носіях, хоча файл може розташовуватися на так званому електронному диску (в оперативній пам'яті); файл не має фіксованої довжини, тобто може збільшуватися й зменшуватися; перед роботою з файлом його необхідно відкрити, а після роботи - закрити. Говорячи про файли, слід сказати про файлову систему. Файлова система - це сукупність файлів і керуючої інформації на диску для доступу до файлів. Або по-іншому - це сукупність програмних засобів для доступу до файлів. Існує досить багато файлових систем, ми будемо говорити про одну з них - про файлову систему MS-DOS. У файловій системі MS-DOS імена файлів складаються із двох частин, розділених крапкою: ім'я файлу й розширення. Поле ім'я файлу може містити не більше 8 довільних символів з набору дозволених для використання в імені файлу. Поле ж розширення може містити не більше 3 символів з того ж набору. Розширення звичайно вказує на тип збереженої інформації або на структуру файлу, і може взагалі бути відсутнім. Приклади найпоширеніших розширень: exe, com, bat, txt, doc, mp3, htm і ін. Файли зберігаються в каталогах. Каталоги можуть називатися по тій же системі, що й файли. Допускаються вкладені каталоги (підкаталоги). Розрізняють два види файлів: текстові й бінарні. Текстові файли можуть бути переглянуті й відредаговані із клавіатури будь-яким текстовим редактором і мають дуже просту структуру: послідовність ASCII-символів. Ця послідовність символів розбивається на рядки, кожна з яких закінчується двома кодами: 13, 10 (0xD, 0хА). Приклади відомих текстових файлів: *.bat, *.c, *.asm. Бінарні файли - це файли, які не мають структури текстових файлів. Кожна програма для своїх бінарних файлів визначає власну структуру. Бібліотека мови С містить функції для роботи як з текстовими, так і з бінарними файлами. Файлова система С спроектована для роботи з великою кількістью пристроїв: моніторами, дисководами, CD-ROM, принтерами, тощо. Незважаючи на те, що кожний з цих пристроїв має свої особливості, файлова система С трансформує їх в логічний пристрій. Таку абстракцію називають потоком. Всі потоки однакові за поведінкою, але аналогічно до файлів, розрізняють два типи потоків - бінарні і текстові. Текстовий потік - послідовність ASCII-символів, бінарний - послідовність байтів. Індивідуальне завдання 6. Прочитати з файлу F1 матрицю А(12,14) переставити рядки матриці таким чином, щоб кількість ненульових елементів зростала від першого рядка до останнього. Текст програми #include <stdio.h> #include <conio.h> int main() { int a[12][14],i,j,z[12],c,v,n; FILE *fp1; fp1=fopen("f.txt","r+"); for(i=0;i<12;i++) for(j=0;j<14;j++) fscanf(fp1,"%i",&a[i][j]); printf ("Zadana matrycya: \n"); for(i=0;i<12;i++) { for(j=0;j<14;j++) { printf("%d ",a[i][j]," "); } printf ("\n"); } for(i=0;i<12;i++) { z[i]=0; for(j=0;j<14;j++) if(a[i][j]==0) z[i]++; } for(i=0;i<13;i++) for(j=0;j<14;j++) if(z[j+1]<z[j]) {c=z[j]; z[j]=z[j+1]; z[j+1]=c; n=j; for(j=0;j<14;j++) { v=a[n][j]; a[n][j]=a[n+1][j]; a[n+1][j]=v; } } printf("\n"); printf("Vporyadkovan masiv:\n"); for(i=0;i<12;i++) { for(j=0;j<14;j++) { printf("%d ",a[i][j]," "); } printf ("\n"); } fclose (fp1); return 0; } Результати обчислень  Висновок: Я навчився використовувати масиви та користуватися файлами при розв’язанні задач векторного типу.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!