- •Міністерство транспорту та зв'язку україни
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 1-2
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Порядок виконання лабораторної роботи
- •7 Контрольні запитання
- •Лабораторна робота № 3 Тема: "Програмування розгалужених обчислювальних процесів з використанням умовних операторів"
- •1 Короткі теоретичні відомості Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •Синтаксис оператора
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Контрольні запитання
- •Лабораторна робота № 4
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •Оператор циклу while. Цикл while – це ітераційний цикл із передумовою. Це оператор циклу, який працює до тих пір, поки деяка умова буде істинною.
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 6-7
- •1 Короткі теоретичні відомості
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 8
- •2 Постановка завдання
- •3 Приклад виконання лабораторної роботиІндивідуальне завдання
- •4 Контрольні запитання
- •Лабораторна робота № 9
- •1 Короткі теоретичні відомості
- •2 Індивідуальні завдання
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 10
- •1 Короткі теоретичні відомості
- •2 Індивідуальні завдання
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 11-12
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань:
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 13-14
- •1 Короткі теоретичні відомості
- •2 Постановка завдання.
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 15
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 16
- •1 Короткі теоретичні відомості
- •Int strcmp(const chart *str1, const chart *str2);
- •2. Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 17-18
- •1 Короткі теоретичні відомості
- •2 Постановка задачі
- •3 Варіанти індивідуальних завдань
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 19
- •1 Короткі теоретичні відомості
- •2 Завдання практичної роботи
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 20
- •1 Короткі теоретичні відомості
- •2. Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 21
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 24
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 24
- •1. Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Практична робота № 1-2
- •1 Короткі теоретичні відомості
- •Оператор виконує наступні дії:
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Практична робота № 3
- •1 Короткі теоретичні відомості
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •2 Постановка завдання
- •3 Методичні вказівки
- •4 Приклад виконання практичної роботи Завдання
- •Програма розв'язку
- •5 Контрольні запитання
- •Практична робота № 4
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальни х завдань
- •4 Методичні вказівки
- •5 Приклад виконання практичної роботи
- •6 Контрольні запитання
- •Практична робота № 5
- •1 Короткі теоретичні відомості
- •Void func( ) /*нічого не повертає*/
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Практична робота № 6
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •2 Завдання практичної роботи:
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •Програма розв'язку
- •4 Контрольні запитання
- •Список рекомендованої літератури
4 Приклад виконання практичної роботи Завдання
Задати одновимірний масив дійсних чисел розмірністю 17.
Знищити перший елемент, який дорівнює 8. Одержаний масив вивести на екран.
Додати після кожного непарного елемента масиву елемент зі значенням. Одержаний масив вивести на екран.
Програма розв'язку
#include<stdio.h>
#include<conio.h>
#include<math.h>
float A[17]={5,4,6,8,5,6,8,9,1,2,4,4,3,9,8,7,4},B[17],C[34],n;
int i,k,l,m,j;
void main() { clrscr();
for(i=0,j=0;(i<17)&&(j<17);i++,j++)
if(A[i]==8) { k++; B[j]=A[i+1];} else if(k<1) B[j]=A[i]; else B[j]=A[i+1];
for(i=0;i<17;i++) printf("B[%d]=%1.0f\t",i,B[i]);
printf("\n");
for(i=0;i<17;i++) { n=fmod(B[i],2); if(n!=0) l++; }
for(i=0,j=0;(i<17)&&(j<(17+l));i++,j++)
{ n=fmod(B[i],2); if(n!=0) { C[j+m]=B[i]; C[j+m+1]=-8; m=m+1; } else
{ if(m<1) C[j]=B[i]; else C[j+m]=B[i]; } }
for(i=0;i<(17+l);i++) printf("C[%d]=%1.0f\t",i,C[i]); }
Результати:
B[0]=5 B[1]=4 B[2]=6 B[3]=5 B[4]=6 B[5]=8 B[6]=9 B[7]=1 B[8]=2 B[9]=4 B[10]=4 B[11]=3 B[12]=9 B[13]=8 B[14]=7 B[15]=4
C[0]=5 C[1]=-8 C[2]=4 C[3]=6 C[4]=5 C[5]=-8 C[6]=6 C[7]=8 C[8]=9 C[9]=-8 C[10]=1 C[11]=-8 C[12]=2 C[13]=4 C[14]=4 C[15]=3 C[16]=-8 C[17]=9 C[18]=-8 C[19]=8 C[20]=7 C[21]=-8 C[22]=4
5 Контрольні запитання
Що таке масив?
Яке значення має індекс 1-го елементу масиву
Які типи даних можна використати для опису масивів ?
Яке значення має індекс останнього елементу масиву, коли він має 67 елементів?
Яке значення має індекс 10-го елементу масиву?
Практична робота № 4
Тема: Звернення до елементів масиву через вказівники
Мета: Навчитися звертатися до елементів масиву черех вказівники на них і використовувати операцію посилання по вказівнику для визначення значення елементів
1 Короткі теоретичні відомості
Індексний запис і вказівники. Ім’я масиву без квадратних дужок – це вказівник на перший елемент масиву. Тому до першого елементу можна звертатися з допомогою операції посилання по вказівнику. Нехай описаний масив array[]. Тоді вираз *array дасть його перший елемент, *(array +1) - другий і т. д. . Тоді можна записати такі співвідношення.
*(array)== array[0]
*(array +1) == array[1]
*(array +2) == array[2]
………………………………
*(array +n) == array[n]
Це зв’язок між зверненням до масиву по індексу і через операції з вказівниками.
Не можна використовувати не заданого (не ініціалізованого) вказівника в лівій частині оператора присвоєння.
Наприклад, описаний вказівник типу int
int *ptr;
Цей вказівник не ініціалізований, тому не вказує ні на що відоме. В неініціалізованих вказівниках є певне значення, тільки ми його не знаємо. В більшості випадків це 0. Нехай
*ptr=12;
Значення 12 поміститься по адресі ptr Ця адреса може відноситися до довільного місця в пам’яті, де розміщується операційна система, або сама програма. Значення 12 може затерти цінну інформацію і може привести до повного краху системи.
Обчислення зміщення і порівняння вказівників. Зміщення – це фактичне віднімання двох вказівників, Якщо є два вказівники на різні елементи одного масиву, то їх можна відняти один від одного і вияснити , на якій відстані вони знаходяться Адресна арифметика забезпечує автоматичне масштабування результату, і в підсумку відстань виражається в кількості елементів. Якщо ptr1 i ptr2 вказують на елементи одного і того масиву, то вираз ptr1-ptr2 дає відстань між цими елементами.
Вказівники можна також порівнювати. Порівняння має сенс тільки для вказівників на один і той масив. При цьому виконуються операції порівняння = =, !=, <, >, >+, <+.
Молодші елементи масиву, тобто елементи з меншими індексами мають і менші адреси. Якщо ptr1 i ptr2 вказують на елементи одного і того масиву, то співвідношення ptr1 < ptr2 істинне, коли ptr1 вказує на елемент з меншим індексом, ніж ptr2. Множення і ділення над вказівниками не виконується.