Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метода_С.doc
Скачиваний:
6
Добавлен:
18.11.2018
Размер:
417 Кб
Скачать
☆

Задачи для самостоятельной работы № 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

Тема: Создание графических примитивов.

Цель: Закрепить на практике теоретические знания по созданию графических примитивов.

Порядок выполнения практической работы

  1. Изучите теоретический материал. [5, стр.133-159].

  2. Ознакомьтесь с примерами программ.

  3. Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».

  4. Отладьте программу и выполните расчеты на ПК.

  5. Оформите отчет о выполненной работе.

Содержание отчета

  1. Тема работы.

  2. Цель работы.

  3. Условия задач.

  4. Листинг программы.

  5. Решение задачи на ПК.

  6. Краткие выводы по работе.

Задачи для обязательного выполнения № 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

Тема: Создание модуля программиста.

Цель: Закрепить на практике теоретические знания по созданию модуля программиста.

Порядок выполнения практической работы

  1. Изучите теоретический материал. [5, стр.58-65].

  2. Ознакомьтесь с примерами программ.

  3. Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».

  4. Отладьте программу и выполните расчеты на ПК.

  5. Оформите отчет о выполненной работе.

Содержание отчета

  1. Тема работы.

  2. Цель работы.

  3. Условия задач.

  4. Листинг программы.

  5. Решение задачи на ПК.

  6. Краткие выводы по работе.

Задачи для обязательного выполнения № 1.

Практическая работа № 12

Тема: Создание оконного интерфейса.

Цель: Закрепить на практике теоретические знания по созданию оконного интерфейса.

Порядок выполнения практической работы

  1. Изучите теоретический материал. [5, стр.65-70].

  2. Ознакомьтесь с примерами программ.

  3. Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».

  4. Отладьте программу и выполните расчеты на ПК.

  5. Оформите отчет о выполненной работе.

Содержание отчета

  1. Тема работы.

  2. Цель работы.

  3. Условия задач.

  4. Листинг программы.

  5. Решение задачи на ПК.

  6. Краткие выводы по работе.

Задачи для обязательного выполнения № 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

Тема: Создание интерфейса в виде меню.

Цель: Закрепить на практике теоретические знания по созданию интерфейса в виде меню.

Порядок выполнения практической работы

  1. Изучите теоретический материал. [5, стр.65-70].

  2. Ознакомьтесь с примерами программ.

  3. Составьте алгоритм и программу по указанному варианту задания, используя «Сборник задач для практических работ».

  4. Отладьте программу и выполните расчеты на ПК.

  5. Оформите отчет о выполненной работе.

Содержание отчета

  1. Тема работы.

  2. Цель работы.

  3. Условия задач.

  4. Листинг программы.

  5. Решение задачи на ПК.

  6. Краткие выводы по работе.

Задачи для обязательного выполнения № 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.

61