Главная » Просмотр файлов » Т.В. Руденко - Сборник задач и упражнений по языку Си

Т.В. Руденко - Сборник задач и упражнений по языку Си (1114664), страница 11

Файл №1114664 Т.В. Руденко - Сборник задач и упражнений по языку Си (Т.В. Руденко - Сборник задач и упражнений по языку Си) 11 страницаТ.В. Руденко - Сборник задач и упражнений по языку Си (1114664) страница 112019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Если корень был найден (с заданнойточностью eps) до нажатия клавиш Ctrl+C, то выдается соответствующее сообщение, печатается результат и программа прекращает работу.8.45. Написать программу вычисления определенного интеграла функции f(x) на отрезке [a,b] с точностью eps (любым известным Вам методом: прямоугольников, трапеций, Симпсона ), которая при возникновении сигналаSIGFPE (арифметическая ошибка: деление на 0 или переполнение) выдает значение частичной суммы, количество точек разбиения и запрос о дальнейшихдействиях:A - закончить работу программы;R - вычислять значение интеграла на другом отрезке (новые значения aи b вводятся с клавиатуры; реакция на сигнал SIGFPE сохраняется).Затем выполняет эти действия. Если вычисление интеграла (с заданнойточностью) успешно завершилось, то выдается соответствующее сообщение,печатается результат и программа прекращает работу.8.46. Написать программу копирования содержимого одного файла вдругой.

Копирование осуществляет вспомогательный процесс. Если во времякопирования считывается строка, длина которой больше N, то этот процесс сообщает процессу-родителю о возникшей ситуации. Головной процесс спрашивает пользователя о том, что делать с этой строкой:D - не записывать строку в формируемый файлC - записать только первые N символовA - прекратить копированиеи сообщает вспомогательному процессу о принятом пользователем решении.Головной процесс ждет, когда вспомогательный закончит свою работу, сообщает пользователю о том, что копирование завершено и завершается сам. Именафайлов и величина N задаются в командной строке.8.47. Написать программу копирования из одного файла в другой только тех восьмерок байт, в которых первый символ равен заданному. Использовать низкоуровневый ввод/вывод.

Все аргументы (файлы и символ) задаются вкомандной строке. Программа в ответ на первые два нажатия клавиш Ctrl+Cвыдает количество восьмерок байт, записанных в файл-результат к этому моменту, после третьего нажатия - прекращает работу, выдав содержимое сформированного к этому моменту файла. Если не было третьего (второго, первого)Ctrl+C, то работа продолжается до тех пор, пока не будет проанализирован исходный файл и создан файл-результат.8.48. Написать программу, выдающую на экран содержимое файла порциями по N строк: каждая последующая порция выдается после нажатия клавишCtrl+C. Имя файла и величина N задаются в командной строке.499. ЗАДАНИЯ ПРАКТИКУМА9.1 Свойства транслятора1. Выяснить, сколько байт отведено для хранения данных типа short,int, long, float, double и long double.2.

Выяснить способ представления типа char: signed- или unsignedвариант.3. Проконтролировать, все ли способы записи констант допустимы:• целых (обычная форма записи, u/U, l/L, их комбинации, восьмеричная и шестнадцатиричная системы счисления )• вещественных (обычная форма записи, в экспоненциальном виде, f/F,l/L, e/E )• символьных и строковых (в частности, происходит ли конкатенациярядом расположенных строковых констант )4. Выяснить, как упорядочены коды символов '0'-'9', 'a'-'z', 'A'- 'Z', пробел(между собой и относительно друг друга ).5. Проверить наличие и качество диагностических сообщений при неверной записи констант:• целых и вещественных• символьных и строковых6.

Проконтролировать, допускается ли инициализация переменных приописании; происходит ли инициализация по умолчанию.7. Проверить, реагирует ли компилятор на попытку изменить константу(внешнюю, автоматическую, статическую; арифметических типов, строковую).8. Исследовать особенности выполнения операции % с отрицательнымиоперандами.9.

Проверьте, действительно ли операции отношения == и != имеютболее низкий приоритет, чем все другие операции отношения.10. Проверьте, выполняется ли правило "ленивых вычислений" выражений в Си, т.е. прекращается ли вычисление выражений с логическими операциями, если возможно "досрочно" установить значение результата.11. Проверьте, все ли виды операнда операции sizeof, определяемыестандартом для арифметических типов, допускаются компилятором; действительно ли аргумент-выражение не вычисляется.12.

Определите, каким образом "малое" целое расширяется до int(старшие разряды int заполняются нулями или знаковым разрядом "малого" целого ).5013. Определите, каким образом расширяются unsigned- варианты "малых" целых ( до unsigned int как в "классическом" Си или сначала делается попытка расширить до int, и только в случае неудачи - до unsigned int ).14. Определите, каким образом при выполнении операции присваивания и явном приведении происходит преобразование знаковых целых(M-битовое представление ) к знаковым целым (N-битовое представление ) приM > N, M = N, M < N.15.

Определите, каким образом при выполнении операции присваивания и явном приведении происходит преобразование беззнаковых целых(M-битовое представление ) к знаковым целым (N-битовое представление ) приM > N, M = N, M < N.16. Определите, каким образом при выполнении операции присваивания и явном приведении происходит преобразование вещественных чисел ( X )к знаковым целым ( N-битовое представление ) при | X | < 2N-1, | X | >= 2N-1.17. Определите, каким образом при выполнении операции присваивания и явном приведении происходит преобразование знаковых целых X(M-битовое представление ) к беззнаковым целым ( N-битовое представление )при M > N, M = N, M < N; X >= 0, X < 0.18.

