Главная » Просмотр файлов » Лекция 1. Основы алгоритмизации и программирования на Си

Лекция 1. Основы алгоритмизации и программирования на Си (1153708)

Файл №1153708 Лекция 1. Основы алгоритмизации и программирования на Си (Электронные лекции)Лекция 1. Основы алгоритмизации и программирования на Си (1153708)2020-08-21СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

1. ЦЕЛЬ И СОДЕРЖАНИЕ КУРСАЦель курса: овладение знаниями и навыками разработки алгоритмов и основами программирования на языке Си.Любая программа, независимо от алгоритмического языка, на котором она написана, состоит из описания данных и описания действий, выполняемых с этими данными. "Алгоритмы+структуры данных =программы" - это название книги классика современного программирования Н. Вирта является основным принципом разработки программ.Существующие в настоящее время универсальные алгоритмические языки (т.е.

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

Выбор алгоритмического языка Си для данного пособия объясняется тем,что в настоящее время он является признанным языком системногопрограммирования, т.е. языком для специалистов в области разработки программного обеспечения.Чтобы начать писать программы на каком-либо алгоритмическомязыке, надо знать:1. Какова структура простейшей (не использующей нестандартныеподпрограммы) программы, в каком порядке в ней размещаются инструкции языка.2. Какие типы и структуры данных приняты в языке и как они определяются (описываются), какие операции над данными различных типовдопустимы в языке, как строятся с их помощью выражения и как онивычисляются.

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

На первом этапе изучения языка можно познакомиться с тремя-пятью из них,достаточными для программирования основных алгоритмическихструктур, с помощью которых можно записать любой алгоритм.Перечисленных сведений достаточно для написания простыхпрограмм. Изложению этих сведений в минимальном объеме посвящена первая лекция. Дальнейшее изучение программирования связано с подпрограммами (в языке Си формально существуют толькофункции), организацией многофайловых программ; этот материал излагается во второй лекции. Обработке текстовой информации иструктурному типу посвящена третья лекция, работе с файлами в Си— четвертая лекция.Следует заметить, что овладение конструкциями алгоритмического языка еще не означает умения программировать. Главнуюроль в создании программных средств играет умение анализироватьзадачу и разрабатывать принципиальную схему алгоритма без привязки к алгоритмическому языку. Однако обучение начальным навыкам алгоритмизации не укладывается в формальные рамки, и написать пособие по этой теме также трудно, как самоучитель по чтению иписьму.

Чтобы помочь начинающим программистам, в пособии, нарядус программами на Си, используются блок-схемы, которые, пожалуй,являются наиболее общим и наглядным способом описания алгоритмов.Для читателей, впервые столкнувшихся с программированием,поясним, что программа, написанная на алгоритмическом языке,должна быть переведена в коды компьютера, т. е. на внутренний языккомпьютера (машинный язык). Процесс такого перевода называется2трансляцией, а специальная программа-переводчик - транслятором.Существует два способа трансляции: компиляция и интерпретация.При компиляции программа сначала полностью переводится в коды, азатем выполняется без участия компилятора, т.е.

процесс трансляциии выполнения программы четко разделены во времени. При интерпретации последовательно чередуются перевод группы инструкцийязыка в коды и их выполнение. Алгоритмический язык Си (также какПаскаль и Фортран) требует именно компиляции. Откомпилированнаяпрограмма (так называемый объектный модуль) далее подвергаетсяредактированию связей1 (процесс подключения к программе подпрограмм) и загрузке в оперативную память. В результате такой обработки получается готовая к выполнению программа, которая называетсяисполняемой программой или загрузочным модулем.В настоящее время трансляторы обычно входят в состав системпрограммирования, включающих в себя также редактор для набора иисправления текстов программ, редактор связей, загрузчик, средствадля работы с файлами, программу- отладчик и среду, обеспечивающую удобную работу с этими программами.

Мы будем ориентироваться на среду Microsoft Visual Studio 2008. Заметим также, что, следуя целям начального обучения программированию, в основном будем ориентироваться на подмножество языка Си++ , соответствующее стандарту языка Си.1Редактирование связей также называют компоновкой3Часть. Основы программирования на Си1.1. Структура простейшей Си-программыПростейшая программа на Си состоит из одного файла и имеетследующую структуру (см. рис.1).#include <stdio.h>Директивы препроцессора#include <conio.h>(в простейшем случаеvoid main()#include <stdio.h>/*ввод/вывод*/{int a,b,c;/*описание трех целых переменных*/#include <math.h> /*стандартныеprintf("введите a и b\n");математические функции*/)/*приглашение к вводу a и b*/void main()scanf("%d%d", &a, &b);/*ввод a,b*/{ описанияc=a+b;/*вычисление с - суммы */printf("c=%d\n", c);/*вывод с*/операторы_getch();}}а)б)Рис.1а) общая схема простейшей Си-программы;б) пример программы вычисления суммы двух чисел.В начале программы идут директивы препроцессора, которыеболее подробно рассмотрены в п.

2.3. В простейшем случае можноограничиться директивами include, которые необходимы для использованиябиблиотекстандартныхфункцийСи:include <stdio.h> - для функций ввода/вывода, include <math.h> - длястандартных математических функций, include <conio.h> - lдля работы с консольным экраном. Обратите внимание, что директивы препроцессора начинаются со значка #.Далее идет заголовок главной (и в простейшем случае единственной) функции: void main(). После заголовка в фигурных скобках записывается инструкции программы.Инструкции могут быть либо описаниями, либо операторами.Операторы - это исполняемые инструкции; при компиляции они переводятся в одну или несколько машинных команд.

Описания - это неисполняемые инструкции языка; они используются компилятором дляраспределения памяти под данные и определения характера опера4ций, которые могут выполняться с этими данными. Описания характеризуют область значений данных. Они могут стоять в любом местепрограммы до использования описываемых имен. Хороший стиль программирования предполагает, чтобы по возможности описания былисобраны в начале программы и предшествовали операторам.В любое место программы можно включить комментарии - поясняющие фразы, окаймленные, как скобками, символами /* и */.

Комментарии компилятором не обрабатываются и служат только для пояснения текста программы. В Си++ также допускается использоватькак комментарий строку программы, поставив в начале ее символы //.1.2. Данные в Си и операции над ними1.2.1. Свойства ячейки памяти. Переменные и константыКомпьютерные программы, для написания которых предназначеналгоритмический язык Си, обрабатывают данные, которые, естественно, хранятся в оперативной памяти компьютера.

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

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

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

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

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов лекций

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