Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 проги на си ОАИП 2 сем 2009 вмсис / отчёт УЧЕБНАЯ ПРАКТИКА.doc
Скачиваний:
17
Добавлен:
15.06.2014
Размер:
1.59 Mб
Скачать

58

Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет информатики и радиоэлектроники»

Кафедра электронных вычислительных машин

Отчёт

по учебной работе по курсу:

«Основы алгоритмизации и программирования»

Выполнил: Проверила:

Студент группы 850504 Ковальчук А.М.

Лаврухин Я.В.

Минск 2009

СОДЕРЖАНИЕ

  1. Введение

  2. Условие задачи №1

  3. Входные и выходные данные

  4. Блок схемы алгоритмов и алгоритмы по шагам

  5. Код программы

  6. Результаты работы программы

  7. Условие задачи №2

  8. Входные и выходные данные

  9. Блок схемы алгоритмов и алгоритмы по шагам

  10. Код программы

  11. Результаты работы программы

  12. Условие задачи №3

  13. Входные и выходные данные

  14. Блок схемы алгоритмов и алгоритмы по шагам

  15. Код программы

  16. Результаты работы программы

  17. Заключение

  18. Литература

  1. Введение

Язык программирования Си отличается максимализмом функций. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного компилятора. Однопроходный компилятор компилирует программу, не возвращаясь назад, к уже откомпилированному тексту. Поэтому использованию функции должно предшествовать её объявление. Код на Си можно легко писать на низком уровне абстракции. Си часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам.

Компиляторы Си разрабатываются сравнительно легко благодаря относительно низкому уровню языка и скромному набору элементов. Поэтому данный язык доступен на самых различных платформах (возможно, круг этих платформ шире, чем у любого другого существующего языка). К тому же, несмотря на свою низкоуровневую природу, язык позволяет создавать переносимые программы и поддерживает программиста в этом. Программы, соответствующие стандарту языка, могут компилироваться на самых различных компьютерах.

Си создавался с одной важной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования, не добавляя лишних накладных расходов на итоговый код программы компилятором, как это всегда делают языки очень высокого уровня, такие как Бейсик. С этой стороны Си имеет следующие важные особенности:

--простую языковую базу, из которой вынесены в библиотеки многие существенные возможности, вроде математических функций или функций управления файлами;

--ориентацию на процедурное программирование, обеспечивающую удобство применения структурного стиля программирования;

--систему типов, предохраняющую от бессмысленных операций;

--использование препроцессора для, например, определения макросов и включения файлов с исходным кодом;

--непосредственный доступ к памяти компьютера через использование указателей;

--минимальное число ключевых слов;

--передачу параметров в функцию по значению, а не по ссылке (при этом передача по ссылке выполняется с помощью указателей);

--указатели на функции и статические переменные

--области действия имён;

--записи — определяемые пользователем собирательные типы данных (структуры), которыми можно манипулировать как одним целым;

Язык хорошо принят, потому что он позволяет быстро создавать компиляторы для новых платформ, а также позволяет программистам довольно точно представлять, как выполняются их программы. Благодаря этому программы, написанные на Си, эффективнее написанных на многих других языках. Как правило, лишь оптимизированный вручную код на ассемблере может работать ещё быстрее, потому что он даёт полный контроль над машиной, однако развитие современных компиляторов вместе с усложнением современных процессоров быстро сократило этот разрыв.

Одним из последствий высокой эффективности и переносимости Си стало то, что многие компиляторы, интерпретаторы и библиотеки других языков высокого уровня часто выполнены на языке Си.

2 Условие задачи №1

Дан текст, в каждой из строк которого имеется хотя бы один пробел, за которым следует значащий символ. Засчет изменения групп пробелов внутри строк, надо добиться того что бы в конце строк пробелы отсутствовали. Количество пробелов в разных группах пробелов одной строки должно отличаться не более чем на единицу.

Требуется учесть следующее:

1) в исходном тексте количество пробелов между словами может быть 1 и более;

2) присутствие красной строки и соответствующих отступов;

3) строка перед красной строкой и последняя строка не раздвигаются.