Определите, каким образом при выполнении операции присваивания и явном приведении происходит преобразование беззнаковых целых(M-битовое представление ) к беззнаковым целым ( N-битовое представление )при M > N, M = N, M < N.19. Определите, каким образом при выполнении операции присваивания и явном приведении происходит преобразование вещественных чисел ( X )к беззнаковым целым (N-битовое представление ) при 0<=X< 2N, X < 0, X >= 2N.9.2КалькуляторКалькулятор – это программа, вычисляющая значения выражений, вводимых с клавиатуры. Ввод выражений и значений переменных, входящих в выражение, осуществляется по запросу программы.Требуется контролировать правильность записи выражений. Минимальный набор диагностических сообщений:- нарушен баланс скобок ( с указанием – открывающих / закрывающих)- отсутствует операнд- пропущена операция- недопустимая операция- неверный операнд (ошибочно записана константа или имя переменной).Выражение содержит знаки операций +, - ,∗, / ; круглые скобки без ограничения уровней вложенности; операнды – константы (целые и вещественные) и переменные.

Имя переменной – идентификатор, его максимальная длина– 6 символов; в вещественных константах порядок не используется, т.е. числа51имеют вид целая_часть.дробная_часть, где либо одно, либо другое может бытьопущено. Целочисленные константы записываются в десятичной форме (восьмеричное и шестнадцатиричное представление не используется).Старшинство операций и правила приведения типов аналогичны правилам Си. Тип переменной определяется по виду константы – инициализатора.Некоторые рекомендации:- если синтаксический анализ реализован методом рекурсивного спуска, тодля выхода из «глубокой» рекурсии удобны функции setjmp и longjmp.- в функции метода рекурсивного спуска можно вставить действия по переводу анализируемого выражения в польскую инверсную запись (ПОЛИЗ).

Этопозволит за один просмотр провести анализ исходного выражения и генерациюего польской записи; при использовании алгоритма Дейкстры может потребоваться еще один просмотр.- выражения в ПОЛИЗе можно интерпретировать многократно при разныхзначениях переменных (если пользователь потребует этого в процессе диалога).- таблицу переменных удобно представлять с использованием объединений, т.к. для переменных разных типов придется хранить значения типа int итипа double.Приведенный здесь вариант калькулятора можно упростить: реализоватьтолько целочисленную либо только вещественную арифметику.9.3Моделирование работы интерпретатора SHELL(программа My_Shell)Входной язык: подмножество командного языка SHELL (определяетсявариантом).Поток команд:1. командный файл, т.е.

каждая строка файла - это отдельная команда,которая должна быть выполнена интерпретатором (имя файла - аргумент в командной строке при вызове интерпретатора);2. стандартный входной поток команд;3. для исполнения каждой команды требуется запуск программыMy_Shell.ВНИМАНИЕ!!! "побочный" эффект выполнения уже обработанных команд (например, перенаправление ввода-вывода) не должен влиять на выполнение последующих команд.Входной язык (варианты):Общая часть (одинаковая для всех вариантов):• # конвейер pr1 | pr2 | ...

| prN для произвольного N>=2; считать, что аргументов у prI (1 <= I<= N) нет (но возможнареализация с произвольным числом аргументов у каждогопроцесса)• # перенаправление ввода-вывода <, >, >> (в том числе дляpr1 и prN в конвейере)52Например,pr < data > respr1 | pr2 > res.txt• # запуск в фоновом режиме & (в том числе и для конвейеров)Например,pr arg1 arg2 &pr1 | pr2 | pr3 > res.all &Вариантная часть:В каждый вариант входит (как минимум) один из подпунктов каждогопункта, отмеченного римской цифрой. Звездочкой отмечены более сложныеподпункты. Части подпунктов, содержащие слово «возможно», могут бытьопущены при выборе варианта; их реализация усложняет вариант. Вариант определяет преподаватель.I.

1. mv old_file new_file2. cp file copy_fileII. 1. wc filenameрезультат: filename строк слов символов (возможен список имен файлов; в этом случае подобная информация выдаются о каждомфайле)2. grep substring filenameрезультат: строки файла filename, содержащие substring как подстроку(возможен флаг -v; в этом случае результат - это строки, которые не содержат substring как подстроку)3. cmp filename1 filename2результат: информация о первом различии в содержимом двух файловНапример, filename1 differs from filename2: line 5 char 36*4.

sort filenameсортировка строк файла в соответствии с кодировкой ASCIIвозможны флаги:-r обратный порядок-f не различать большие и малые буквы-n числовой порядок+n начать сортировку с (n+1)-ой строкиIII. 1. cat filenamesвозможен флаг:-nс нумерацией строк (если файлов несколько, тонумерация сквозная)2. tail filenameвывод 10 последних строк файлавозможны флаги:-n n последних строк+n с n-ой строки и до конца файла3. od filenameвывод содержимого файла по 10 символов в строке с указанием номера первого символа в каждой десятке53Например, 000001 a b c d \n e f g h i000011 j k \t l m nвозможен флаг:-b с указанием восьмеричных кодов символовIV.

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

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

Список файлов книги

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