Главная страница
Навигация по странице:

  • ПУТЕЙ СООБЩЕНИЯ» (МГУПС (МИИТ)) Воронежский филиал МИИТ железнодорожный колледж

  • Файлы последовательного доступа

  • Файлы произвольного доступа

  • / \ : * “ |. Тип файла

  • Операции над файлами Функция

  • Отчёт. Отчет по учебной практике (по программированию) студент группы воис311 Казьмин Александр Проверил


    Скачать 1.73 Mb.
    НазваниеОтчет по учебной практике (по программированию) студент группы воис311 Казьмин Александр Проверил
    АнкорОтчёт.docx
    Дата13.03.2019
    Размер1.73 Mb.
    Формат файлаdocx
    Имя файлаОтчёт.docx
    ТипОтчет
    #25695
    страница1 из 3
      1   2   3



    ФГБ ОУ ВПО «МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

    ПУТЕЙ СООБЩЕНИЯ»

    (МГУПС (МИИТ))

    Воронежский филиал МИИТ

    железнодорожный колледж

    ОТЧЕТ

    по учебной практике

    (по программированию)

    Выполнил:

    студент группы ВОИС-311

    Казьмин Александр

    Проверил:

    Преподаватель

    Яицкая Е. В.

    Воронеж

    2013 г.

    Содержание

    1. Теоретическая часть………………………………………………………………………………………………..3

    2. Практическая часть…………………………………………………………………………………………………..6

      1. Линейные……………………………………………………………………………………………………………6

      2. Разветвляющиеся……………………………………………………………………………………………….11

      3. Циклические……………………………………………………………………………………………………….17

      4. Одномерные массивы………………………………………………………………………………………..27

      5. Двумерные массивы…………………………………………………………………………………………..31

      6. Строки………………………………………………………………………………………………………………….49

      7. Функции……………………………………………………………………………………………………………….57

      8. Файлы…………………………………………………………………………………………………………………..57

      9. C#.............................................................................................................................67


    Теоретическая часть

    1. Файлы последовательного и произвольного доступа.

    Файлы последовательного доступа

    Файл последовательного доступа может быть открыт для чтения или для записи, но не для чтения и записи одновременно.

    Синтаксис открытия файла:

    OPEN STREAM NUMBER, “FILE NAME”, W

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

    Синтаксис открытия файла для чтения:

    OPEN STREAM NUMBER. “FILE NAME”, R

    Файлы произвольного доступа

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

    Записи хранятся как простые строковые переменные. Каждая строковая переменная, меньшая, чем назначенная длина, запоминается с выравниванием слева и оканчивается символом «ВОЗВРАТ КАРЕТКИ». Оставшиеся байты записи не определены.

    Любая строковая переменная, длина которой превышает длину записи, будет усечена до оговоренной длины и запомнена без конечного символа «ВОЗВРАТ КАРЕТКИ».

    Синтаксис открытия файла произвольного доступа:

    OPEN STREAM NUMBER. “FILENAME” RND, RECORD LENGTH

    Если файл произвольного доступа открыт, вы можете читать из него и записывать в него.

    Синтаксис команды чтения из этого файла имеет вид:

    INPUT STREAM NUMBER; (RECORD NUMBER), VARIABLE NUMBER

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

    1. Понятие файл и операции над ним.

    Файл

    Файл – это совокупность данных, записанных на внешний носитель, которая имеет определённое имя.

    Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов.

    Английское слово file переводится буквально как «шпилька для накалывания бумаг». Действительно, данные собираются в один информационный блок и оформляются в виде именного файла.

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

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

    Имя файла состоит из двух частей, разделённых точкой: собственно имя файла и расширение, определяющее его тип (программа, данные и т.д.). Эти две части разделены между собой точкой. Собственно имя файлу даёт пользователь, а тип файла обычно задаётся программой автоматически при его создании.

    В различных операционных системах существуют различные форматы имён файлов.

    В ОС Windows имя файла может иметь до 255 символов, причём допускается использование русского алфавита.

    Имя файла должно содержать не менее одного символа. Запрещается использовать в имени файла следующие символы: / \ : * ? “ < > |.

    Тип файла

    Расширение

    Исполняемые программы

    exe, com

    Текстовые файлы

    txt, rtf, doc

    Графический файлы

    bmp, gif, jpg, png, pds

    Web - страницы

    htm, html

    Звуковые файлы

    wav, mp3, midi, kar, ogg

    Видеофайлы

    avi, mpeg

    Код (текст) программы на языках программирования

    bas, pas, cpp



    Операции над файлами

    Функция

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

    access

    Определение прав доступа к файлу

    chmod

    Изменение прав доступа к файлу

    filelength

    Измерение длины файла

    isatty

    Проверка, является ли устройство символьным

    mktemp

    Генерация уникального имени файла

    remove

    Уничтожение файла

    rename

    Переименование файла

    setmode

    Установка новых значений для параметров файла

    chsize

    Изменение размера файла

    fstat

    Получение информации о файле

    locking

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

    slat

    Получение информации о файле

    umask

    Установка маски для выбора режимы работы по умолчанию

    unlink

    Удаление файла

    lock

    Запирает область файла для доступа со стороны других процессов

    unlock

    Отпирает область


    Задача 1.1

    Задана окружность радиуса R. Составьте программу для нахождения её длины и площади ограниченного ею круга.


    начало
    Блок-схема.

    R – радиус.

    П – 3.14.


    R
    S – площадь.

    l – длина.


    S=П*



    l=2*П*R



    S, l



    конец




    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    void main()

    {float R,S,l;

    cout <<"Vvesti R";

    cin>>R;//Ввод радиуса с клавиатуры

    S=3.14*pow(R,2);//Формула нахождения площади

    l=2*3.14*R;//Формула нахождения длины

    cout<<"S="<
    cout<<"l="<
    }

    1. Скриншот.d:\казьмин\1\снимок.png


    Задача 1.2

    В классе N-учеников. После контрольной было получено: А-пятёрок, В-четвёрок, С-троек. Найти % троек, четвёрок, пятёрок.

    1. Блок-схема.


    начало


    N – количество учеников.


    N, A, B, C
    А – количество пятёрок.

    В – количество четвёрок.


    Xa=
    С – количество троек.


    Xb=



    Xc=



    Ха, Хb, Xc



    конец




    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    void main()

    {float A,B,C,Xa,Xb,Xc,N;

    cout<<"Vvesti A,B,C,N";

    cin>>A>>B>>C>>N;//Ввод с клавиатуры

    Xa=(A*100)/N;//Нахождение процента пятёрок

    Xb=(B*100)/N;//Нахождение процента четвёрок

    Xc=(C*100)/N;//Нахождение процента троек

    cout<<"Xa="<
    cout<<"Xb="<
    cout<<"Xc="<
    }

    1. Скриншот.

    d:\казьмин\p-7.2\снимок.png


    Задача 1.3.

    Ширина обоев 70 см. Сколько метров обоев надо купить для ремонта квартиры.

    1. Блок-схема


    конец

    n

    n=S:0.7

    S=a*b

    a, b

    начало


    a – длина комнаты.

    b – ширина комнаты.

    n – количество обоев.


    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    void main()

    {float a,b,S,n,h;

    cout<<"Vvesti a,b,h"<
    cin>>a>>b>>h;//Ввод с клавиатуры а b и h.

    S=2*(a*h)+(b*h);//Нахождение площади стен комнаты.

    n=S/0.7;//Нахождение площади стен комнаты.

    cout<<"S="<
    cout<<"n="<
    }

    1. Скриншот.d:\казьмин\p-7.3\снимок.png



    Задача 2.1.

    Даны вещественные координаты точки, не лежащей на координатных осях OX и OY. Вывести номер координатной четверти, в которой находится данная точка.

    1. Блок-схема.


    начало
    x – ось абсцисс.

    y – ось ординат.


    x, y
    1 – первая четверть.

    2 – вторая четверть.


    x>0

    y>0

    y
    3 – третья четверть. 4 – четвёртая четверть.

    + - -


    x>0

    y<0

    y

    1



    4

    3

    x<0

    y<0

    y

    2
    + -


    конец
    + -


    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    void main()

    {int x,y;

    cout<<"Vvesti x=";

    cin>>x;//Ввод x с клавиатуры

    cout<<"Vvesti y=";

    cin>>y;//Ввод y с клавиатуры

    if(x>0&&y>0)cout<<"1";else//Условие, иначе следующее условие

    if(x>0&&y<0)cout<<"2";else//Условие, иначе следующее условие

    if(x<0&&y<0)cout<<"3";else cout<<"4";//Условие, иначе вывод 4 четверти

    }

    1. Скриншот.

    d:\казьмин\p-7.2.1\снимок.png


    Задача 2.2.

    Составьте программу, проверяющую, верно ли утверждение, что введённое вами целое число является чётным.

    1. Блок-схема.


    начало



    конец

    чётное

    нечётное

    a/2=0

    y>0

    y

    a


    a – целое число.

    + -

    1. Программный код.

    #include "iostream"

    using namespace std;

    void main()

    {setlocale(LC_ALL,"Russian");

    int a;

    cout<<"a=";

    cin>>a;//Ввод с клавиатуры a.

    if(a%2==0)cout<<"чётное";//Если а разделить на 2 равно нулю, то число чётное.

    else cout<<"нечётное";//Иначе нечётное.

    }

    1. Скриншот.d:\казьмин\p-7.2.2\снимок.png



    Задача 2.3.

    Найти значение выражения: а) b) .

    1. Блок-схема.


    начало





    x



    конец

    нет решения

    k,n

    n=

    k=

    x≠5

    x≠7

    x≠-3

    y>0

    y


    + -


    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    void main()

    {setlocale(LC_ALL,"Russian");

    float x,k,n;

    cout<<"x=";

    cin>>x;//Ввод с клавиатуры х

    if(x!=5 && x!=7 && x!=-3){k=1/(x-5);//Условие

    n=5/((x-7)*(x+3));

    cout<<"k="<
    cout<<"n="<
    else cout<<"нет решения";

    }d:\казьмин\p-7.2.3\снимок.png


    1. Скриншот.


    Задача 3.1.

    Дано натуральное число n. Вычислить n!

    1. Блок-схема.


    начало



    n


    n – натуральное число.


    i=0; i<6; i++



    n<=1


    -


    return 1



    return n*factorial !(n-1)



    конец




    1. Программный код.


    #include "iostream"

    using namespace std;

    int factorial(int k)

    {

    if(k<=1)return(1);//Условие, если к<=1, то возвращаем 1

    else return(k*factorial(k-1));

    }

    void main()

    {

    int n,f;

    for(int i=0;i<6;i++)

    {cout<<"n=";

    cin>>n;//Ввод с клавиатуры n

    f=factorial(n);//Присваивание факториала от n

    cout<
    }

    1. Скриншот.

    d:\казьмин\p-7.3.1\снимок.png


    Задача 3.2.

    Ввести с клавиатуры М чисел. Найти произведение отрицательных чисел.

    1. Блок-схема.


    начало


    М – количество чисел.


    М



    i=0; i



    x[i]<0


    + -


    S=S*x[i]



    A[M]



    конец




    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    int pro(int x[],int M)

    {int i;

    int S=1;

    for(i=0;i
    {if(x[i]<0)//Условие

    S=S*x[i];}

    return S;

    }

    void main()

    {setlocale(LC_ALL,"Russian");

    {const int M=5;//Вводим количество элементов массива - 5

    int A[M];

    cout<<"Massiv"<
    for(int i=0;i
    {cin>>A[i];}

    cout<<"Произведение отрицательных чисел="<

    }

    }

    1. Скриншот.d:\казьмин\p-7.3.2\снимок.png



    Задача 3.3.

    Задано натуральное число N. Найти количество натуральных чисел, не превосходящих N и не делящихся ни на одно из чисел 2,3,5.

    1. Блок-схема.


    начало


    N – натуральное число.


    a
    a – количество чисел, удовлетворяющих условию задачи.

    p – вывод количества чисел.


    a=0; a<=N; a++
    + -


    a%2!=0

    a%3!=0

    a%5!=0



    p



    конец




    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    void main()

    {

    int a,N,p=0;

    cout<<"N=";

    cin>>N;//Ввод с клавиатуры числа

    for(a=0;a<=N;a++)//Цикл

    {if(a%2!=0 && a%3!=0 && a%5!=0)//Условие

    p++;}

    cout<

    1. Скриншот.

    d:\казьмин\p-7.3.3\снимок.png


    Задача 3.4.

    Бизнесмен взял ссуду m тысяч рублей в банке под 20% годовых. Через сколько лет его долг превысит s тысяч рублей, если за это время он не будет отдавать долг?

    1. Блок-схема.


    начало



    m, s


    m – ссуда (тысяч рублей) .

    s – число, с которым сравниваем .


    i=0
    n –годовой процент (в рублях).

    k – оплата за год.


    s>m



    m=m+m*0.2



    i



    конец




    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    void main()

    {setlocale(0,"");

    float m,s,n,k;

    float i=0;

    cout<<"m=";

    cin>>m;

    cout<<"s=";

    cin>>s;

    n=(m/100.)*20;//Нахождение годового процента в валюте.

    k=m+n;//Оплата за год, вместе с комиссией.

    if(s>m) cout<<"Cсуда не превышает данную сумму";else {while(s>m)

    {m=m+m*0.2;

    i=i+1;

    }cout<<"Через "<
    }

    1. Скриншот.




    Задача 3.5

    Дано целое число N>2 и две вещественные точки на числовой оси: A, B (A

    1. Блок-схема.


    начало


    N – целое число.


    N>2, A, B
    A, B – вещественные числа.


    A>=B


    + -


    H=(B-A)/(N-1)

    Не верное условие!



    H



    x



    конец




    1. Программный код.

    #include "iostream"

    #include

    using namespace std;

    int main()

    {setlocale(LC_ALL,"Russian");

    int N;

    cout<<"N=";

    cin>>N;//Ввод с клавиатуры целого числа N

    if(N<=2) {cout<<"Недопустимое значение переменной N"<
    float A,B,H,x;

    cout<<"A=";

    cin>>A;//Ввод с клавиатуры вещественного числа А

    cout<<"B=";

    cin>>B;//Ввод с клавиатуры вещественного числа В

    if(A>=B) {cout<<"Не верное условие!"<
    H=(B-A)/(N-1);

    cout<<"H="<
      1   2   3


    написать администратору сайта