Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗАВДАННЯ_ПРАКТИКА_СІ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
338.43 Кб
Скачать

Задача 2.1.

#include <stdio.h>

main()

{int i,j;

printf(" АМЕРИКА ВIДКРИТА У 1492 РОЦI\n");

printf("Який зараз рiк?\n");

scanf("%d",&i);

j=i-1492;

printf("\n");

printf(" З ЧАСУ ВIДКРИТТЯ АМЕРИКИ ПРОЙШЛО %d РОКIВ\n",j);

}

Задача 2.2.

#include <stdio.h>

main()

{ float i,j,s,h,*a;

puts(" ВВЕДIТЬ ДВА ЧИСЛА\n");

scanf("%f",&i);

scanf("%f",&j);

s=i+j;

h=i/j;

a=&h;

printf("СУМА ЧИСЕЛ %5.3f ,ЇХ ЧАСТКА %5.3f, ЯКА ЗНАХОДИТЬСЯ ПО \

АДРЕСУ %d\n",s,h,&a);

printf("АДРЕСОВАНЕ ЧИСЛО %5.3f",*a);

}

Задача 2.3.

Приклад програми, яка працює з адресами та покажчиками.

#include <stdio.h>

main()

{ float pl,fact,proc;

int n;

char tn[5];

scanf("%s",tn);

puts("-------------------------------------");

puts("|# п/п|табельний| план | факт | % |");

puts("| | номер | | | |");

puts("-------------------------------------");

n=1;

pl=234;

fact=220;

proc=fact/pl*100;

printf("| %d |%5s |%5.2f|%5.2f|%5.2f|",n,tn,pl,fact,proc);

}

Можливi помилки при виконаннi роботи

  1. Вживання невiдповiдних форматiв у операторах вводу-виводу. Правильнi формати:

%f - для дiйсних чисал (float)

%d - для цiлих чисел (int)

%s - для символьних змiнних (char)

  1. Вживання формату %f без уточнення кiлькостi знакiв пiсля коми. Хоча помилкова ситуацiя не виникає, число виводиться в формi, незручнiй для читання i неприйнятнiй для завдань економiчного характеру. Рекомендований спосiб виводу - наприклад, %5.2f.

  2. Вживання в операторi scanf спецiальних знакiв, наприклад \n.

scanf("%f\n",&a);

призводить до того, що машина очiкує вводу двох чисел.

  1. Вживання оператора = для присвоєння значення символьнiй змiннiй. З цiєю метою слiд вживати функцiю strcpy, прототип якої мiститься в string.h.

Практичне заняття №3

Мета завдання - ознайомитися з умовними операторами та операторами циклу в мовi Сi.

Нижче приведенi фрагменти програм, якi мiстять умовнi оператори та оператори циклу:

1. if (h[i]>m)

{m=h[i];nm=i;}

2. return(x>0?1:x?-1:0);

3. if (x>0) m=1; else m=-1;

4. switch(i)

{case 1:puts("сiчень");break;

case 2:puts("лютий");break;

...

default:puts("помилка");

}

5. for (i=0;i<6;i++)

scanf ("%d",&k[i]);

6. for(i=0;i<10;printf("%d ",*(k+i)),i++)

7. do {is=0;

for(i=0;i<=n;i++)

if(a[i-1]>a[i])

{c=a[i-1];a[i-1]=a[i];a[i]=c;is=1;}

}

while(is);

8. while(a>e) a\=2;

Контрольнi питання

  1. Логiчнi операцiї. Операнди логiчних операцiй. Використання виразiв числового типу в ролi умов.

  2. Помiченi оператори. Оператор безумовного переходу goto.

  3. Умовний оператор if.

  4. Тернарна операцiя ?

  5. Оператор switch. Оптимiзацiя оператора.

  6. Оператори циклу do, while, for. Способи пiдвищення гнучкостi оператора for.

  7. Оператор переривання циклу break та переходу на наступний крок циклу continue.