Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программа Уч практ_Акижановамай2015.doc
Скачиваний:
3
Добавлен:
10.03.2016
Размер:
208.9 Кб
Скачать

6 Задание и этапы выполнения

В ходе учебной (вычислительной) практики на кафедре студенты могут углубить свои знания, полученные ими при преподавании дисциплин «Информатика» и получить новые практические навыки. Ниже перечислены основные темы практики и этапы защиты работ. Студенты самостоятельно выбирают тему и отмечаются у преподавателя. По окончанию своей работы над проектом или программным продуктом по практике студент должен:

Задание состоит из двух частей: 1- проект (создание базы данных на MS Access, создание видео-роликов или флеш по своим заданиям из второй части т.п.);

2- создание двух программ на применение функций и работы с классами.

Работа с функциями. Создать функции, которые ничего не возвращают и которые возвращают одно значение. При передаче параметров обязательно должны быть передача параметров по значению, передача параметров по ссылке. Использовать передачу массивов. Показать перегрузку функций.

В головной программе (main) произвести вызовы функций и проверить передаваемые значения до и после выполнения функции.

  • Работа с классами. Типы полей: числовые и типа массива символов. Методы ввода значений в поля (например, set_kom, set_mecto), ввода значений во все поля с консоли read, вывода отдельных полей (например get_kom, get_mecto), вывода значений всех полей на консоль show. Создать конструктор без параметров и конструктор с параметрами, методы для вычисления.

  • В функции main создать объекты: 1- конструктором без параметров, данные в поля ввести с помощью методов set, просмотреть поля с помощью методов get; 2- конструктором без параметров, данные в поля ввести с консоли read, вывести значения всех полей на консоль; 3- конструктором c параметрами, вывести значения всех полей на консоль show. Создать указатель на объект. Данные ввести с консоли, вывести значения всех полей на консоль. Для каждого объекта произвести нужные вычисления. Переключить указатель на другие объекты, посмотреть объекты с помощью метода вывода данных show().

Индивидуальные задания

    1. Ввести данные в квадратную матрицу третьего порядка, вывести матрицу на экран. Ввести номера строки и столбца i и j и найти алгебраическое дополнение . Для этого рекомендую перенести в новую матрицу второго порядка все элементы исходной матрицы кроме i-ой строки и j-го столбца (эту матрицу также вывести на экран).

    2. Преобразовать задание 1.1, использовать классы. В функции main создать несколько объектов

    1. Ввести данные водномерный массив, состоящий изn(n<=20) вещественных элементов,вывести массив на экран. Упорядочить его по возрастанию следующим образом: сначала перенести в новый массив один первый элемент, затем все последующие элементы вставлять в нужное место, предварительно сдвигая все остальные элементы и освобождая место. Вывести отсортированный массив.

    2. Создать класс c полями группа, фамилия студента и стипендия. Вычислить 1% от стипендии, который он должен внести в фонд.

    1. Ввести данные водномерный массив, состоящий изn(n<=20) вещественных элементов,вывести массив на экран. Найти индексы второго и третьего отрицательного элемента. Вычислить сумму элементов, находящихся между ними.

    2. Создать класс c полями название ноутбука, исходная цена и процент скидки на него. Вычислить цену продажи.

4.1 Ввести данные в квадратную матрицу n-го порядка (n<=20), вывести матрицу на экран. В матрице найти сумму элементов в заштрихованной части для значений p и q, где p и q показывают номера строк или столбцов, ограничивающих заштрихованную часть.

4.2. AutoShape 9В магазине указаны название товара и его цена. Вычислить НДС (налог на добавленную стоимость) в размере 12 %.

    1. Ввести данные в прямоугольную матрицу, вывести матрицу на экран. В матрице найти седловые точки (найти номер строки и столбца для каждой точки), т.е. элемент является максимальным в строке и минимальным в столбце или наоборот - является минимальным в строке и максимальным в столбце.

    2. Преобразовать задание 5.1, использовать классы. В функции main создать несколько объектов

    1. Вычислить сумму n элементов ряда, сумму элементов ряда с заданной погрешностью и значение функции.

  1. Вычислить сумму n элементов ряда, сумму элементов ряда с заданной погрешностью и значение функции.

  1. Вычислить определенный интеграл по формуле прямоугольников для заданного значения n, где n- количество отрезков, на которые разбивается интервал. Формула (левых) прямоугольников:

где

  1. Вычислить определенный интеграл по формуле трапецийдля заданного значения n, гдеn- количество отрезков, на которые разбивается интервал. Формулатрапеций:

