Категория: Windows: Программирование
Написание программы вычисления сопротивления электрической цепи, состоящей из двух параллельно и двух последовательно соединенных сопротивлений. Схема машинного алгоритма по условию задачи. Применение операций при написании программ на языке C/C++.
контрольная работа [17,3 K], добавлен 09.11.2010
Ханойские башни: постановка задачи, условия перемещения дисков со стержня на стержень. Стратегия решения, используемые предикаты. Текст программы на языке Пролог. Построение модели решения задачи о ферзях. Примеры использования списков в языке Пролог.
презентация [72,0 K], добавлен 29.07.2012
Проектирование программы в среде Delphi для тестирования знаний студентов по программированию, с выводом оценки по окончанию тестирования. Разработка экранных форм и алгоритма программы. Описание программных модулей. Алгоритм процедуры BitBtn1Click.
курсовая работа [365,0 K], добавлен 18.05.2013
Практические навыки моделирования задач линейного программирования и их решения графическим и симплекс-методом с использованием прикладной программы SIMC. Моделирование транспортных задач и их решение методом потенциалов с помощью программы TRAN2.
контрольная работа [199,8 K], добавлен 15.06.2009
Изучение основных конструкций и способов написания программ на языке Паскаль. Обзор принципов работы и интерфейса написанной программы. Обработка и модификация двумерных массивов. Файловые структуры данных. Текстовые файлы. Элементы машинной графики.
курсовая работа [761,7 K], добавлен 11.03.2015
Разработка программы на языке Си++ и осуществление постановки и выбора алгоритмов решения задач обработки экономической информации, создание и редактирование базы данных, сортировка записей по определенному запросу, анализ эффективности обработки данных.
контрольная работа [316,8 K], добавлен 28.08.2012
Программирование на языке Паскаль: алфавит, решение задач, простейшие программы, разветвляющие программы, циклические программы, ввод-вывод, массивы, подпрограммы, строковые данные, записи, файлы, использование библиотеки CRT, графика в Паскале.
учебное пособие [211,1 K], добавлен 30.03.2008
Разработана программа решения двух задач на языке программирования Turbo Pascal. Спецификация задания. Описание входных и выходных данных. Математическая постановка задачи. Алгоритм ее решения. Описание и блок-схема программы. Результаты тестирования.
курсовая работа [275,8 K], добавлен 28.06.2008
Разработка программы для решения инженерных задач с использованием функций, процедур и сложных типов данных, в том числе динамических массивов и объединений. Интерфейс ввода/вывода. Схемы алгоритмов отдельных подзадач. Технические требования к программе.
курсовая работа [60,7 K], добавлен 26.11.2012
Технология программирования, основные этапы развития. База данных, понятие,характеристика, основные типы баз. Действие и структура программы С++. Процесс подготовки и решения задач на компьютерах. Написание и отладка программы на языке программирования.
курсовая работа [32,8 K], добавлен 26.01.2011
Р ешение задач по программированию на языке C++Потопахин Виталий Валерьевич
Пояснительная записка
Си - это язык программирования высокого уровня, который более популярен, чем Паскаль и Ассемблер. Си, позволяет писать программы под Windows. Ведь первые Операционные системы были написаны именно на языке Си. Программирование под Windows сейчас очень распространено в мире, но для этого необходимо много труда и усилия. В данном курсе мы пройдем не один десяток уроков, чтобы сначала научиться программировать на языке С. В них вы найдете примеры программирования на си. После чего вы можете изучать программирование под windows.
Чтобы писать программы на языке Си, необходимо войти в среду программирования. Если у вас нету этой программы, то вы можете скачать ее на любом сайте, это: Borland C, Visual C++, Visual Studio 2005, Visual Studio 2008 и уже выходит Visual Studio 2010 Если же она у вас есть, то приступим к процессу обучения.
Пройдя все уроки вы получите примеры решения задач, представление о написании программ в целом, а также изучите язык программирования Си .
Материалы по программированию ищите на сайте allrefs.net .
Здесь находится коллекция решений задач и примеры маленьких программ на языке C.
Первая половина задач и примеров взята из книги Б. Кернигана и Д. Ритчи "Язык программирования C " (второе издание). В отличие от книги задачи либо решены, либо прокомментированы, либо программы дописаны до рабочего состояния.
Вторая половина задач - это ответы на некоторые задания к курсу "Особенности языка C" .
В последнем примере "Указатели и массивы" демонстрируются особенности указателей.
K&R (41-43). Вывод самой длиной строкиВ книге в данном разделе опущен момент о том, как происходит обмен данными между функциями (хотя оговаривается перед этим об особенностях передачи массивов в качестве аргументов). Все переменные локальные и поэтому с первого взгляда не понятно, почему функция getline() меняет значение переменной line в функции main(), а copy() - значение longest. Массивы в качестве аргументов передаются не по значению. Переменные в getline() и copy() получают ссылки на массивы, определенные в main(), а не содержимое этих массивов.
K&R (52-53). Длина строкиРешение задач на языке программирования C
Говорится о том, что в стандартной библиотеки существует функция для измерения длины строки, а также приводится ее собственная версия. Рабочий вариант кода программы полностью отсутствует.
В примере ниже строка, вводимая пользователем, записывается в массив символов. Затем ее длина измеряется с помощью встроенной функции strlen(), после чего с помощью пользовательской функции strlen2().
Обращает на себя внимание то, что завершающий символ нуля в строку не записывался, однако видимо он туда автоматически добавляется. Поэтому цикл while в функции strlen2() работает корректно. Тогда непонятно, почему авторы "вручную" дописывают в конец строки нуль в предыдущем примере (поиск самой длиной строки) при считывании ввода.
K&R (61-62). Удаление символов из строкиРешение задач на языке программирования C
Приводится пример функции squeeze. которая удаляет все символы c из строки s.
Ниже представлен полный код программы с использованием этой функции. А также ответ к упражнению 2.4, где предлагается написать функцию, удаляющую из строки s1 все символы, встречающиеся в строке s2.
Алгоритм удаления символа из строки можно описать так:
Другими словами, алгоритм сводится к тому, что символ по индексу i затирается следующим символом, если он совпал с символом для удаления; т.к запись идет по счетчику j. а он увеличивается лишь тогда, когда символы из строки и для удаления не совпадают.
Алгоритм удаления тех символов строки, которые встречаются в другой строке, отличается от предыдущего тем, что нужно по очереди извлекать символы из второй строки и удалять их из первой. Т.е. приведенный выше алгоритм следует вложить в цикл перебора символов второй строки.
Удаление всех символов c из строкиПримечание. Во второй программе запись символов в строку выделена в отдельную функцию, т.к. надо записать две строки. Иначе пришлось бы дублировать код.
K&R (71-72). Двоичный поискЧтобы научиться программировать, недостаточно прочитать книгу, посвященную языку программирования, надо писать программы, решать конкретные проблемы. Но где их найти? В учебниках, как правило, приводятся типовые, стандартные задачи, в основе которых лежит расчет по формулам. Это, несомненно, полезно, но не всегда интересно. В книге начинающему программисту предлагаются задачи, которые, с одной стороны, ему по плечу, с другой — полезны и занимательны. Состоит книга из трех частей и приложения.
В первой части собраны задачи. Они сгруппированы по темам и охватывают практически все разделы базового курса программирования: от объявления переменных и программ с линейной структурой до работы с графикой и файлами. Вторая часть содержит решения, представленные в виде хорошо документированных текстов программ, изучение которых, несомненно, будет полезно для начинающего программиста даже в том случае, если задача решена им самостоятельно. Третья часть представляет собой справочник по языку программирования C++ и содержит описание наиболее часто используемых функций. О компиляторе. Разрабатывая программу, программист ориентируется на ту или иную среду разработки, компилятор. Профам-мировать на C++ можно как в среде Windows, так и в DOS, причем для каждой из операционных систем существует довольно большое количество средств разработки: от компилятора, работающего в режиме командной строки DOS, до мощной интерактивной интефированной среды разработки. На каком инструменте остановить свой выбор? Если вы опытный программист (хотя это маловероятно, тогда вы не держали бы в руках эту книгу) и собираетесь разрабатывать программу по Windows, то безусловно выберите Microsoft Visual C++ или Borland C++ Builder. Если вы только осваиваете язык программирования, то следует сосредоточиться именно на языке, его возможностях, особенностях. Для решения этой задачи наилучшим образом подходит предназначенная для работы в DOS интефированная среда разработки Вогland C++ Version 3.1, которая, безусловно, может быть запущена и из Windows. Следует особо обратить внимание на то, что хотя Borland C++ и был создан довольно давно, но это профессиональная, высокоэффективная среда разработки, которая наилучшим образом подходит для изучения C++. Еще раз повторю, что научиться программировать можно только программируя, решая конкретные задачи. Поэтому, чтобы получить максимальную пользу от книги, вы должны работать с ней активно. Решайте задачи. Изучайте приведенные решения. Вводите их в свой компьютер. Не бойтесь экспериментировать — вносите изменения в программы. Чем больше вы сделаете самостоятельно, тем большему вы научитесь!
Как работать с книгой
Группы задач следуют в книге в том порядке, в котором традиционно изучаются соответствующие разделы в курсе программирования. Перед тем как приступить к решению задач, нужно изучить соответствующую тему — прочитать раздел учебника. Если сразу решить задачу не получается, то можно посмотреть решение и затем еще раз попытаться решить задачу самостоятельно. Писать программу лучше сначала на бумаге, а уже затем вводить программу в компьютер. Задача считается решенной, если написанная программа работает так, как сказано в условии задачи.
Оформление решений
Важно, чтобы решенная задача была правильно оформлена. Это предполагает:
использование несущих смысловую нагрузку имен переменных, констант и функций;
применение отступов при записи инструкций программы;
использование комментариев.
Правильно оформленную программу легче отлаживать, кроме того, она производит хорошее впечатление.
Приведенные в книге решения задач можно рассматривать как образцы правильного оформления.
по дисциплине “Основы алгоритмизации и программирования”
Выполнил: студент
Проверила: Попова Ю. Б.
Минск 2006
ЗАДАНИЕ № 1
ЗНАКОМСТВО СО СРЕДОЙ. ОБЪЯВЛЕНИЕ ОСНОВНЫХ ТИПОВ ДАННЫХ. ВВОД/ВЫВОД ДАННЫХ. ОПЕРАЦИИ В ЯЗЫКЕ C / C ++
Цель работы
Закрепление практических навыков построения простой программы, объявления основных типов данных и организации ввода/вывода переменных, применения операций при написании программ на языке C/C++.
Постановка задачи
Написать программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных сопротивлений, а затем вычислить сопротивление электрической цепи, состоящей из двух последовательно соединенных сопротивлений.
Листинг программы на языке C ++
#include <clx.h>
#include<iostream.h> // подсоединение к программе раздела библиотеки с функциями// по потокового ввода/вывода данных
void main()
int a, b, c, d; // объявление переменных a, b, c целого типа
cout<<"Введите значение сопротивления a и b:"; // вывод строки на экран
cin>>a>>b; // ввод значений a и b
c=a*b; // умножение значений a и b и присвоение переменной с
d=a+b; // присваивание переменной c значения суммы переменных a и b c=c/d;
cout<<"Сопротивление цепи с последующим соединением ="<<c; // вывод значения переменной c на экран c=a+b;
cout<<"Сопротивление цепи с параллельным соединением ="<<c; // вывод значения переменной a на экран cin>>a;
Результаты работы программы
Введите значения переменных: 4 7
Результат: 2 и 11
Выводы по лабораторной работе
В ходе выполнения задания была составлена схема машинного алгоритма по условию задачи, написан код программы и получены результаты работы программы. В результате выполнения работы были закреплены практические навыки построения простой программы на языке программирования C/C++, в которой были объявлены переменные целого типа. Организован ввод значений переменных с помощью оператора потокового ввода, произведен расчет суммы значений переменных и организован вывод результата на экран с помощью оператора потокового вывода.
ЗАДАНИЕ № 2
ОПЕРАТОРЫ ЯЗЫКА C / C ++. ФОРМАТИРОВАННЫЙ ВВОД/ВЫВОД ДАННЫХ. СТРУКТУРЫ ВЫБОРА. СТРУКТУРЫ ПОВТОРЕНИЯ
Цель работы
Закрепление практических навыков построения программы на языке C/C++ с использованием структур выбора if-else, switch, с использованием структур повторения do-while, while, for, а также с организацией ввода/вывода данных с применением функций форматированного ввода/вывода.
Написать программу вычисления площади кольца. Программа должна проверять правильность исходных данных. Использовать структуру выбора if-else. Использовать форматированный ввод/вывод данных.
cout<<"Введите значение кольца:"<<endl;
cin>>n;
if (n<0) cout<<"Значение не верные"; // если значение условия (n<0) является истинным, на экран выводится текст Значение не верные
Результаты работы программы
Результат: 48
Выводы по лабораторной работе
В результате выполнения работы были закреплены практические навыки построения простой программы на языке программирования C/C++, в которой были объявлены переменные целого типа. Организован ввод значений переменных с помощью оператора потокового ввода, произведен расчет суммы значений переменных и организован вывод результата на экран с помощью оператора потокового вывода а также использовалась структуру выбора if-else.
ЗАДАНИЕ № 3
Цель работы
Закрепление практических навыков построения программы на языке C/C++ с использованием массивов данных и переменных типа указатель.
1. Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность. Использовать форматированный ввод-вывод данных.
Листинг программы на языке C ++
scanf("%d",&mas[i]); // заносим значение в массив
printf(" Вывод элементов масива \n");
for(i=0;i<5;i++) // использование вложенной структуры повторения for для
printf("%d",mas[i],"\n"); // вывод суммы элементов массива mas на экран
for(i=1;i<4;i++) // использование вложенной структуры повторения for для if (i++<a) cout<<"Массив не является возрастающей последовательностью ";
// использование else-if конструкции
Результаты работы программы
Введите значения. 4 7 5 6 8
Результат: 4 7 5 6 8 Массив не является возрастающей последовательностью
Выводы по лабораторной работе
В ходе выполнения задания была составлена схема машинного алгоритма по условию задачи, написан код программы и получены результаты работы программы. В результате выполнения работы были закреплены практические навыки построения простой программы на языке программирования C/C++, в которой были объявлен массив MAS. Организован ввод значений переменных с помощью оператора потокового ввода, произведен расчет значений массива на возрастающую последовательность и организован вывод результата на экран с помощью оператора потокового вывода.
ЗАДАНИЕ № 4
ФУНКЦИИ В C / C ++. УКАЗАТЕЛИ НА ФУНКЦИИ. ПЕРЕГРУЗКА ФУНКЦИЙ. ШАБЛОНЫ ФУНКЦИЙ
Цель работы
Закрепление практических навыков построения программы на языке C/C++ с использованием функций, указателей на функции, массивов указателей на функции, рекурсивных функций, функций со списком переменной длины, параметров, используемых по умолчанию, аргументов командной строки, встроенных функций, перегруженных функций и шаблонов функций.
Написать программу, в которой необходимо определить массив указателей на функции. Вводить цифру, определяющую какую функцию надо выполнить: 0-найти минимальное число, 1-найти максимальное число, 2-вычислить сумму чисел, 3-вычислить разность чисел, 4-найти произведение чисел, 5-найти частное чисел, 6-завершить работу. Выполнить соответствующую функцию, используя указатель на нее, и вывести результаты на экран. В программе предусмотреть использование прототипа функции.
Листинг программы на языке C ++
Июль 22nd, 2013 admin
Несколько задач на языке С (Си)
1. Вычислить среднее арифметическое двух значений х1 и х2.
2. Перевести длину, заданную в дюймах, в сантиметры (10 дюймов = 254 мм).
3. Перевести длину, заданную в сантиметрах, в дюймы.
4. Перевести температуру из шкалы Фаренгейта в шкалу Цельсия (формула для пересчета c=(5/9)(f-32)).
7. Вычислить периметр и площадь:
a) квадрата со стороной, равной а.
b) прямоугольного треугольника с катетами a и b.
c) равнобедренного треугольника с основанием a и высотой h.
d) равнобокой трапеции с длинами оснований a и b и высотой h.
e) равностороннего треугольника со стороной, равной a.
8. Вычислить площадь поверхности и объем:
int main( int argc, char *argv[] )
int x1,x2;
float result;
cin >> x2;
result = arn (x1, x2); //call function arn
cout << "The arithmetic mean of number " << x1 << " and " << x2 << " is " << result << endl;
С кодом конечно намудрил немного, но программка работает. В коде используется своя функция (arn ). Которая просто считает среднее арифметическое двух чисел. Можно избавиться от переменной result и сразу вывести функцию. Количество строк уменьшится в коде на 2. Еще есть варианты как упростить код?
Четвертая и пятая задачи встречаются часто в одном задании и формулируется так:
Пользователей
Всего пользователей: 11448
Последний: tempinetlogin Статистика
Всего сообщений: 55655
Всего тем: 8702
Онлайн Сегодня: 21
Наибольшее количество Онлайн: 1780
(05 Октября 2015, 16:22:38) Пользователи Online
Пользователей: 0
printf("Cумма = %d \n",c)
Дадим некоторые пояснения. В языке Си любая пограмма, состоит из нескольких программных едениц и каждая из них - функция. Функции в Си подобны функциям или подпрограммам в Фортране или процедурам в Паскале, Имена функций выбираются произвольно (только латинскими буквами), но одно из них main. именно с нее начинается выполнение программы. Такая главная функция обычно обращается к другим функциям, которые находятся в одном файле с головной программой или извлекают из библиотеки предварительно подготовленных функций.Функция main не имеет аргументов, поэтому список ее выглядит так: ( ). Скобки < > обрамляют операоры, которые реализуют собственно алгоритм. Эти скобки аналогичны BEGIN - END в Паскале.
Строка int a,b,c; объявляет a,b,c переменными целого типа. Все используемые в программе переменные должны быть объявлены. Далее идут опрераторы присваивания к a значение 5. а к b - 7. с - значение их суммы. Значения переменных типа int лежат в диапазоне [-32768; 32767]. Функция printf выводит на экран: СУММА = 12.
Рассмотрим теперь функцию scanf предназначенную для форматного ввода данных. Функция scanf в качестве фактических параметров использует адреса переменных, а не их значения. Для этого перед соответствующим параметром ставят знак & - символ взятия адресса. Например, &XL означает "адрес перменной XL ", а не значение, которое переменная имеет в данный момент.
Строка форматов функции scanf указывает, какие данные ожидаются на входе. Если функция встречает в форматной строке знак %. за которым следует символ преобразования, то она будет пропускать на входе символы до тех пор, пока не встретит какой-нибудь не пустой символ.
Предыдущяя программа страдает одним недостатком: программа вычисления суммы годится только для одного конкретного случая, когда a=5, b=7. Улучшим ее, заменив соответствующие операторы присваивания вызовом функции scanf (пример 1.2).
/* Ввод двух чисел, вычисление суммы и печать результата*/