Отчет по практике в Торгово-экономическом колледже Казпотребсоюза

Автор работы: Пользователь скрыл имя, 18 Июня 2013 в 10:24, отчет по практике

Краткое описание

Изучить правила составления текстов программ, научиться реализовывать линейные алгоритмы, а также написать и отладить программу линейного алгоритма в консольном и(или) оконном приложении.
Алфавит языка С/С++ состоит из: прописных и строчных букв латинского алфавита, арабских цифр и специальных символов. В языке С++ используются данные типа bool – логические, принимающие значения true (1) – истина и false (0) – ложь, а также AnsiString (String) – строковый тип данных. Все объекты (переменные, массивы и т.д.), с которыми работает программа, необходимо декларировать.

Содержание

1.Работа с линейными программами 3
1.1 Цель работы: 3
1.2 Общие теоретические сведения: 3
1.3 Задача: 4
1.4 Исходный код: 4
1.5 Отладка и тестирования: 6
1.6 Результат: 6
2.Реализация разветвляющихся алгоритмов 7
2.1 Цель работы: 7
2.2 Общие теоретические сведения: 7
2.3 Задача: 9
2.4 Исходный код: 9
2.5 Отладка и тестирования: 11
2.6 Результат: 11
3.Реализация циклических алгоритмов 13
3.1 Цель работы: 13
3.2 Общие теоретические сведения: 13
3.3 Задача: 14
3.4 Исходный код: 14
3.5 Отладка и тестирования: 16
3.5 Результат: 16
4.Функции пользователя 18
4.1 Цель работы: 18
4.2 Общие теоретические сведения: 18
4.3 Задача: 19
4.4 Исходный код: 19
4.5 Отладка и тестирования: 21
4.6 Результат: 21
5. Программирование задач обработки символьных данных 23
5.1 Цель работы: 23
5.2 Общие теоретические сведения: 23
5.3 Задача: 24
5.4 Исходный код: 24
5.5 Отладка и тестирования: 25
5.6 Результат: 26

Прикрепленные файлы: 1 файл

Отчет1.docx

— 2.17 Мб (Скачать документ)

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "math.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

        Edit1->Text="0,1";       Edit2->Text="1,0";

        Edit3->Text="10";        Edit4->Text="0,2";

        Memo1->Lines->Add("Лабораторная работа 3");

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

double a, b, x, h, r, s;

int n, zn = -1, k;

a = StrToFloat(Edit1->Text); 

b = StrToFloat(Edit2->Text);

n = StrToInt(Edit3->Text);  

h = StrToFloat(Edit4->Text);

         for(x = a; x<=b; x+=h) {

                r = s = 1;

                for(k = 1; k<=n; k++) {

                        r = zn*r*x/k;

                        s+=r;

                }

                Memo1->Lines->Add("при x= "+FloatToStrF(x,ffFixed,8,2)

                        +" сумма= "+FloatToStrF(s,ffFixed,8,5));

        }

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

        Memo1->Clear();   

}

3.5 Отладка и тестирования:

 

В ходе написание программы  ошибок не возникало 

    1. Результат:

 

 В оконном режиме:

 

 

В консольном режиме:

 

 

4.Функции пользователя

4.1 Цель работы:

 

Познакомиться с механизмом составления и организации взаимодействия пользовательских функций, составить и отладить программу.

    1. Общие теоретические сведения:

 

Подпрограмма – это именованная и определенным образом оформленная группа операторов, вызываемая по мере необходимости.

В языке С++ в качестве подпрограмм используют функции, которые должны быть декларированы до их первого использования. Предварительное описание функции называется прототипом, который обычно размещается в начале программы (*.cpp) либо в заголовочном файле (*.h) и сообщает компилятору о том, что далее в программе будет приведен ее полный текст, т.е. реализация.

Описание прототипа имеет следующий  вид:

тип_результата  ID_функции (список типов параметров);

а определение  функции имеет следующую структуру:

тип_результата  ID_функции (список параметров)

{

код функции

return результат;

}

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

Из функции  можно передать только одно значение, при необходимости возвратить несколько  – в списке параметров используют указатели.

Вызов функции имеет следующий формат:

ID_функции(список аргументов);

где в качестве аргументов можно  использовать константы, переменные, выражения (их значения перед вызовом функции  будут компилятором определены). Аргументы  списка вызова должны совпадать со списком параметров вызываемой функции  по количеству и порядку следования параметров, а типы аргументов при  передаче будут преобразованы к  указанным в функции типам  параметров.

    1. Задача:

 

Написать программу вычисления выбранной функции, вид которой  в свою очередь передается в качестве параметра в функцию вывода (Out_Rez).

    1. Исходный код:

 

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "math.h"

//------------ Декларация типа указателя  на функции -------------------------

typedef double (*TFun)(double);

//------------Декларации прототипов  функций Пользователя ---------------

double fun1(double);

double fun2(double);

void Out_Rez(TFun, double, double, double, TMemo*);

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Edit1->Text="0,1";         Edit2->Text="3";        Edit3->Text="0,3";

Memo1->Clear();     Memo2->Clear();

RadioGroup1->ItemIndex=0;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

double a, b, h;

