Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Предмашинная подготовка задачи определения площади круга




Полный вариант создания программного продукта этой задачи (без рассмотрения элементов теории алгоритмического языка) выполним задачей (3.2) определения площади круга.

Постановка задачи

Рассчитать площадь круга в квадратных метрах и квадратных миллиметрах, если его диаметр равен 76,3 см.

Создание математической модели задачи

Исходные данные

(основные)

d = 76,3 см диаметр круга;
= 3,1416 число Пи;
  (дополнительные)  
kм = м/см коэффициент перевода сантиметров в метры;
kмм = 10 мм/см коэффициент перевода сантиметров в миллиметры.
     

Расчётные зависимости

[ ] диаметр круга, м;
[ ] диаметр круга, мм;
[ ] площадь круга, м2;
[ ] площадь круга, мм2.

Выбор метода решения

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

Составление алгоритма решения

Анализ полученной математической модели (достаточно простой) и выбранного метода решения (простейшего) позволяет выполнить графическую схему алгоритма решения в один шаг (рис. 3.14).

Рис. 3.14. Схема алгоритма задачи о площади круга

Программирование задачи

Идентификация переменных представлена табл. 3.20.

Таблица 3.20

Обозначение в алгоритме d kМ kММ dМ dММ SМ SММ
Обозначение в программе d PI km kmm dm dmm sm smm

С учётом таблицы идентификации на основании схемы алгоритма запишем программу решения задачи (предписываемый блоком 2 ввод переменной PI выполним не напрямую – оператором ввода, а с помощью заменяющей директивы):

#include<stdio.h> /* включающие */

#include<stdlib.h> /* директивы */

#include<math.h> /* препроцессора */

#define PI 3.1416 /* заменяющая директива препроцессора */

main()

{

float d, km, kmm, /* описание локальных */

dm, dmm, sm, smm; /* переменных */

scanf(“%4f%5e%3f”, &d, &km, &kmm);

fprintf(stdout,“\nd=%5.2f PI=%6.4f km=%7.2e kmm=%4.1f”, d,PI,km,kmm);

dm=d*km;

dmm=d*kmm;

sm=PI*pow(dm/2.,2);

smm=PI*pow(dmm/2.,2);

fprintf(stdout,“\n dm=%8.4f dmm=%8.1f sm=%8.4f”

“smm=%8.1f \n”, dm, dmm, sm, smm);

}

76.31.e-210.

Последняя строка, под закрывающей программу фигурной скобкой, задаёт численные значения вводимых оператором scanf переменных.

Результаты решения представлены в приложении 3.2.

Заключение

Линейный – простейший вычислительный процесс. Назначение – организация последовательного однократного выполнения всех запланированных вычислений задачи. В чистом виде встречается редко. Большинство реальных вычислений – псевдолинейны (используют подпроцессы реализации различных трансцендентных функций).

Изучение линейного процесса – основа получения первоначальных навыков программирования на языке высокого уровня. Рабочий язык – Си/Си++. Основные компоненты – алфавит, элементарные конструкции, выражения, операторы, функции.

Алфавит – совокупность букв, цифр, специальных символов, используемых в языке.

Элементарные конструкции – составные конструкции алгоритмического языка. Типичные представители – ключевые слова, константы, переменные, вызовы функций.

Выражения – совокупности элементарных конструкций, предписываемые задачей. Варианты – арифметические и логические.

Операторы – основные конструкции языка высокого уровня. Программные аналоги конкретных предписаний алгоритма решения задачи.

Функции – базовые конструкции языка Си/Си++. Обеспечивают модульность программ решения задачи.

Структура Си/Си++-программы – заголовок и тело программы. Состав заголовка – комментарии, директивы препроцессора, объявление глобальных переменных.

Структура тела программы – последовательность главной и дополнительных функций. Состав любой функции – ее заголовок и тело.

Тело функции – объявления локальных переменных, операторы, комментарии.

Абсолютное следование сути определения линейных вычислений (однократность выполнения) – причина их малой эффективности для ЭВМ.

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

Вопросы для контроля

Что такое линейный вычислительный процесс?

Как классифицируются линейные процессы?

Каков алфавит языка Си/Си++?

Каковы структуры констант, примеры их записи?

Что такое переменная, имя переменной?

Какова структура описателей переменных?

Как реализуется структура функций, вызов функций?

Каковы правила составления и выполнения арифметических выражений?

Для чего используется оператор присваивания, какова его структура?

Какова структура оператора ввода и его спецификаторов?

Какова структура операторы вывода и их спецификаторов?

Как выглядит общая структура Си/Си++-программы?

Для чего используются препроцессор и его директивы?

Какова поэлементная структура простейшей программы?





Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 392 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Своим успехом я обязана тому, что никогда не оправдывалась и не принимала оправданий от других. © Флоренс Найтингейл
==> читать все изречения...

2378 - | 2186 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.125 с.