- •Оглавление
- •Лабораторная работа №1
- •Лабораторная работа №2 Форматный ввод-вывод
- •Лабораторная работа №3 Составление алгоритма решения задачи и его реализация
- •1. Изучить:
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №4 Программирование алгоритмов циклической структуры
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №5 Обработка одномерных массивов
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №6 Обработка двумерных массивов
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №7 Типовые приемы алогитмизации
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №8 Обработка символьных данных
- •1. Изучить:
- •Пример выполнения работы
- •1. Изучить:
- •Пример выполнения работы
- •Пример выполнения работы
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №12 Работа с файлами на верхнем уровне
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №13 Организация работы в графическом режиме
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №14 Создание графика
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №15 Организация перемещения объекта по заданной траектории
- •1. Изучить:
- •Пример выполнения работы
- •Лабораторная работа №16 Организация работы в текстовом режиме
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №17 Создание светового меню
- •1. Изучить:
- •Контрольные вопросы
- •Лабораторная работа №18 Динамическое распределение памяти, создание списка
- •1. Изучить:
- •Пример выполнения работы
- •Контрольные вопросы
Пример выполнения работы
Задана строка. Спроектировать и написать функцию, осуществляющую вставку последовательности символов в строку с заданной позиции (вставляемая последовательность задается пользователем).
В функцию вставки необходимо передавать три параметра: исходную строку, вставляемую строку, номер символа после которого осуществлять вставку. Функция возвращает один результат – адрес полученной строки (совпадает с адресом исходной строки). Исходная строка состоит из двух частей: первой подстроки – после которой нужно осуществить вставку символов, и второй – перед которой нужно осуществить вставку символов. В функции объявляется локальная переменная – указатель на char. В нее запоминается адрес символа, перед которым будет осуществлена вставка (адрес начала второй подстроки). На позицию вставки (после первой подстроки) записывается символ ‘\0’ – признак окончания строки. Добавляется вставляемая строка и вторая подстрока, адрес которой был запомнен в локальной переменной.
Программа решения задачи имеет вид:
#include <stdio.h> //подключение файла
#include <string.h> //подключение файла
char *insertstr (char *s,int n1,char *t) //заголовок функции insertstr
{ //объявление локальной переменной-указателя
char *l;
strcpy(l,s+n1); //копирование второй части строки
s[n1]='\0'; //запись '\0' на позицию вставки
strcat(s,t); //добавление вставляемой строки
strcat(s,l); //добавление второй части строки
return s; //завершение функции insertstr
}
void main() //заголовок функции main
{char str[255], a[80];
int n; // объявление переменных
printf("Введите строку\n");
gets(str);
printf("Введите вставляемую последовательность\n");
gets(a);
printf("Введите номер символа после которого осуществлять вставку\n");
scanf(“%d”,&n) //ввод значений переменных
strcpy(str,insert(str,n,a));
//вызов функции strcpy, копирующей в str, значение, Возвращаемое функцией insert
printf("Полученная строка\n%s\n",str); //вывод значения переменной
return; //завершение функции main
}
Контрольные вопросы
Перечислить способы ввода и вывода символьных данных.
Назвать специальные функции, используемые для обработки символьных данных.
Пояснить применение указателей при работе с символьными данными.
Указать, что служит признаком окончания строки.
Лабораторная работа №11
Программирование алгоритмов с
использованием переменной структура
Цель работы – овладение навыками алгоритмизации и программирования алгоритмов с использованием переменной структура (запись), проектирование элементов структуры, выбор типов элементов структуры, доступ к элементам структуры, ввод и вывод значений элементов структуры.
Задания для самостоятельной подготовки:
1. Изучить:
-основную терминологию, связанную с переменной структура: определение, элемент структуры;
- организацию доступа к элементам структуры;
- организацию ввода и вывода значений элементов структуры.
2. Разработать алгоритм решения в соответствии с заданием.
3. Составить программу решения задачи.
4. Подготовить тестовый вариант исходных данных. Выполнить на ЭВМ программу с тестовым вариантом.
Задание к работе:
Задание.
Написать программу, осуществляющую ввод информации о количестве изделий категории А, В, С, собранных рабочим за каждую неделю, количество недель не более 4:
- фамилия сборщика,
-наименование цеха,
-количество изделий по категориям, собранных рабочим за каждую неделю.
Вывести на экран информацию в виде таблицы и согласно варианту из таблицы 12.
Таблица 9
Вариант задания |
Условия задачи |
1 |
Распечатать данные о сборщике, собравшем наибольшее количество изделий за первую неделю. |
2 |
Распечатать данные о сборщике, собравшем наибольшее количество изделий категории А за весь период. |
3 |
Распечатать информацию об общем количестве изделий по категориям А, В, С для цеха Х. |
4 |
Распечатать информацию об общем количестве изделий, собранных каждым рабочим цеха Х. |
5 |
Считая заданными значения расценок Sa, Sb, Sa за выполненную работу по сборке единицы изделия категории А, В, С соответственно вычислить для каждого рабочего цеха Х заработную плату за весь период. |
6 |
Считая заданными значения расценок Sa, Sb, Sa за выполненную работу по сборке единицы изделия категории А, В, С соответственно вычислить для Х рабочего заработную плату за каждую неделю. |
7 |
Распечатать данные о сборщике, собравшем наибольшее количество изделий категории В за первую неделю. |
8 |
Распечатать информацию об общем количестве изделий по категориям А, В, С, собранных каждым рабочим. |
9 |
Считая заданными значения расценок Sa, Sb, Sa за выполненную работу по сборке единицы изделия категории А, В, С соответственно вывести на экран информацию о рабочем, имеющего наибольшую плату за весь период. |
10 |
Распечатать данные о сборщике, собравшем наименьшее количество изделий категории С за вторую неделю. |
Продолжение таблицы 9
Вариант задания |
Условия задачи |
11 |
Распечатать данные о сборщике, собравшем наименьшее количество изделий за последнюю неделю. |
12 |
Считая заданными значения расценок Sa, Sb, Sa за выполненную работу по сборке единицы изделия категории А, В, С соответственно вывести на экран информацию о рабочем, имеющего наименьшую плату за последнюю неделю. |
13 |
Распечатать информацию об общем количестве изделий по категориям А, В, С, собранных каждым рабочим. |
14 |
Распечатать данные о сборщике, собравшем наибольшее количество изделий категории А за весь период. |
15 |
Распечатать данные о сборщике, собравшем наибольшее количество изделий категории В за первую неделю. |
