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

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

PDF-файл Лекция 1. Основы алгоритмизации и программирования на Си (Электронные лекции) Программирование и алгоритмизация (62585): Лекции - 1 семестрЛекция 1. Основы алгоритмизации и программирования на Си (Электронные лекции) - PDF (62585) - СтудИзба2020-08-21СтудИзба

Описание файла

Файл "Лекция 1. Основы алгоритмизации и программирования на Си" внутри архива находится в папке "Лекции". PDF-файл из архива "Электронные лекции", который расположен в категории "". Всё это находится в предмете "программирование и алгоритмизация" из 1 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

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. Эту область памятичасто называют ячейкой памяти. Для того, чтобы ячейки памяти можно было различать и использовать их в программе, каждой ячейке дается имя.

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

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