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

  • Задание 1.1 Выведите любую фразу

  • Задание 2.1

  • include include main() { char str[80]; printf("Vvedite ctroku: ");

  • Задание 1.1 Дан двумерный массив, состоящий из 3 столбцов и 2 строк. Найти минимальный элемент массива и отнять от него 2.

  • Задание 3 Дан двумерный массив, состоящий из 6 столбцов и 5 строк. Найти среднее арифметическое элементов массива и умножить его на 10.

  • Практическая работа №14 Тема: Работа с указателями и с указателями в двумерных массивах

  • Задание 3.1.

  • Задание 5

  • Задание 7

  • Практическая работа №15 Тема

  • Задание 8 Напишите программу, вычисляющую произведение элементов массива {-4, 1,3,9,9,2}

  • Интерфейс среды Ассемблера. Изучение рабочей среды Ассемблера Работа с командами пересылки данных. Директивы данных


    Скачать 1.25 Mb.
    НазваниеИнтерфейс среды Ассемблера. Изучение рабочей среды Ассемблера Работа с командами пересылки данных. Директивы данных
    Дата03.12.2021
    Размер1.25 Mb.
    Формат файлаdoc
    Имя файлаmetodichka_sistemnoe_progarammirovanie_up (2).doc
    ТипПрактическая работа
    #290551
    страница3 из 3
    1   2   3
    Тема: Работа с массивами строк на языке СИ
    1. Пример . Ввод и вывод строки.

    #include

    void main (void)

    {

    int len;

    char str[81];

    printf("Vvedite ctroku: "); scanf("%s", str);

    for(len=0; str[len]; len++);

    printf("dlina stroki = %d\n", len);

    }

    Задание 1.1 Выведите любую фразу : «Знать меру следует во всем, везде. Знать меру надо в дружбе и вражде.» Саади.
    2..Пример. Копирование строки 1 и 2 и присоединение строк.

    #include

    #include

    int main ()

    {

    char s1[20], s2[20];

    strcpy(s1,"Hello");

    strcpy(s2,"C++");

    strcat(s1,s2);

    puts(s1);

    return 0;

    }

    Задание 2.1 Создайте программу содержащую массивы 4-ёх строк.1 строка Мы, 2- любим друзей 3- за их, 4- недостатки!
    3. Пример. Посчитать количество символов в строке.

    #include

    #include

    main()

    {

    char str[80];

    printf("Vvedite ctroku: ");

    gets(str);

    printf("%s\n", str);

    puts(str);

    printf("ctroka \n%s \n imeet dliny %d cimv-v \n", str, strlen(str));

    return 0;

    }

    Задание 3.1 Составить программу вывода двух строк и подсчитать кол-во символов каждой строки.

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

    Тема: Работа с двумерными массивами на языке СИ


    1. Пример вывода двумерного массива, состоящего из 4-х столбцов и 3-х строк.

    #include

    int main(void)

    {

    int t, i, num[3][4];
    for(t=0; t<3; ++t)

    for(i=0; i<4; ++i)

    num[t][i] = (t*4)+i+1;

    for(t=0; t<3; ++t) {

    for(i=0; i<4; ++i)

    printf("%3d ", num[t][i]);

    printf("\n");

    }

    return 0;

    }
    Задание 1.1 Дан двумерный массив, состоящий из 3 столбцов и 2 строк. Найти минимальный элемент массива и отнять от него 2.

    Задание 2 Дан двумерный массив, состоящий из 4 столбцов и 5 строк. Найти сумму всех элементов массива.
    Задание 3 Дан двумерный массив, состоящий из 6 столбцов и 5 строк. Найти среднее арифметическое элементов массива и умножить его на 10.
    Задание 4. Дан массив из n x m элементов. (n=3; m=4) Найти сумму элементов каждой строки.

    Задача 5. Дан массив из n x m элементов. (n=2; m=2) Найти сумму элементов каждого столбца.

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

    Тема: Работа с указателями и с указателями в двумерных массивах
    Пример 1. Программа, печатающая строку символов в обратном порядке.
    #include

    main()

    {

    char *uk1,*uk2;

    uk1=uk2="informatika";

    while(*uk2!='\0')

    putchar(*uk2++);

    putchar('\n');

    while(--uk2 >= uk1)

    putchar(*uk2);

    putchar('\n');

    }
    **Пояснения: В самом начале указателям uk1 и uk2 присваивается начальный адрес строки «informatika". Затем строка посимвольно печатается и одновременно указатель uk2 смещается вдоль строки. В конце вывода uk2 указывает на последний символ исходной строки
    Задание 1.1 Составьте программу так, чтобы она обеспечивала ввод нескольких слов в строку в прямом и обратном порядке и опять в прямом. (слово «слово оборот»)

    Пример 2. Вывести значения одномерного массива обычным способом и с использованием указателей.
    #include

    int a[6]={10,20,30,40,50,60};

    main ()

    {int i, *p;

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

    printf("%d",a[i]);

    for (p=&a[0];p<=&a[5];p++)

    printf("%d",*p);

    for (p=&a[0],i=0; i<6; i++)

    printf("%d",p[i]); }
    Задание 2.1 Вывести значения одномерного массива a[10]={113,240,135,306,411,54,33,59,76,69} в столбик используя указатели .
    Задание 2.2 Вывести значения одномерного массива a[4]={2,5 6,8 7,7 5,5 } в строку используя указатели .
    Пример 3. Найти сумму элементов массива, состоящего из шести элементов, с использованием указателя.

    #include

    int a[]={1,2,3,4,5,6};

    main()

    {int i,*p,s;

    p=a;

    for (s=0,i=0; i<6; i++)

    s+=*(p+i);

    printf("%d\n",s);

    }

    Задание 3.1.Найти сумму элементов массива, состоящего из 7 элементов int a[]={15, 8, 7, 5, 23, 4, 6, 4}, с использованием указателя и прибавить 100.
    Задание 4. Найти произведение массива, состоящего из 3 элементов int a[]={56,90,80}, с использованием указателя.
    Задание 5. Составьте программу на нахождение среднеарифметического 5-ех целых переменных с применением указателей.


    Задание 6. Составьте программу инициализации двумерного массива a[4][4], выборки элементов с a[2][1] до a[4][4] и их распечатки. Используйте доступ к элементам по указателю.
    (примерная программа)

    #include

    int a[3][3]={{10,20,30},

    {40,50,60},

    {70,80,90}};

    int *p=a[0];

    main ()

    {int i;

    for (i=0;i<9;i+=4)

    printf("%d\n",*(p+i));

    }
    Задание 7. Составьте программу инициализации двумерного массива a[6][6], выборки каждого 6-го элемента двумерного массива. Используйте доступ к элементам по указателю.

    Задание 8. Составьте программу инициализации двумерного массива a[2][8], вывод на экран 1 и последнего элементов двумерного массива . Используйте доступ к элементам по указателю.

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

    Тема: Работа с глобальными переменными и функциями на СИ

    1. Пример программы, в которой сравниваются две строки, введенные пользователем. Обратите внимание на объявление функции check() и указатель p внутри main(). Указатель p, как вы увидите, является указателем на функцию.

    #include

    #include

    void check(char *a, char *b,

    int (*cmp)(const char *, const char *));

    int main(void)

    {

    char s1[40], s2[40];

    int (*p)(const char *, const char *); /* указатель на функцию */

    p = strcmp; /* присваивает адрес функции strcmp указателю p */

    printf("Введите две строки.\n");

    gets(s1);

    gets(s2);

    check(s1, s2, p); /* Передает адрес функции strcmp посредством указателя p */

    return 0;

    }

    void check(char *a, char *b, int (*cmp)(const char *, const char *))

    {

    printf("Проверка на совпадение.\n");

    if(!(*cmp)(a, b)) printf("Равны");

    else printf("Не равны");

    }
    Задание 1.1 Составьте программу, в которой сравниваются 4 строки.
    Пример2. Пример программы передающей функции массив и количество элементов, содержащихся

    #include

    void show_array(int values[], int number_of_elements)

    {

    int i;

    for (i = 0; i < number_of_elements; i++)

    printf("%d\n", values[i]);

    }

    void main(void)

    {

    int scores[3] = {12,16,23};

    show_array(scores, 3);

    }

    Задание 2.2 Составьте по аналогу программу, в которой функция show_array вызывается 5 раз

    с 5-ю различными массивами .
    Пример 3. 1Написать функцию "Факториал" и программу, использующую эту функцию для вывода таблицы факториалов.

    #include "stdio.h"

    #include "conio.h"

    unsigned int factor(int x)

    {

    unsigned int f = 1;

    for (int i = 2; i <= x; i++)

    f *= i;

    return(f);

    }

    void main()

    {

    unsigned int f;

    puts("\nТаблица факториалов");

    for (int n = 1; n <= 8; n++)

    {

    f = factor(n);

    printf("%2i %u\n", n,f);

    }

    Задание 3.1 1Написать функцию "Квадрат чисел от1 до 9" и программу, использующую эту функцию для вывода таблицы квадратов чисел.
    Задание 4. Написать функцию, которая вычисляет значение аb. Числа а и b могут либо целыми, либо дробными числами.
    Задание 5. Написать функцию Procent, которая возвращает процент от полученного в качестве аргумента числа.
    Пример 6. Рассмотрим функцию Sum(), вычисляющую значение суммы элементов массива:
    #include

    double Sum(double A[], int nA)

    {

    double s = 0;

    while(nA) s += A[--nA];

    return s;

    }

    void main (void)

    {

    double B[] = { 1, 2, 3, 4, 5 };

    int nB = sizeof(B)/sizeof(B[0]);

    printf("Сумма = %lf\n", Sum(B,nB));

    printf("nB = %d\n", nB);

    }
    Задание 7. По примеру вышеуказанной программы найти среднее арифметическое массива из 4-ех элементов. {16, 5, 7, 1}.
    Задание 8 Напишите программу, вычисляющую произведение элементов массива {-4, 1,3,9,9,2}

    Функцию (Sum) из предыдущей задачи замените на (pro) Обязательно в конце программы написать ответ чему равно произведение элементов массива
    Практическая работа № 17

    Тема: Работа со структурами на СИ

    Пример 1.Пример программы: /* Демонстрация записи */
    #include < stdio.h >

    struct computer { int mem; int sp; char model [20]; };

    /* Объявление записи типа computer, состоящей из трех элементов: mem, sp, model */

    struct computer pibm = {512, 1, “ПЭВМ ЕС 1840.05”};

    /* Объявление и инициализация переменной pibm типа computer */

    main ( )

    { printf (“ персональная ЭВМ % s\n\n “, pibm.model);

    printf ( “объем оперативной памяти - % d К байт \n”, pibm.mem);

    printf (“производительность - % d млн. операций в секунду \n”, pibm.sp);

    /* вывод на экран значений элементов структуры */

    }

    В данной программе объявляется запись computer, которая состоит из трех элементов: mem (память ЭВМ), sp (быстродействие), model [20] (модель ПЭВМ). Переменная pibm имеет тип computer и является глобальной. Строки pibm.model, pibm.mem, pibm. sp в операторе printf вызывают обращение к соответствующим элементам записи pibm типа computer, которым ранее были присвоены определенные значения.
    Результат работы программы имеет вид:
    персональная ЭВМ ПЭВМ ЕС 1840.05

    объем оперативной памяти – 512 К байт

    производительность – 1 млн. операций в секунду
    Задание 1.1 Аналогично примеру опишите используя структуру :
    1.1.1 Запись БЛЮДО, которая состоит из 4-ух элементов (название блюда, 1 ингредиент, 2 ингредиент,

    3 ингредиент.)

    ** У каждого свой пример!!!!!!!!!!!!!!!

    1.1.2) запись Книга, которая состоит из 5-ух элементов (Женр, Название книги, Автор, издательство, цена книги, )

    ** У каждого свой пример!!!!!!!!!!!!!!!
    Пример 2. Составьте программу, используя структуру.

    Опишите запись АНКЕТА и поместите в нее следующую информацию: Ф.И.О.(фамилия, имя, отчество), адрес (улица, номер дома, номер квартиры), пол, возраст.

    # include

    struct date { int day;

    int month;

    int year; };

    struct person { char fam [20];

    char im [20];

    char ot [20];

    struct date f1;};

    main ( )

    { struct person ind1;

    printf ( "f,i,o,den, mecac, god rogdenia grazd-na ind1 \n" );

    scanf ("%s %s %s %d %d %d", &ind1.fam, &ind1.im, &ind1.ot,

    & ind1.f1.day, &ind1.f1.month, &ind1.f1.year );

    printf (" F,I,O: %s %s %s\n", ind1.fam, ind1.im, ind1.ot);

    printf ("God r - %d\n", ind1.f1.year);

    printf ("mecac - % d\n", ind1.f1.month);

    printf ("den - % d\n", ind1.f1.day);

    }
    Задание 2.Опишите запись АВИА БИЛЕТ и поместите в нее следующую информацию: Ф.И.О. (фамилия, имя, отчество пассажира), возраст пассажира (год рождения), багаж (количество вещей, вес в кг).


    Учебно-методическое и информационное обеспечение учебной практики

    а)Основная литература:

    1. Голицина О. Л., Попов И. И. Основы алгоритмизации и программирования: Учебное по­собие. - М: Форум, 2008.

    2. Подбельский В.В., Фомин С.С. Программирование на языке СИ. Учебное пособие. М,: ДИАЛОГ, 2005.

    3. Юров В. Ассемблер –СПб.: Питер, 2010. – 637 с.,

    4. В. Н. Пильщиков Программирование на языке ассемблера IBM PC.: «Диалог МИФИ», 2008. – 288 с.

    5. Н.Культин «С/С++ в задачах и примерах

    б)Дополнительная литература:

    1.Семакин И. Г., Шестаков А. П. Основы программирования. учебник. - М.: Издательский

    центр «Академия», 2006.

    2. Пирогов В. Ассемблер на примерах. 2005.

    3.Семакин И. Г., Шестаков А. П. Основы программирования. учебник. - М.: Издательский

    центр «Академия», 2006.
    в) программное обеспечение и Интернет-ресурсы
    -Операционная система Windows XP, интегрированная среда ассемблера Fasm, интегрированная среда языка С
    1) http://informatika.far.ru

    2) http://mr-net.narod.ru

    3) http://www.uchi-c.narod.ru
    1   2   3


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