a = StrToFloat(Edit1->Text);

         b = StrToFloat(Edit2->Text);

         h = StrToFloat(Edit3->Text);

           switch(RadioGroup1->ItemIndex) {

                case 0: Out_Rez (fun1,a,b,h,Memo1); break;

                case 1: Out_Rez (fun2,a,b,h,Memo2); break;

          }

}

//---------- Реализации функций  Пользователя ---------------------------------

double fun1( double r){

        return 2*exp(r*r);

}

double fun2(double r) {

        return pow(sin(r), 2);

}

void Out_Rez (TFun f,double xn,double xk,double h,TMemo *mem) {

    for(double x=xn; x<=xk; x+=h)

        mem->Lines->Add(" x = "+FloatToStrF(x,ffFixed,8,2)+

                     "  y = "+FloatToStrF(f(x),ffFixed,8,4));

}

4.5 Отладка и тестирования:

 

В ходе написание программы  ошибок не возникало 

    1. Результат:

 

 В оконном режиме:

 

В консольном режиме:

 

 

5. Программирование  задач обработки символьных данных

5.1 Цель работы:

 

Знакомство с функциями  и методами обработки строковых  данных, при создании программ  использовать компоненты вкладки Standard среды Си++Builder.

5.2 Общие теоретические сведения:

 

В C++Builder тип строка АnsiString реализован как класс, объявленный в файле vcl/dstring.h и аналогичный типу длинных строк в Delphi. Это строки с нулевым символом в конце. При объявлении переменные типа AnsiString инициализируются пустыми строками.

Для AnsiString определены операции отношения = =, !=, >, <, >=, <=. Сравнение производится с учетом регистра. Сравниваются коды символов, начиная с первого, и если очередные символы не одинаковы, строка, содержащая символ с меньшим кодом считается меньше. Если все символы совпали, но одна строка длиннее и в ней имеются еще символы, то она считается больше, чем более короткая.

Для AnsiString определены операции присваивания =, += и операция склеивания строк (конкатенации) +. Определена также операция индексации [ ]. Индексы начинаются с 1.

 

    1. Задача:

 

Дана строка символов (считывается  с Edit1). Группа символов между пробелами считается словом.

    1. Исходный код:

 

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "math.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

void __fastcall TForm1::FormCreate(TObject *Sender)

{

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

for (i=1;i<=StrLen(st.c_str());i++)

 if (IsDelimiter(del,st,i)) k++;

 Edit3->Text=IntToStr(k+1);

i=st.Length();   // или i=StrLen(st.c_str()); 

  Edit4->Text=IntToStr(i);}

s2=Edit2->Text;

  i=st.AnsiPos(s2);

   while (i)

   { k++;

 n+= i+s2.Length();

 i=st.SubString(n,255).Pos(s2); }

Edit5->Text=IntToStr(k);

}

    1. Отладка и тестирования:

 

При написание программы  была найдена ошибка и это ошибка не давала запуск программы ,так как я вел функцию с маленькой буквой

 

    1. Результат:

 

 

 

Список использованной литературы

 

  1. Архангельский А.Я. Программирование в C++ Bulder. М.: Бином, 2003.
  2. Дейтел X., Дейтел П. Как программировать на Си. -М: Бином, 2000.
  3. Паннас К., Мюррей У. Программирование на Си и Си++. -К.:Ирина, BHV, 2000.
  4. Дьюхарст С., Старк К. Программирование на Си++. - Киев, 1993.
  5. Белецклй Я. Турбо Си++.    Новая разработка. - М.:  Машиностроение,1994.
  6. Уэйт М., Прата С., Мартин Д. Язык Си. - М.: Мир, 1988.
  7. Фокс Дж. Программное обеспечение и его разработка. - М.: Мир, 1985.
  8. Лингер Р. и др. Теория и практика структурного программирования. - М.:Мир, 1982.
  9. Гудман С., Хидетниени С. Введение в разработку и анализ алгоритмов. -М.: Мир, 1982.
  10. Мейер Б. , Бодуэн К. Методы программирования. Т.  I и 2. - М.: Мир,1984.
  11. Зиглер К. Методы проектирования программных систем. - М.: Мир, 1985.
  12. Петров А.В. и др. Вычислительная техника в инженерных и экономических расчетах: Учебник для вузов. - М.: Bill, 1984.
  13. Шнейдерман Б. Психология программирования. - М.: Радио и связь, 1984.-304с.– 2007.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОТЗЫВ

 

О работе студента в период учебной практики

 

Студент 3-го курса Торгово-экономического колледжа Казпотребсоюза по специальности «Вычислительная техника и программное обеспечение». Учебная практика прошла по дисциплине «Учебная практика по предмету «Основы объектно-ориентированного программирования»» с 20.05.2013 г. по 07.06.2013 г. В период практики изучал язык программирования C++.

За время прохождения  практики Тасбулатов Айдар Ерланович показал хороший уровень теоретической подготовки.

Программы практики выполнены полностью.

 

В целом работа студента Тасбулатов Айдар Ерланович заслуживает оценки «________».

 

Руководитель практики:

   Сериккали К.С.                     __________________

               (Ф.И.О.)                                                                            (подпись)

 

                                                                

 


Информация о работе Отчет по практике в Торгово-экономическом колледже Казпотребсоюза