- •Министерство образования и науки рф
- •Рабочая программа
- •1. Информация и информатика.
- •2. Вычислительная техника.
- •3. Устройство персонального компьютера (пк).
- •4. Функции операционных систем (ос) пк.
- •5. Основы работы с операционной системой Windows xp.
- •6. Настройка операционной системы Windows xp.
- •7. Стандартные приложения Windows xp.
- •8. Компьютерные сети, Интернет, компьютерная безопасность.
- •9. Получение информации из Интернета.
- •10. Создание текстовых документов.
- •11. Введение в программирование на эвм
- •13. Лабораторные работы.
- •Задания для контрольной работы №1 задание 1. Программирование формул
- •Задание 2. Структуры выбора
- •Задание 3. Вывод на текстовый экран таблицы и графика функции
- •Задание 4. Итерационные циклы
- •Задание 5. Обработка одномерного массива
- •Задание 6. Обработка двумерного массива
- •Задание 7. Обработка символьных данных
- •Задания для контрольной работы №2 задание 8. Функции
- •Задание 10. Перечисления структуры и объединения
- •Задание 11. Работа с экраном в текстовом режиме
- •Задание 13. Файлы
Задание 13. Файлы
1 Напишите программу которая использует операцию sizeof для определения числа байтов различных типов данных в том числе и пользовательских Напишите результат в файл size.dat, чтобы его можно было распечатать Формат результата в файле должен быть следующий:
Тип данных Размер
char 1
unsigned char 1
short int 2
unsigned short int 2
int 4
unsigned int 4
long int 4
unsigned long int 4
float 4
double 8
long double 16
Замечание: размер стандартных типов данных на вашем компьютере может отличаться от приведенного списка
2 Проводится инвентаризация склада металлических изделий чтобы установить сколько всего изделий находится на складе а также количество и стоимость каждого изделия Напишите программу которая создала бы файл произвольного доступа met.dat на сотню пустых записей позволяла бы вводить данные по каждому изделию давала бы возможность получать список всех изделий удалять записи по изделиям которых уже нет и позволяла бы обновлять любую информацию в файле Ключом должен быть идентификационный номер изделия Следует использовать следующую информацию для работы с файлом:
Номер записи |
Название инструмента |
Количество |
Стоимость |
3 |
Дрель ручная |
7 |
12360 |
17 |
Молоток |
76 |
2789 |
68 |
Отвертка |
106 |
1545 |
83 |
Гаечный ключ |
27 |
1853 |
56 |
Электропила |
5 |
127636 |
3 Создать файл содержащий сведения о товарах хранящихся на складе: шифр наименование товара количество единиц стоимость единицы Все записи должны быть отсортированы в порядке возрастания шифра товара Иметь возможность по введенному коду сделать корректировки: а)изменить/добавить запись о товаре с шифром ХХХ; б)удалить запись о товаре с шифром ХХХ; в) получить информацию о всех товарах в наименовании которых содержится заданный ключ
4 Создать файл содержащий сведения об ассортименте обуви в магазине Структура записи: артикул наименование размер количество пар стоимость одной пары Артикул начинается с буквы Д для дамской с буквы М - для мужской и с буквы С – для детской обуви Написать программу выдающую следующую информацию: а)наличие и стоимость обуви артикула ХХ; б)список дамской обуви заданного размера с указанием наименования и в)имеющееся в наличии число пар каждой модели мужской обуви
5 Создать файл с текстом в котором начало каждого абзаца отмечено символом ‘@’. Отредактировать этот текст по следующим правилам: а)первая строка имеет отступ k позиций; б)все строки текста кроме последней строки каждого абзаца должны иметь фиксированную длину n; в)при редактировании слова не переносятся г)знак препинания не отделяется от слова за которым он стоит д)строки выравниваются за счет дополнительно вносимых пробелов
6 В текстовом файле заменить все последовательности идущих подряд пробелов одним пробелом те “сжать” файл Новый файл не создавать
7 Найти максимальную длину строки в текстовом файле и вывести все строки файла имеющие такую длину
8 В файле находятся только целые числа Определить имеет ли последовательность чисел находящихся в файле нечетную длину и если да то переменной sred присвоить значение среднего элемента файла В противном случае присвоить этой переменной значение первого числа файла
9 В текстовый файл вставить пробелы таким образом чтобы каждая строка имела длину 80 символов (пробелы в строке должны быть вставлены равномерно)
10 Каждая строка файла содержит название горной вершины и её высоту Используя структуру для описания понятия вершина получить название самой высокой вершины по данным файла
11 Из текстового файла выбросить все пробельные символы Новый файл не создавать
12 Каждая строка файла содержит следующие данные: пол имя рост Вывести на экран средний женский рост и имя самого высокого мужчины по данным файла Использовать структуру для описания понятия человек
13 В файле находится текст программы на языке С++ Создать выходной файл в который переписать содержимое исходного файла убрав комментарии из текста программы
14 Написать программу которая работает в одном из двух режимов Если в текущем каталоге имеется файл “tabl.txt” то вывести на экран построчно его содержимое В противном случае создать файл с таким же именем и записать туда таблицу умножения для чисел от 2 до 9
15 Подсчитать количество пустых строк в текстовом файле
16 Используя структуру для определения понятия студент (состоит из полей: ФИО оценки в сессию) вывести фамилии и имена отличников и долю их от общего количества студентов (Данные находятся в файле)
17 Используя структуру с полями пол ФИО возраст вывести количество девушек по имени “Елена” и имена тех кому 19 лет (Данные находятся в файле)
18 В файле находятся вещественные числа Определить количество положительных чисел, отрицательных чисел и нулей в файле
19 Написать программу записи в файл и чтения из файла элементов массива структур для регистрации автомашин с полями: марка машины год выпуска цвет номер
20 В текстовом файле подсчитать количество строк которые начинаются с буквы ‘ f ’.
21 В текстовом файле подсчитать количество строк которые начинаются и оканчиваются одной и той же буквой
22 Проверить наличие баланса всех видов скобок в текстовом файле
23 Дан текстовый файл F1. Переписать его содержимое в файл F2, разбив на строки таким образом чтобы каждая строка либо оканчивалась точкой либо содержала 40 литер если среди них нет точки
24 Создать два файла содержащие сведения об игроках двух хоккейных команд Структура записей файлов: фамилия имя игрока; число заброшенных шайб число сделанных голевых передач По данным извлекаемым из этих файлов создать новый файл содержащий сведения о двух самых результативных игроках обеих команд
25 Написать программу сравнения двух файлов: должна выводиться первая строка в которой они различаются Если файлы идентичны сообщить это
26 В файле находятся вещественные числа Определить количество элементов файла величина которых меньше среднего арифметического всех элементов данного файла
27 Создать файл содержащий сведения о том какие из пяти предложенных дисциплин желают слушать студенты Структура записи: фамилия студента номер группы средний балл пять дисциплин где ‘*’ показывает выбранную дисциплину Создать файл содержащий данные о том кто желает прослушать дисциплину ХХ Если желающих больше десяти то отобрать тех студентов у которых более высокий средний балл
28 Создать файл содержащий сведения о композиторах Структура записей файла: ФИО название песни её продолжительность год создания Вывести название первой песни каждого композитора
29 Создать файл содержащий сведения о книгах в библиотеке Структура записи: шифр книги автор название год издания местоположение (номер стеллажа полки) Предусмотреть возможность корректировки файла по вводимому коду например: 1 – удалить запись (по шифру ХХ); 2 – добавить новую запись; 3 – изменить запись (по введенной фамилии автора и названию книги); 4 – получить информацию о книге с шифром ХХ
30 Создать файл содержащий сведения о результатах экзаменов группы студентов Предусмотреть возможности корректировки записей в файле (пересдача досдача экзаменов) В выходной файл записать результаты анализа: фамилии отличников фамилии студентов сдавших экзамены на 4 и 5 и в срок средний балл по каждому экзамену и по каждому студенту
Пример 1
//Фрагмент программы по обслуживанию банковских счетов
//Создание, чтение и печать последовательного файла
#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>
#include<stdlib.h>
void outputLine(int,char*,float);
main()
{
ofstream outClientFile("clients.dat",ios::out);
if(!outClientFile) {
cerr<<"Файл не может быть открыт для записи"<<endl;
exit(1); } //прототип в stdlib.h
cout<<"Введите счет, имя и баланс."<<endl
<<"Введите EOF для окончания ввода."<<endl<<"?";
int account;
char name[10];
float balance;
while(cin>>account>>name>>balance) {
outClientFile<<account<<' '<<name<<' '<<balance<<endl;
cout<<"? "; }
outClientFile.close();
ifstream inClientFile("clients.dat",ios::in);
if(!inClientFile) {
cerr<<"Файл не может быть открыт для чтения"<<endl;
exit(1); }
cout<<endl<<setiosflags(ios::left)<<setw(10)<<"Счет"
<<setw(13)<<"Имя"<<"Баланс"<<endl;
while(inClientFile>>account>>name>>balance)
outputLine(account,name,balance);
return 0;
}
void outputLine(int acct,char*name, float bal)
{
cout.setf(ios::fixed,ios::floatfield);
cout<<setiosflags(ios::left)<<setw(10)<<acct
<<setw(13)<<name<<setw(7)<<setprecision(2)
<<setiosflags(ios::showpoint | ios::right)<<bal<<endl;
}
Пример 2
//Фрагмент программы по обслуживанию банковских счетов
//Создание файла произвольного доступа
//Запись в файл произвольного доступа
//Последовательное чтение из файла произвольного доступа
#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>
#include<stdlib.h>
struct clientData {
int num;
char name[15];
float balance;};
void outputLine(ostream &, clientData);
main()
{
ofstream creatCredit("credit.dat",ios::out);
if(!creatCredit) {
cerr<<"Файл не может быть открыт для создания."<<endl;
exit(1); }
clientData blankClient={0,"",0.0};
for(int i=1;i<=100;i++)
creatCredit.write((char*)&blankClient,sizeof(blankClient));
creatCredit.close();
ofstream outCredit("credit.dat",ios::ate);
if(!outCredit) {
cerr<<"Файл не может быть открыт для записи."<<endl;
exit(1); }
cout<<"Введите номер счета "
<<"(от 1 до 100, 0 - конец ввода)"<<endl<<"? ";
clientData client;
cin>>client.num;
while(client.num>0&&client.num<=100) {
cout<<"Введите фамилию, баланс"<<endl<<"? ";
cin>>client.name>>client.balance;
outCredit.seekp((client.num-1)*sizeof(client));
outCredit.write((char*)&client,sizeof(client));
cout<<"Введите номер счета"<<endl<<"? ";
cin>>client.num; }
outCredit.close();
ifstream inCredit("credit.dat",ios::in);
if(!inCredit) {
cerr<<"Файл не может быть открыт для чтения."<<endl;
exit(1); }
cout<<setiosflags(ios::left)<<setw(6)<<"Счет"
<<setw(16)<<"Фамилия"<<setiosflags(ios::right)
<<setw(10)<<"Баланс"<<endl;
inCredit.read((char*)&client,sizeof(clientData));
while(!inCredit.eof()) {
if(client.num!=0) outputLine(cout,client);
inCredit.read((char*)&client,sizeof(clientData)); }
return 0;
}
void outputLine(ostream &output, clientData c)
{
cout.setf(ios::fixed,ios::floatfield);
output<<setiosflags(ios::left)<<setw(6)<<c.num
<<setw(16)<<c.name<<setw(10)<<setprecision(2)
<<setiosflags(ios::showpoint | ios::right)
<<c.balance<<endl;
}
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Информатика. Базовый курс. 2-е издание / Под ред. С.В. Симоновича. – СПб.: Питер, 2009. – 640 с.: ил.
Гуда А.Н., Бутанова М.А., Нечитайло Н.М., Чернов А.В. Информатика. Общий курс: Учебник / Под ред. академика РАН В.И. Колесникова. – М.: Издательско-торговая корпорация “Дашков и К”; Ростов н/Д: Наука-Пресс, 2007. – 400 с. – (Высш. образование).
Яшин В.Н. Информатика: аппаратные средства персонального компьютера: Учеб. пособие. – М.: ИНФРА –М, 2008. – 254 с. – (Высш. образование).
Акулов О.А., Медведев Н.В. Информатика: базовый курс: Учебник для студентов вузов, бакалавров, магистров, обучающихся по направлениям 552800, 65460 “Информатика и вычислительная техника” / О.В. Акулов, Н.В. Медведев. – М.: Омега – Л, 2004. – 552 с.
Меняев М.Ф. Информатика и основы программирования: учеб. пособие по специальности “Менеджмент организации” / М.Ф. Меняев.- 3-е изд., стер.-Москва: Омега – Л, 2007. -458 с.:ил.
Острейковский ВАИнформатика:Учебдля вузов / ВАОстрейковский. – 4-е изд., стер. - М: Высшшк2007- 511с:ил
Павловская Т.А. С/С++. Программирование на языке высокого уровня.– СПБ.: Питер, 2007. – 461 с.: ил.
Подбельский В.В. Язык C++:учеб.пособие.-5-е изд. - М.:Финансы и статистика, 2008. - 560 с.
Подбельский В.В., Фомин С.С. Программирование на языке Си: учеб. пособие. - 2-е доп. изд. - М.Финансы и статистика, 2007. - 600с.
Колдаев В.Д. Основы алгоритмизации и программирования : Учебное пособие / Под ред. проф. Л.Г. Гагариной. – М. : ИД ”ФОРУМ” : ИНФРА – М, 2006. – 416 с.
Дейтел ХМ., Дейтел П.Дж. Как программировать на С. Четвертое издание. Пер. с англ – М.:ООО “БИНОМ-Пресс”, 2006 г. - 912 с.
Бронштейн И.Н. Справочник по математике для инженеров и учащихся втузов/ И.Н. Бронштейн, К.А. Семендяев - М.:Наука, 1980 г. – 976 с.: ил.