Семинары (1171138), страница 2

Файл №1171138 Семинары (Семинары) 2 страницаСеминары (1171138) страница 22020-04-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Задача сводится к нахождению корня функции y = x2-aна отрезке [0,b], где b = max(1,a). На этом отрезке функция имеет ровно один корень,поcкольку она монотонно возрастает и на концах отрезка принимает значения разныхзнаков (или нулевое значение при a = 0 или a = 1).#include <stdio.h> // Описания стандартного ввода-вывода// Число, из которого извлекается кореньdouble a;double f(double x) //функция x2-a{double res;res = x*x–a;return res;}int main()doubledoubledouble{x, x0, x1;// [x0, x1] - текущий отрезокy;// Значение ф-ции в точке xeps = 0.000001; // Точность вычисления корняprintf("Введите число a:\n");scanf("%lf", &a);if (a < 0.0) {printf("Число должно быть неотрицательным.\n");return 1; // Возвращаем код}//некорректного завершения//x0x1ifЗадаем концы отрезка= 0.0;= a;(a < 1.0) {x1 = 1.0;}3// Утверждение: x0 * x0 - a <= 0,//x1 * x1 - a >= 0while (x1 - x0 > eps) {// Инвариант: x0 * x0 - a <= 0,//x1 * x1 - a >= 0x = (x0 + x1) / 2.0; // середина отрезка [x0,x1]y = f(x);// значение ф-ции в точке xif (y >= 0.0) {x1 = x; // выбираем левую половину отрезка}else {x0 = x; // выбираем правую половину отрезка}}// Утверждение:////x = (x0 + x1) /x0 *x1 *x1 2.0;x0x1x0//- a <= 0,- a >= 0,<= epsКорень := середина отрезка// Печатаем ответprintf("Квадратный корень = %lf\n", x);}return 0; // Возвращаем код успешного завершенияРезультат выполненияЗадание 3:1.

Дана строка символов S. Напечатайте все входящие в эту строку заглавныелатинские буквы 'A', ... , 'Z' по одному pазу в алфавитном порядке с указаниемчисла вхождений каждой буквы в строку. Проверку на признак заглавной буквы иподсчет количества вхождений в строку оформить в виде функции.2. Напишите пpогpамму, содержащую функцию удаления из вектора элемента пеpедзаданным. Заданный элемент определяется по его порядковому номеру.3. Пусть в векторе вещественных чисел содержатся результаты измерения некоторойвеличины x в нескольких опытах.

Вычислите среднее значение величины x поn −1формуле M[X]= ∑ xi /n, где n – количество измерений, и дисперсию поi =04n −12формуле:D[X]= ∑ ( M [ X ] − xi ) /n. Вычисление среднего арифметического M[X] иi =0дисперсии D[X] организовать в виде отдельных функций.Исходный кодРезультат выполнения5Контрольные вопросы1.2.3.4.5.6.Представление программы в виде функций?Прототип функции?Формальные и фактические параметры?Способ передачи параметров: по ссылке и по значению?Вызов функции?Вычисление квадратного корня?СПИСОК ЛИТЕРАТУРЫ1. Дейтел Х. М.

Как программировать на С++: Пер. с англ. – М.: ЗАО «ИздательствоБИНОМ», 2000 г. – 1024 с.: ил.2. Страуструп Б. Язык программирования С++. Специальное издание: ++: Пер. с англ.– М.: ЗАО «Издательство БИНОМ», 2008 г. – 1104 с. :ил.3. Шилдт Г. Полный справочник по С++: ++: Пер. с англ. – М.: Изд-во Вильямс, 2007г. – 800 с.: ил.4. Шилдт Г.

С++: Базовый курс: ++: Пер. с англ. – М.: Изд-во Вильямс, 2008 г. – 624с.: ил.5. Джонсон Б., Скибо К., Янг М.: Основы Microsoft Visual Studio .NET 2003: - М.:6датаОтчет по лабораторной работе №3«Основы C++, работа с файлами»ОценкаБонус за(max 5)сложностьподписьЦели работы:Изучение принципов работы с файлами в среде MS Visual Studio C++.Задачи работы:-знакомство с принципами работы с файлами, основными понятиями и функциями C++-разработка примеров простейших программ работы с файлами на С++Краткий конспект теоретической части (ответы на контрольные вопросы)Типы файлов?_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Работа с файлами: открытие файла? __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Работа с файлами: чтение данных из файла?________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Работа с файлами: запись данных в файл?_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Подсчет символов и строк в текстовом файле _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Подсчет символов, строк слов в текстовом файле _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________1Пример 1: Работа с файлами: открытие, закрытие файла#include <stdio.h> // Описания стандартного ввода-выводаint main(){FILE *f, *g, *h;// 1.