где

  1. Даны nкруга с координатами центров (x1,y1), (x2,y2), (xn,yn), и радиусами. Определить, попала ли точка с координатами (p,q), в три круга и определить номера кругов, куда попала точка.

  2. Пусть три друга соревнуются в попадании в круг (аналог дартс). Для этого определен круг с радиусом r1 и центром в начале координат. Каждый раз вводится номер игрока и координаты попадания (x,y). За каждое попадание в круг дается одно очко, при промахе - 0. Конец игры определяется вводом отрицательного числа для номера игрока. Ответ выдается в виде – «номер игрока: количество игр и количество попаданий».

  3. Дана мишень, состоящая из пяти кругов с центром в начале координат и радиусами r1,r2,r3,r4,r5, очки 5, 4, 3, 2, 1, 0 . Определить полученные очки при попадании в точку с координатами (x1,y1).

  4. Даны два круга Луна и Тень Земли. Положение на плоскости определяется координатами центров (x1,y1), (x2,y2) и радиусамиr1,r2. Смотрим, получится ли рисунок «Затмения Луны», «Полнолуние», «Растущий месяц», «Стареющий месяц».

  5. Отделить корни нелинейного уравнения графически. Вычислить значение одного из корней методом половинного деления (или любым другим методом) с погрешностью ε. В методе половинного деления исходный интервал (a,b), в котором находится только один корень, делится пополам точкой c Для определения отрезка, в котором находится корень, производят вычисления: Производим преобразование

если , то в интервале (a,c) нет корня и a=c,

если , то в интервале (a,c) есть корень и b=c,

если , то корень находится в точке с. Вычисления призводят до тех пор пока длина отрезка (a, b) не станет меньше погрешности ε или пока не будет найдено точное значение корня точка с.

  1. На экзаменах студенты n групп получили по предмету «Алгоритмизация и основы программирования» баллы в %. Определить количество «Отлично», «Хорошо», «Удовлетворительно» и «Неудовлетворительно» в каждой группе по отдельности. Количество групп n и количество студентов в каждой группе m (m) вводится в начале задачи. Использовать двумерный массив, строка соответствует номеру группы, в столбце 0 стоит количество студентов в группе, затем в столбцах 1-m находятся баллы.

  2. Вычисление индекса последнего числа Фибоначи, которое меньше aи последнего числа Фибоначи, которое меньшеb. Вывод всех чисел Фибоначи, которые имеют индекс от 0 до последнего найденного индекса. Вычислить сумму чисел Фибоначи между индексами . Числа Фибоначи:

  3. Создать следующие функции:

Ввод радиуса и высоты цилиндра, вычисление площади боковой поверхности цилиндра, вычисление площади основания цилиндра, вычисление всей площади поверхности цилиндра. Произвести ввод данных, вывод данных, все вычисления и вывод результатов для заданного количества цилиндров n.

  1. Создать следующие функции:

Ввод радиуса и длины трубы, вычисление площади боковой поверхности трубы, Вычислить сколько краски расходуется на покраску поверхности трубы (параметры – площадь и расход краски г/м2). Произвести ввод данных, вывод данных, все вычисления и вывод результатов для заданного количества трубn.

  1. Использование структур. Создать структуру Joldas – данные о друге (имя, телефон). Имя – массив символов. В задаче создать массив Записная_книжка , в который надо записать n друзей.

  1. Использование структур. Создать структуру Sportsmen – данные о спортсмене (имя, вес, страна). В задаче создать массив Группа, в который надо записать n спортсменов.

  1. Перечисления. Пусть имеется несколько студентов (перечисление): Айбек, Канат, Досжан, Тлеужан, Айслу, Даир, Биржан, Данияр. Задать оценки каждого студента по дисциплине Алгоритмизация и основы программирования, найти среднюю, максимальную и минимальную оценку для всех студентов, определить сумму оценок для группы от начала до Даира, вывести оценку Даира.

  1. Использование структур. Создать структуру Bagalar – данные о своих оценках по лабораторным работам (сокращенное название предмета, номер лабораторной работы, оценка по лабораторной работе). В задаче создать массив Меним_багаларым, в который надо записать n оценок. Вывести оценки на экран.

  1. Использование структур.. Создать функции ввода оценки по лабораторной работе в Меним_багаларым по предмету, номеру лабораторной работы. Передать в функцию типа void массив структур, предмет, номер лабораторной работы, оценка по лабораторной работе, в функции дополнить массив.

  2. Использование структур. Создать структуру Produkcia – данные о проданных товарах за месяц по трем видам товара (порядковый номер чека (вычисляется автоматически), год, номер месяца, день, код товара, количество, цена единицы товара). В задаче создать массив Сатылган, в который надо записать n записей. Вычислить всю стоимость проданного товара.

  3. Использование структур. Создать структуру Produkcia – данные о проданных товарах за месяц по трем видам товара (порядковый номер чека (вычисляется автоматически), год, номер месяца, день, код товара, количество, цена единицы товара). В задаче создать массив Сатылган, в который надо записать n записей. Ввести год, номер месяца и вычислить стоимость проданного товара отдельно по каждому виду товара за указанный период.

  4. Перечисления. Игра Морской бой. Пусть имеется поле противника размером 10Х10 (это исходная матрица). На этом поле имеется одна фигура противника в виде сложной фигуры из пяти клеток. Пусть ваш робот знает только несколько команд: вперед (перемещается на одну клетку в заданном направлении), север, юг, восток, запад (поворачивается в заданном направлении), поставить мину, взорвать (использовать перечисление). Считаем, что робот за одну команду перемещается на один шаг и сначала находится в клетке (1,1) в северо-западном углу поля. Задать массив команд роботу, чтобы он добрался до корабля, часть за частью поставил мины и уйдя в исходное место взорвал корабль. Корабль полностью взорвется, если мины покроют все отсеки корабля (для контроля сравниваются места отсеков корабля и места расположения мин. Рекомендуется поле соотнести с матрицей 10Х10.

  5. Перечисления. Пусть на карте (матрица) задано место порта назначения и местонахождения рифов (всего пять скал). Места задаются с помощью двух параметров (строка и столбец). Пусть ваш корабль знает только несколько команд: вперед (перемещается на одну клетку в заданном направлении), север, юг, восток, запад (поворачивается в заданном направлении), конец пути (использовать перечисление). Считаем, что корабль за одну команду перемещается на один шаг и сначала находится в клетке (1,1) в северо-западном углу поля. Рекомендуется поле соотнести с матрицей 10Х10. Ответ в виде «порт», «скала». Команды задаются в виде массива команд (каждая команда имеет тип перечисления), работа прекращается, если корабль дойдет до порта или сядет на скалу.

Пример Работа с классами

// zz1.cpp : Defines the entry point for the console application.

//

// Uch_pract_class.cpp: определяет точку входа для консольного приложения.

//

// zz1.cpp: главный файл проекта.

// zz1.cpp : Defines the entry point for the console application.

//

// Uch_pract_class.cpp: определяет точку входа для консольного приложения.

//

// zz1.cpp: главный файл проекта.

#include "stdafx.h"

#include <clocale>

#include <iostream>

#include <conio.h>

using namespace std;

const int lenc=10;

class myclass

{

private:

int a,b; // закрытые переменные

int static kolich;

char c[lenc];

public: // открытые члены класса

myclass();

myclass(int par1,int par2);

~myclass();

void read(); //ввод данных во все поля а,b,c

void show(); //вывод всех значений а,b,c

void set_a(int) ; //ввод значений а

void set_b(int) ; //ввод значений b

void set_c(char*) ; //ввод значений c

int get_a(); //вывод значений а

int get_b(); //вывод значений b

char* get_c(); //вывод значений c

}; //конец класса

int myclass ::kolich=0; //Инициализация статических элементов классов

myclass ::myclass()

{

kolich++; cout<<"\nсоздается объект конструктором без параметра, количество объектов ="<< kolich<< endl;

}

myclass ::myclass(int par1, int par2)

{

kolich++;

cout<<"\nсоздается объект конструктором c параметром, количество объектов =" << kolich <<endl;

a= par1; b= par2;

}

myclass ::~myclass()

{

kolich--; cout<<"\nуничтожается объект деструктором, количество объектов ="<< kolich<< endl;

}

void myclass::read()

{

cout<<"введите значения a,b,c";

cin>>a>>b;

}

void myclass::show()

{

cout<<" \nзначения a="<< get_a()<<" \tзначения b="<< get_b()<<endl;

}

void myclass::set_a(int a1) //ввод значений а

{

a=a1;

}

void myclass::set_b(int b1) //ввод значений b

{

b=b1;

}

void myclass::set_c(char* c1) //ввод значений c

{

if (strlen(c1)<= lenc) //{strcpy(c, c1);};

for (int i=0; i<strlen(c1); i++)

{

c[i]=c1[i];

}

}

int myclass::get_a() {return a;} //вывод всех значений а

int myclass::get_b() {return b;}

char* myclass::get_c(){return &c[0];} ; //вывод значений c

int main()

{

setlocale( LC_ALL, "Russian" );

myclass x, y, z(35,65);

myclass *p=new myclass(); // создание объекта с помощью указателя p->read();p->show();

cout <<"\n x:\n";

x.read(); x.show();

cout <<"\n y:\n";

y.read(); y.show();

cout <<"\n z:\n";

z.show();

cout <<"\n использование указателя для работы с существующими объектами"<<endl;

cout <<"\n x:\n";

p=&x; p->show();

cout <<"\n y:\n";

p=&y; p->show();

cout <<"\n z:\n";

p=&z; p->show();

cout <<"\n z:\n";

cout <<"\n *p:\n";

p->read();p->show();

// getch();

return 0;

}

Пример. Перечисления.

// zzz.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <iostream>

using namespace std;

enum stud {Dair, Renat,Adilet } ;

char fio[] [20] = {

"Dair Askarbek",

"Renat Jondil",

"Adilet Toleuzan"

};

int _tmain(int argc, _TCHAR* argv[])

{

stud name, index, *p;

int ocenki[3]={0,0,0};

//for (index= Dair; index<= Adilet; ){

name=Dair;

cout << "\nsudent\t"<<fio[name] << "\tbagasy=";

cin>>ocenki[name];

// index++;

//}

name=Renat;

cout << "\nsudent\t"<<fio[name] << "\tbagasy=";

cin>>ocenki[name];

name=Adilet;

cout << "\nsudent\t"<<fio[name] << "\tbagasy=";

cin>>ocenki[name];

name=Dair;cout << "\nresultaty:\nsudent\t"<<fio[name] << "\tbagasy="<<ocenki[name];

name=Renat;cout << "\nresultaty:\nsudent\t"<<fio[name] << "\tbagasy="<<ocenki[name];

name=Adilet;cout << "\nresultaty:\nsudent\t"<<fio[name] << "\tbagasy="<<ocenki[name];

return 0;}

Темы проектов:

  1. Создание базы данных (с макросами на MS Access):

  1. учебной практики студентов группы за текущий учебный год с размещением его на сайте кафедры www.kafedra.ucoz.kz (по 1 студенту из каждой группы);

  2. студентов группы с фотографиями, контактами и e-mail (по 1 студенту из каждой группы);

  1. Создание портала или проекта (на выбор) по применению:

  1. технологии Azure (2);

  2. технологии SilverLight (2);

  3. Office 365 (2);

  1. Создание видео-роликов или флеш на тему:

  1. примеры использования технологии Azure в АУЭС (2);

  2. примеры использования технологии SilverLight в АУЭС (2);

  3. примеры использования технологии Office 365 в АУЭС(2);

  4. моя группа (по 1 студенту из каждой группы);

  5. кафедра КТ глазами первокурсника (1);

  6. АУЭС глазами первокурсника (1);

  7. Мобильные технологии в жизни студента КТ (1);

  8. Интернет в жизни студента БВТ (1);

  9. Реклама кафедры КТ «КТ – это …» (1);

  10. Специальности кафедры КТ (1);

  11. Специальности АУЭС (2);

  12. Факультеты и кафедры АУЭС (1);

  13. «БВТ – это … круто и современно!!!» дисциплины и преподаватели БВТ (1);

  14. «БВТ – это … круто и современно!!!» чем хороша специальность (1);

  15. знакомство с новыми IT-технологиями (2);

  16. новинки IT-сферы за последние 2 года (2);

  17. мобильные новинки за последние 2 года (2);

  18. интересные гаджеты и девайсы (2);

  19. что ждет нас в будущем году в области IT (1);

  20. “Хабрахабр – это…” (1);

  21. Обзор IT-ресурсов Сети (1);

  22. «БВТ: популярные дисциплины – реальные и вымышленные» (1);

  1. Создание проекта на тему:

  1. организация видео-конференции в АУЭС технологиями Microsoft (2);

  2. организация онлайн-обучения в АУЭС технологиями Microsoft (2);

  3. организация онлайн-лекции в АУЭС технологиями Microsoft (2);

  4. онлайн-организация IT-выставки в АУЭС (3);

  5. видео-конференция студентов АУЭС и ЕНУ технологиями Microsoft (2);

  6. идеи раскрутки Microsoft IT-клуба (2);

  1. Создание игры на флеше (3);

  2. Написание макросов в приложениях Microsoft (1+1+1);

  3. Создание программы по работе с системными функциями операционной системы (1);

  4. Создание программы по смене внешнего вида, настроек операционной системы (1);

  5. Создание интеллектуальной игры в приложениях Microsoft Office (2);

  6. Организация RSS-подписки на сайте кафедры (1).