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

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

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

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

п. 1.2.3 */cin >> a>>b; /*ввод a,b*/c=a+b;/*вычисление с - суммы a,b*/cout << "c="<<c<<"\n"; /*вывод с*/5Конечно, это кажущаяся простота, которая является следствием формального использования этих операторов в их простейшем виде.16}1.3.2. Функция форматного вывода printf()Оператор вызова этой функции имеет вид:printf(форматная_строка, список_вывода)Список вывода содержит перечисленные через запятую именавыводимых переменных, т. е.

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

Форматная строка может содержать:*произвольный текст (обычно он поясняет значения выводимых переменных); среди символов этого текста могут быть и управляющие; в несложных программах этого пособия часто будет использоваться управляющий символ '\n' (перевод строки - п.1.2.3);*спецификации форматов, показывающие, в каком видедолжны выводиться значения переменных; каждая спецификация соответствует одной переменной; спецификации встречаются в форматной строке в том порядке, в каком перечисляются выводимые переменные в списке вывода; каждая спецификация начинается с символа%; спецификация стоит в том месте текста, где должно выводитьсязначение соответствующей переменной.В простейшем виде спецификация формата имеет вид:%ширина_поля.точность спецификаторШирина поля - положительное целое число, задающее минимальное количество позиций, занимаемых выводимым значением;если число символов в выводимом значении меньше, чем ширина поля, то выводимое значение дополняется пробелами до минимальнойдлины; если число символов в выводимом значении больше шириныполя или ширина поля не задана, то печатаются все символы значения (ширина поля игнорируется).17Точность - положительное целое число, указывается в основномдля вещественных чисел, означая в этом случае количество выводимых после десятичной точки цифр.На первых этапах обучения программированию достаточно следующих спецификаторов:d - для целых значений (типов int, char, unsigned);f - для вещественных значений (типов float, double);e - для вещественных значений (типов float, double)с указаниемпорядка, т.

е. в виде:знак_числаm.ddddeзнак_порядкаxxx,где m.dddd - изображение мантиссы числа; m - одна десятичнаяцифра; dddd - последовательность десятичных цифр; е - признак порядка (десятичного); xxx - десятичные цифры для представления порядка числа.c - для одиночного символа (типов int, char, unsigned);s - для строк.C полным набором спецификаторов языка Си можно ознакомиться, например, в [2].Пример.float s; int a,b;...printf("a=%2d b=%4d\n s=%4.1\n", a,b,s);На экран будет выведена информация в виде:a=<a>b=<b>s=<s>Здесь конструкция <имя переменной> означает значение этойпеременной.

Заметим, что следующие значения будут выводиться сновой строки, так как форматная строка заканчивается символом '\n'.Такое схематичное изображение выводимой (или вводимой) информации называется формой вывода (ввода).Если a=-2, b=93, s=3.22, то на экране получим:a=-2b= 93s= 3.2Другие примеры оператора printf() представлены на рис.1.181.3.3. Функция форматного ввода scanf()6Оператор вызова этой функции имеет вид:scanf(форматная_строка, список_ввода)Список ввода показывает, что выводить. Он содержит перечисленные через запятую адреса вводимых переменных. Почему адреса,а не имена переменных станет понятно после знакомства с функциямиСи (часть  пособия). Записать адрес переменной нетрудно, используя операцию & (см.

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

Иначе пользователь может только догадываться, по какой причине программа находится в состоянии ожидания; такая ситуация является необъяснимым остановом и может интерпретироваться как “зависание” компьютера.Пример функции scanf:int i; float a;printf("Введите i и a\n"); /* вывод приглашения к вводу */scanf("%d%f", &i, &a);...6В консольном режиме Visual Stidio 2008, Win32 рекомендуетсяиспользовать scanf_s – версию функции scanf.19Форма ввода:Введите i и a i   a  i  a В фигурные скобки принято заключать альтернативные фрагменты формы ввода или вывода.

В данном примере значения i и a можнорасполагать на одной строке экрана, разделяя их пробелами, а можнона разных строках, разделяя их нажатием клавиши Enter.Заметим также, что при вводе строк символов с помощью функции scanf() действуют более сложные правила. Так, в буфер устройства ввода считываются все символы до нажатия Enter, а в вводимуюстроковую переменную передаются символы до первого пробела.

Такой принцип работы scanf() имеет свои преимущества, но они слишкомтрудны при начальном освоении языка Си. Поэтому для ввода и вывода строк лучше пользоваться функциями gets() и puts(). Этот вопросмы отложим до того момента, когда будем рассматривать способы обработки символьной информации в Си (см. часть ).1.4. Разработка программ на Си1.4.1. Понятие о качестве программы и основные технологические принципы разработки программСовременный уровень развития вычислительной техники и программного обеспечения позволяет на первое место ставить такие характеристики качества программ, как удобство использования, надежность, ясность структуры и текста программы. Технические характеристики программы, такие как объем занимаемой памяти и быстродействие отошли на второй план.Удобство использования программы, т.

е. удобство общения сней, определяется организацией ввода и вывода. Схема общения спрограммой часто называется интерфейсом (внешними связями) программы. В современных языках программирования существуют специальные средства для эффективного программирования интерфейса,20удовлетворяющего некоторым стандартам, например, стандартамоперационной системы Windows. В настоящем пособии эти средстване рассматриваются, а для организации простейшего диалога междупользователем и программой используются функции ввода-вывода изстандартной библиотеки c заголовочным файлом <stdio.h>.Надежность программы означает отсутствие при ее работеостановов, сообщение о причине которых не выводится, т. е. зацикливаний, зависаний и др.На получение качественных программ направлены положенияструктурного программирования, которые в основном сводятся ктрем моментам:1. Использование точно обозначенных управляющих структур алгоритмов, имеющих один вход и один выход.

Такие структуры называютсябазовыми (см. п.1.4.4).2. Разработка алгоритма методом нисходящего проектирования. Этотметод состоит в разбиении алгоритма на части и установлении междуними связей. При установлении связей очень важно, чтобы каждаячасть имела один вход и один выход, так что нисходящее проектирование успешно сочетается с использованием базовых структур алгоритмов.

Каждая часть в свою очередь разбивается на части, и процесс повторяется. Можно сказать, что нисходящее проектирование алгоритма состоит в иерархической последовательной разработке алгоритма от сложного к простому.3. Использование системы обозначений, соответствующих содержаниюзадачи и облегчающих понимание программы.Грамотное проектирование качественных программ состоит из следующих этапов:1. Анализ задачи и разработка внешней спецификации программы. Вовнешнюю спецификацию входит описание входных и выходных данных программы, форм ввода и вывода (см. п.1.3), а также описаниеметодов решения задачи, способов апробации программы, сведения оразработчике программы.2. Проектирование алгоритма и структур данных.3.

Написание (кодирование) программы на алгоритмическом языке.4. Отладка программы.21Под отладкой подразумевается выявление и исправление ошибок. Ошибки могут обнаруживаться автоматически системой программирования и операционной системой при компиляции, редактировании связей, загрузке и выполнении программы. Могут существоватьошибки в логике программы, которые автоматически не обнаруживаются. Такие ошибки можно выявить дополнительным визуальныманализом программы или с помощью тестов, т. е.

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

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

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

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

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