Открыть текстовый файл "abcd.txt" для чтенияf = fopen("abcd.txt", "rt");fclose(f)// 2. Открыть бинарный файл "c:\Windows\Temp\tmp.dat"// для чтения и записиg = fopen("tmp.dat", "wb+");fclose(g)// 3. Открыть текстовый файл "c:\Windows\Temp\abcd.log"// для дописывания в конец файлаh = fopen("c:\\Temp\\abcd.log", "at");fclose(h)//Диагостика ошибокFILE *k = fopen("filnam.txt", "rt");if (k == 0) {perror("Не могу открыть файл на чтение");fclose(k)}}Результат выполненияПример 2: Работа с файлами: чтение, запись#include <stdio.h> // Описания функций ввода-вывода#include <stdlib.h> // Описание функции exitint main (){FILE *f;double buff[10];size_t res;f = fopen("tmp.dat", "rb"); // Открываем файлif (f == 0) { // При ошибке открытия файла2}// Напечатать сообщение об ошибкеperror("Не могу открыть файл для чтения");exit(1); // завершить работу с кодом 1// Пытаемся прочесть 10 вещественных чисел из файлаres = fread(buff, sizeof(double), 10, f);// res равно реальному количеству прочитанных чиселprintf("Read bytes: %d \n", res);FILE *g;g = fopen("tmp.res", "wb"); // Открываем файл "tmp.res"if (g == 0) { // При ошибке открытия файла// Напечатать сообщение об ошибкеperror("Не могу открыть файл для записи");exit(1); // завершить работу программы с кодом 1}// Записываем 10 вещественных чисел в файлres = fwrite(buff, sizeof(double), 10, g);// В случае успеха res == 10printf("Written bytes: %d \n", res);return 0;}Результат выполненияПример 3: Работа с файлами: подсчет символом и строк в текстовом файле:Программа сначала вводит имя файла с клавиатуры.

Для этого используется функцияscanf ввода по формату из входного потока, для ввода строки применяется формат "%s.Затем файл открывается на чтение как бинарный (это означает, что при чтении не будетпроисходить никакого преобразования разделителей строк). Используя в цикле функциючтения fread, мы считываем содержимое файла порциями по 512 байтов, каждый разувеличивая суммарное число прочитанных символов.// Подсчет числа символов и строк в текстовом файле//#include <stdio.h> // Описания функций ввода-вывода#include <stdlib.h> // Описание функции exitint main() {char fileName[256]; // Путь к файлуFILE *f;// Структура, описывающая файл3char buff[512];size_t num;int numChars = 0;int numLines = 0;int i;//////////Массив для ввода символовЧисло прочитанных символовСуммарное число символов := 0Суммарное число строк := 0Переменная циклаprintf("Введите имя файла: ");scanf("%s", fileName);f = fopen(fileName, "rb"); // Открываем файл на чтениеif (f == 0) { // При ошибке открытия файла// Напечатать сообщение об ошибкеperror("Не могу открыть файл для чтения");exit(1); // закончить работу программы с кодом 1// ошибочного завершения}while ((num = fread(buff, 1, 512, f)) > 0) { // Читаем// блок из 512 символов.

num -- число реально// прочитанных символов. Цикл продолжается, пока// num > 0numChars += num; // Увеличиваем число символов// Подсчитываем число символов перевода строкиfor (i = 0; i < num; ++i) {if (buff[i] == '\n') {++numLines; // Увеличиваем число строк}}}fclose(f);// Печатаем результатprintf("Число символов в файле = %d\n", numChars);printf("Число строк в файле = %d\n", numLines);}return 0; // Возвращаем код успешного завершенияРезультат выполнения4Другие полезные функции ввода-выводаСтандартная библиотека ввода-вывода Си содержит ряд других полезных функций ввода-вывода.Отметим некоторые из них.char *fgets(char *line,int size, FILE *f);char *fputs(char *line, FILE *f);Посимвольный ввод-выводввести символ из потока fвывести символ в поток fПостроковый ввод-выводввести строку из потока fвывести строку в поток fint fseek(FILE *f, long offset, int whence);long ftell(FILE *f);int feof(FILE *f);Позиционирование в файлеустановить текущую позицию в файле fполучить текущую позицию в файле fпроверить,достигнут ли конец файла fint fgetc(FILE *f);int fputc(int c, FILE *f);Функция fgetc возвращает код введенного символа или константу EOF (определенную как минусединицу) в случае конца файла или ошибки чтения.Функция fputc записывает один символ в файл.

При ошибке fputc возвращает константу EOF (т.е.отрицательное значение), в случае удачи - код выведенного символа c (неотрицательное значение).Функция fgets с прототипом выделяет из файла или входного потока f очередную строку изаписывает ее в массив символов line. Второй аргумент size указывает размер массива для записи строки.Максимальная длина строки на единицу меньше, чем size, поскольку всегда в конец считанной строкидобавляется нулевой байт. Функция сканирует входной поток до тех пор, пока не встретит симол переводастроки "\n" или пока число введенных символов не станет равным size - 1.

Символ перевода строки "\n"также записывается в массив непосредственно перед терминирующим нулевым байтом. Функциявозвращает указатель line в случае успеха или нулевой указатель при ошибке или конце файла.Определение типов символовБиблиотека Си предоставляет следующие функции для определения типа символов, описанные встандартном заголовочном файле "ctype.h":int isdigit(int c);int isalpha(int c);int isspace(int c);int ispunkt(int c);int isupper(int c);int islower(int c);int toupper(int c);int tolower(int c);символ c - цифра;c - латинская буква;c - пробел, перевод строки и т.п.;c - знак препинания;c - прописная латинская буква;c - строчная латинская буква;если c -- лат.

Характеристики

Тип файла
PDF-файл
Размер
788,91 Kb
Материал
Тип материала
Высшее учебное заведение

Список файлов семинаров

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее