- •Часть 2
- •Часть 1
- •Задачи для самостоятельной работы № 2 и 3 Примеры решения задач
- •Задачи для самостоятельной работы № 2 и 4 Примеры решения задач
- •Задачи для самостоятельной работы № 2 и 4 Примеры решения задач
- •Задачи для самостоятельной работы № 4 и 5 Примеры решения задач
- •Задачи для самостоятельной работы № 4-а и 4-б Примеры решения задач
- •Задачи для самостоятельной работы № 3 Примеры решения задач
- •Задачи для самостоятельной работы № 3 Примеры решения задач
- •Задачи для самостоятельной работы № 2 Примеры решения задач
Задачи для самостоятельной работы № 2 Примеры решения задач
Задача 9.2. Вывести на экран список рейсов в заданный город на которые есть билеты.
Структура содержит следующие поля: № рейса самолета, Пункт назначения, Время отправления, Наличие билетов 1-го класса, Наличие билетов 2-го класса.
Листинг программы.
#include<stdio.h>
int main()
{ FILE *fin;
fin=fopen("text.txt","r");
if(!fin) {puts("Oshibka");return 1;}
fseek(fin,0,SEEK_END);
long len=ftell(fin);
char *buf=new char[len+1];
const int l_blok=1024;
int num_blok=len/l_blok;
fseek(fin,0,SEEK_SET);
fread(buf,l_blok,num_blok+1,fin);
buf[len]='\0';
long=0,i=0,j=0;
while(buf[i])
{ if(buf[i]=='?')
{ for(j=n;j<=i;j++ putchar(buf[j]);
n=i+1;
}
if(buf[i]=='.' || buf[i]=='!') n=i+1;
i++;
}
fclose(fin);
printf("\n");
return 0;
}
Практическая работа № 10
Тема: Создание графических примитивов.
Цель: Закрепить на практике теоретические знания по созданию графических примитивов.
Порядок выполнения практической работы
-
Изучите теоретический материал. [5, стр.133-159].
-
Ознакомьтесь с примерами программ.
-
Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».
-
Отладьте программу и выполните расчеты на ПК.
-
Оформите отчет о выполненной работе.
Содержание отчета
-
Тема работы.
-
Цель работы.
-
Условия задач.
-
Листинг программы.
-
Решение задачи на ПК.
-
Краткие выводы по работе.
Задачи для обязательного выполнения № 1.
Примеры решения задач.
Задание 10. Создать на экране чертеж.

Листинг программы.
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
#include<conio.h>
void main() {
clrscr();
int a=340, b=60, r1=50, r2=70, x=200,y=160;
int gdriver=DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, “c:\\tc\\bgi”);
errorcode=graphresult();
if(errorcode!=grOK)
{ printf(“Graphicserror=%s\n”,grapherrormsg(errorcode);
printf(“Pres any key to halt”);
getch();
exit(1);
}
setbkcolor(15);
setcolor(1);
setlinestyle(0,0,1);
int x0=x+a%2, y0=y+b%2, z2=b/2;
rectangle(x,y,x+a,y+b);
line(x,y,x+a,y+b);
line(x+a,y,x,y+b);
sector(x0+156,y0+76,0,360,r1,r1);
setcolor(1);
line(x0+156,y0+76,x0+156-r1,y0+76);
setcolor(1);
arc(x,y0+b/2,90,270,r2);
setfillstyle(BKSLASH_FILL,1);
floodfill(x-10,y0+10,1);
setfillstyle(LTSLASH_FILL,1);
floodfill(x0+100,x0+r1,1);
setlinestyle(0,0,0);
line(x,y+b,x,y+b+30);
line(x+a,y+b,x+a,y+b+30);
line(x,y+b+25,x+a,y+b+25);
line(x+a+30,y,x+a,y);
line(x+a,y+b,x+a+30,y+b);
line(x+a+25,y,x+a+25,y+b);
line(x,y+b+25,x+10,y+b+22);
line(x,y+b+25,x+10,y+b+28);
line(x+a,y+b+25,x+a-10,y+b+22);
line(x+a,y+b+25,x+a-10,y+b+28);
line(x+a+25,y,x+a+22,y+10);
line(x+a+25,y,x+a+28,y+10);
line(x+a+25,y+b,x+a+22,y+b-10);
line(x+a+25,y+b,x+a+28,y+b-10);
line(x0,y0,x0,y0+r1+20);
line(x0,y0,x0,y0+r1+20);
settextstyle(SMALL_FONT, HORIZ_DIR,5);
outtextxy(x0+130,y0+160,”340”);
outtextxy(x0+344,y0+70,”60”);
outtextxy(x0+140,y0+60,”R 70”);
getch();
closegraph();
}
Практическая работа № 11
Тема: Создание модуля программиста.
Цель: Закрепить на практике теоретические знания по созданию модуля программиста.
Порядок выполнения практической работы
-
Изучите теоретический материал. [5, стр.58-65].
-
Ознакомьтесь с примерами программ.
-
Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».
-
Отладьте программу и выполните расчеты на ПК.
-
Оформите отчет о выполненной работе.
Содержание отчета
-
Тема работы.
-
Цель работы.
-
Условия задач.
-
Листинг программы.
-
Решение задачи на ПК.
-
Краткие выводы по работе.
Задачи для обязательного выполнения № 1.
Практическая работа № 12
Тема: Создание оконного интерфейса.
Цель: Закрепить на практике теоретические знания по созданию оконного интерфейса.
Порядок выполнения практической работы
-
Изучите теоретический материал. [5, стр.65-70].
-
Ознакомьтесь с примерами программ.
-
Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».
-
Отладьте программу и выполните расчеты на ПК.
-
Оформите отчет о выполненной работе.
Содержание отчета
-
Тема работы.
-
Цель работы.
-
Условия задач.
-
Листинг программы.
-
Решение задачи на ПК.
-
Краткие выводы по работе.
Задачи для обязательного выполнения № 1.
Примеры решения задач.
Задание 12.1. Организовать ввод исходных данных, вывод результатов расчета, а также информацию о разработчике и содержании программы в текстовые окна.
Найти количество элементов массива Х(15), принадлежащих интервалу (-10;25). Организовать ввод исходных данных, вывод результатов расчета, а также информации о разработчике и содержании программы в текстовые окна.
Листинг программы.
#include<iostream.h>
#include<conio.h>
#include<dos.h>
#define n 15
void main()
{
int a[n],I;
clrscr();
textmode(2);
textbackgraund(10);
textcolor(15);
window(23,2,70,4);
clrscr();
gotoxy(2,1);
cout<<“Программа расчета произведения\n”;
gotoxy(2,3);
cout<<“разработал студент группы…”;
textbackgraund(3);
textcolor(15);
window(12,8,70,19);
clrscr();
gotoxy(0,2);
cout<<“Введите 15 элементов массива\n”;
gotoxy(1,3);
for(i=0;i<8;i++)
{ cin>>a[i];
gotoxy(1,i+5);}
clrscr();
gotoxy(1,1);
int y=2, k=0;
for(i=8;i<n;i++)
{ cin>>a[i];
gotoxy(1,y);
y++;}
cout<<”\n”;
for(i=0;i<n;i++)
if(a[i]>=-10 && a[i]<=25) k++;
textbackgraund(4);
textcolor(15);
window(20,23,62,24);
clrscr();
if (k!=b)
{ gotoxy(8,1);
cout<<”количество элементов =”<<k;}
if (k=0)
{ gotoxy(2,1);
cout<<”не принадлежат указанному интервалу”;}
getch();
}
Задачи для самостоятельной работы № 2
Для решения задачи 2 необходимо использовать листинг задачи 1 и разработать три процедуры с тремя различными окнами – по цвету, размеру и другим параметрам.
Практическая работа № 13
Тема: Создание интерфейса в виде меню.
Цель: Закрепить на практике теоретические знания по созданию интерфейса в виде меню.
Порядок выполнения практической работы
-
Изучите теоретический материал. [5, стр.65-70].
-
Ознакомьтесь с примерами программ.
-
Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».
-
Отладьте программу и выполните расчеты на ПК.
-
Оформите отчет о выполненной работе.
Содержание отчета
-
Тема работы.
-
Цель работы.
-
Условия задач.
-
Листинг программы.
-
Решение задачи на ПК.
-
Краткие выводы по работе.
Задачи для обязательного выполнения № 1.
Примеры решения задач.
Далее приведены примеры создания цифрового, горизонтального и вертикального меню в виде процедур.
void menu(){
char np,vb;
do{
again:
clrscr();
textcolor(9);
printf("\n\n\n\n\n\r\t\t");
cputs("╔══════════════════════════════════╗\n\r\
║ ║\n\r\
║ ║\n\r\
║ Выберите пункт меню для изучения ║\n\r\
║ ║\n\r\
║ нажмите неоходимую цифру и затем ║\n\r\
║ нажмите клавишу <ENTER> ║\n\r\
║ ║\n\r\
║ 1. Теоретический материал ║\n\r\
║ 2. Тест на знание формул ║\n\r\
║ 3. Тест для закрепления знаний по теме ║\n\r\
║ 4. Выход ║\n\r\
║ ║\n\r\
╚═══════════════════════════════╝\n\r\
");
printf("\t\t\t\t");
scanf("%s",&np);
switch(np)
{
case '1': teor();break;
case '2': kontrtest();break;
case '3': test();break;
case '4': {printf("Вы подтверждаете свой выход из программы (y или n)");
scanf("%s",&vb);if(vb=='n') goto again;}; break;
}
}while((vb!='y')&&(np!='4'));
}
Для построения горизонтального и вертикального меню использовать сведения для практической работы № 12.
