КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Программирование
B. Продолжения исполнения программы, начиная с оператора адреса. D.READ A.CASE,DIV,ELSE,OF,UNTIL,VAR. B.SQRT,EXP,LN,ABS,COS. C.SQR,SIN,CHR,TRUNC,COS. D.EXP,PRED,ODD,ABS,SIN. E.ARCTAN,EXP,SUCC,SQRT,LN 25.Ключевые слова языка Паскаль B.AND,SQRT,EXE,COM,AUTOEXC,SYS. C.HELP,WHILE,OR,SIN,OND,CHR. D.ARRAY,CONFIG,ODD,ARCTAN,FILE,IN. E.LN,COMMAND,ABS,EXP,DO,END,REPEAT. 26. Укажите оператор ввода A.WRITE B.GOTO C.IF…..THEN E.TEXT 27.Чтобы значения переменных A,B,C выводить на экран раздельно, В одной строке нужно употребить следующий формат оператора вывода… A. READLN (A, B, C); B. READLN (A, B, C); C.WRITELN (A, B, C); D. WRITE (A); WRITE (B); WRITE (C); E. WRITELN (A; B; C); 28. Оператор перехода служит для… A. Организации цикла. C. Выполнения условия. D. Запуска подпрограммы. E. Выхода из подпрограммы. 29.Условия ”Если X= 0,05, то идти к 70” соответствует Программная строка… A. IF X:= 0.05 THEN GOTO 70; B. FOR X:= 0.05 GOTO 70; C. IF X:= 0.05 THEN GOTO 70; D. IF X:= 0.05, THEN GOTO 70; E. FOR X:= 0.05 THEN GOTO 70; 30.Как объявить массив с именем P в количестве 732 вещественных элементов? A. P: ARRAY [1..732]of real; B. ARRAY P [1..732] of real; C. P = ARRAY [1..732] of real; D. P of real [1..273]; E. P [732] of real;
Лист регистрации изменений в ____________________________________________________________________________
В ___________________________________________ вносятся следующие изменения: 1. ______________________________________ 2. ______________________________________ 3. ______________________________________ 4. ______________________________________ Пересмотрены и утверждены на заседании кафедры Естественно-технических дисциплин, протокол №_____ от ______________________20___года
Заведующий кафедрой _______________________________ФИО
Внесенные изменения согласованы:
Декан факультета_________________________
Председатель научно-методического совета академии __________________________________________ФИО
____________________________________20______г. часть I
Учебное пособие
Ставрополь Печатается по решению редакционно-издательского совета Ставропольского государственного университета
Непретимова Е. В., Саманчук Л.Ф. Программирование: Учебн. пособие. Ч1 – Ставрополь: СГУ, 2006.- 128 с.
Пособие соответствует государственному образовательному стандарту дисциплины «Информатика» раздел «Программирование» специальности 010400 –физика, а также может быть использовано при преподавании дисциплины «Алгоритмизация и программирование» для студентов специальности 010100 - математика и дисциплины «Информатика» специальности 010500 - прикладная математика и информатика. В учебном пособии изложены основы работы в среде программирования Паскаль, вводятся и иллюстрируются примерами управляющие операторы языка, типы данных, процедуры и функции. Уделено внимание типам данных, определяемым программистом: перечисляемый, интервальный типы данных, одномерные и двумерные массивы. Кроме того, рассматривается реализация рекурсивных алгоритмов и основных подпрограмм графического модуля GRAPH.TPU. Приводится большое количество задач для самостоятельного решения. Предназначено для студентов физико-математических специальностей СГУ. Может быть использовано учителями информатики при обучении программированию учащихся старших классов.
Рецензенты: 1. Торопцев Е.Л., доктор экономических наук, профессор, зав. каф. автоматизации учетно-финансовых информационных систем ФГОУ ВПО Ставропольского государственного аграрного университета, 2. Копыткова Л.Б., канд. физ.-мат.наук, доцент, зав. каф. алгебры Ставропольского государственного университета
© Ставропольский государственный университет, 2006 Содержание Предисловие. 6 1. Основные понятия алгоритмизации и программирования. 8 1.1. Этапы решения задач на ЭВМ... 8 1.2. Основы алгоритмизации. 10 1.3. Теоретические основы программирования. 18 1.4. Правила записи в С++ арифметических выражений. 19 Лабораторная работа № 1 Запись арифметических выражений. 22 2. Программирование алгоритмов линейной структуры.. 25 2.1. Общая характеристика языка программирования С++. 25 2.2. Основные понятия языка. 25 2.3. Данные и способы их организации. 28 2.4. Стандартные простые типы данных. 30 2.5. Структура программы.. 33 2.6. Операторы.. 36 2.7. Организация ввода/вывода данных. 37 Лабораторная работа № 2 Программирование алгоритмов линейной структуры.. 38 3. Операторы ветвления. 47 3.1. Простые и составные условия. 47 3.2. Составной оператор. 48 3.3. Условная операция (?:) 49 3.4. Условный оператор if. 49 3.5. Оператор switch. 52 3.6. Оператор перехода goto. 53 Лабораторная работа № 3 Программирование алгоритмов разветвляющейся структуры.. 55 4. Циклы.. 63 4.1. Оператор цикла с параметром (for) 64 4.2. Оператор цикла с предусловием (while) 65 4.3. Оператор цикла с постусловием (do while) 66 4.4. Вложенные циклы.. 67 Лабораторная работа № 4 Программирование алгоритмов циклической структуры.. 69 5. Подпрограммы.. 78 5.1. Понятие подпрограммы.. 78 5.2. Формальные и фактические параметры.. 78 5.3. Локальные и глобальные переменные. 79 5.4. Функции. 81 Лабораторная работа №5 Использование функций для решения прикладных задач. 84 6. Итерация и рекурсия. 89 6.1. Понятие итеративного процесса. 89 6.2. Понятие рекурсии. 89 Лабораторная работа №6 Программирование рекурсивных алгоритмов. 91 7. Одномерные массивы.. 98 7.1. Понятие структурированного типа данных. 98 7.2. Понятие и описание типа массив. 98 7.3. Одномерные массивы.. 99 7.4. Основные действия над элементами массивов. 100 Лабораторная работа №7 Использование числовых одномерных массивов. 103 8. Двумерные массивы.. 108 Лабораторная работа №8 Двумерные массивы.. 112 9. Алгоритмы решения задач внутренней сортировки и алгоритмы поиска информации. 116 9.1. Сложность алгоритмов. 116 9.2. Постановка задачи поиска. 117 9.3. Последовательный (линейный) поиск. 117 9.4. Бинарный поиск. 118 9.5. Постановка задачи сортировки данных. 118 9.6. Прямые и быстрые методы внутренней сортировки. 119 9.7. Сортировка вставками. 120 9.8. Сортировка с помощью прямого выбора. 121 9.9. Сортировка с помощью прямого обмена. 122 Лабораторная работа № 9 Задачи сортировки и поиска. 124 10. Указатели и массивы.. 125 10.1. Указатели. 125 10.2. Взаимосвязь между массивами и указателями. 126 10.3. Порядок объявления динамических массивов. 129 10.4. Передача массивов в качестве параметров функции. 130 Лабораторная работа №10 Применение массивов и указателей для решения прикладных задач 132 11. Особенности работы с функциями. 138 11.1. Способы передачи параметров в функцию.. 138 11.2. Передача имен функций в качестве параметров. 139 11.3. Перегрузка функций. 140 Лабораторная работа № 11 Исследование способов работы с функциями. 142 12. Строки как массив элементов типа char. 147 Лабораторная работа № 12. 151 13. Строки как специальный класс string. 154 Лабораторная работа № 13 Исследование способов работы с функциями. 156 Контрольные вопросы.. 158 Форма отчета. 159 14. Структуры.. 160 14.1. Изучение порядка объявления и инициализации структур. 160 14.2. Программирование с использованием структур. 162 14.3. Использование функций для работы с производными типами данных. 163 Лабораторная работа № 14 Применение структур для решения прикладных задач. 165 15. Файлы.. 166 15.1. Подход с использованием возможностей языка Си. 166 15.2. Подход с использованием возможностей языка С++. 169 Лабораторная работа № 15 Исследование методов доступа к файлам данных. 171 Литература. 173 Приложение 1 Порядок выполнения лабораторных работ. 174 Приложение 2 Базовые функции. 175
Предисловие Существует достаточно света для тех, кто хочет видеть, и достаточно мрака для тех, кто не хочет. Блез Паскаль (1623 - 1662) Язык программирования Си (англ. C – третья буква латинского алфавита) разработанный в 1969 - 1973 годах сотрудниками Bell Labs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би (B – вторая буква латинского алфавита) предназначался для реализации операционной системы UNIX, но, впоследствии, был перенесён на множество других платформ. Благодаря близости по скорости выполнения программ, написанных на Си, к языку ассемблера, этот язык получил широкое применение при создании системного программного обеспечения (ПО) и прикладного ПО для решения широкого круга задач. Язык программирования Си оказал существенное влияние на развитие индустрии ПО, а его синтаксис стал основой для таких языков программирования как C++, C# и Java. В конце 1970-х годов Си начал вытеснять Бейсик с позиции ведущего языка для программирования микрокомпьютеров. В 1980-х годах он был адаптирован для использования в IBM PC, что привело к резкому росту его популярности. В то же время Бьёрн Страуструп и другие в лабораториях Bell Labs начали работу по добавлению в Си возможностей объектно-ориентированного программирования. Язык, который они в итоге сделали, C++, оказал большое влияние на разработку ПО, но так и не смог сравняться по популярности с Си, особенно в UNIX-подобных системах. В 1983 году Американский национальный институт стандартов (ANSI) сформировал комитет для разработки стандартной спецификации Си. По окончании этого процесса в 1989 году он был утверждён как «Язык программирования Си» ANSI X3.159-1989. Эту версию языка принято называть ANSI C или C89. В 1990 году стандарт ANSI C был принят с небольшими изменениями Международной организацией по стандартизации (ISO) как ISO/IEC 9899:1990. ANSI C сейчас поддерживают почти все существующие компиляторы. После стандартизации в ANSI спецификация языка Си оставалась относительно неизменной в течение долгого времени, в то время как C++ продолжал развиваться. Однако в конце 1990-х годов стандарт подвергся пересмотру, что привело к публикации ISO 9899:1999 в 1999 году. Этот стандарт обычно называют «C99». В марте 2000 года он был принят и адаптирован ANSI. 8 декабря 2011 опубликован новый стандарт для языка Си (ISO/IEC 9899:2011). Язык программирования Си отличается минимализмом. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного компилятора, чтобы каждой элементарной составляющей программы после компиляции соответствовало весьма небольшое число машинных команд, а использование базовых элементов языка не задействовало библиотеку времени выполнения. Однопроходный компилятор компилирует программу, не возвращаясь назад, к уже обработанному тексту. Поэтому использованию функции и переменных должно предшествовать их объявление. Код на Си можно легко писать на низком уровне абстракции, почти как на ассемблере. Иногда Си называют «универсальным ассемблером» или «ассемблером высокого уровня», что отражает различие языков ассемблера для разных платформ и единство стандарта Си, код которого может быть скомпилирован без изменений практически на любой модели компьютера. Си часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам. Однако, в строгой классификации, он является языком высокого уровня. Си создавался с одной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования, не добавляя на итоговый код программ лишних накладных расходов для компилятора, как это всегда делают языки очень высокого уровня, такие как Бейсик. Одним из последствий высокой эффективности и переносимости Си стало то, что многие компиляторы, интерпретаторы и библиотеки других языков высокого уровня часто написаны на языке Си. Многие элементы Си потенциально опасны, а последствия неправильного использования этих элементов зачастую непредсказуемы. Керниган говорит: «Си — инструмент, острый, как бритва: с его помощью можно создать и элегантную программу, и кровавое месиво». В связи со сравнительно низким уровнем языка многие случаи неправильного использования опасных элементов не обнаруживаются и не могут быть обнаружены ни при компиляции, ни во время исполнения. Это часто приводит к непредсказуемому поведению программы. Иногда в результате неграмотного использования элементов языка появляются уязвимости в системе безопасности. Необходимо заметить, что использования многих таких элементов можно избежать. Язык программирования C++ произошёл от Си. Однако в дальнейшем Си и C++ развивались независимо, что привело к росту несовместимости между ними. Редакция C99 добавила в язык несколько конфликтующих с C++ особенностей. Эти различия затрудняют написание программ и библиотек, которые могли бы нормально компилироваться и работать одинаково и в Си и в C++, что, конечно, запутывает тех, кто программирует на обоих языках. Бьёрн Страуструп, придумавший C++, неоднократно выступал за максимальное сокращение различий между Си и C++ для создания максимальной совместимости между этими языками. Противники же такой точки зрения считают, что так как Си и C++ являются двумя различными языками, то и совместимость между ними не так важна, хоть и полезна. Согласно этому лагерю, усилия по уменьшению несовместимости между ними не должны препятствовать попыткам улучшения каждого языка в отдельности [1]. В данном учебном пособии, несмотря на то, что решаются задачи, не выходящие за рамки процедурного программирования, рассматривается язык программирования С++. Тем не менее, пособие не ориентировано на конкретную среду программирования, однако при выполнении заданий лабораторных работ целесообразно реализовывать свои программы в более современных и наиболее распространенных на рабочих местах системах программирования. Это существенно облегчит дальнейшее изучение языка и приведет к большей профпригодности.
Дата добавления: 2014-11-16; Просмотров: 723; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |