Тема: Програмування задач з використанням циклічних алгоритмів
за допомогою множини операторів мови С.
Мета: вивчення способів реалізації циклічних алгоритмів з використанням
операторів мови С: for, while, do...while
Постановка задачі.
Написати програму, яка «задумує» число і пропонує користувачу вгадати його за 5
спроб. Після кожної невдалої спроби видається підказка чи задумане число більше
або менше від введеного користувачем. Програма повинна перевіряти вхідні дані і при помилці виводити відповідне повідомлення.
Для реалізації програми було вибрано оператор if else – для виведення відповідної підказки або повідомлення; та оператор циклу do while – для можливості вгадати число з 5-ти спроб. Програма здійснює перевірку вхідних даних і виводить відповідне повідомлення, це реалізовано за допомогою оператора if else.
Код програми мовою С:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
FILE *gm;
gm=fopen("d:/RT11/lab3.txt","a");
int X, Y, i, stime;
fputs("Tsvyk Stepan, grupa RT-11\n", gm);
fputs("Laboratorna robota 3\n\n ", gm);
stime=time(NULL);
srand(stime);
Y=1+rand()%10;
printf("\n%d\n",Y);
puts("Vvedit chuslo vid 0 do 10 <Enter>"); scanf("%d",&X);
fputs("Vvedennya 4isla-->\n", gm);
i=1;
if (X<0 || X>10 || X==getchar){
puts ("\nNevirnuy format vvedenna!");
fputs ("Nevirnuy format vvedenna!\n", gm);
} else {
do {
i=++i;
if(Y==X) {
puts("Vu vgadalu\n");
fputs("Vu vgadalu\n", gm); break;}
else{
if(Y>X){
puts("Vu ne vgadalu, Bilshe");
fputs("Vu ne vgadalu, Bilshe\n", gm); scanf("%d",&X);
}
else {
puts("Vu ne vgadalu, Menshe");
fputs("Vu ne vgadalu, Menshe", gm); scanf("%d",&X);}}
}while(i<5);}
system("PAUSE");
return 0;
}
Результати виконання програми:
Tsvyk Stepan, grupa RT-11
Laboratorna robota 3
Vvedennya 4isla-->
4
Vu ne vgadalu, Bilshe
5
Vu ne vgadalu, Bilshe
7
Vu ne vgadalu, Menshe
6
Vu vgadalu
Vvedennya 4isla-->
11
Nevirnuy format vvedenna!
-2
Nevirnuy format vvedenna!
t
Nevirnuy format vvedenna!
Висновок:
Під час виконання лабораторної роботи я освоїв способи реалізації циклічних алгоритмів з використанням операторів мови С: for, while, do...while, в залежності від поставленої задачі. Також освоїв принцип роботи оператора rand() та його налаштування.