Сделай Сам Свою Работу на 5

Цикл с предусловием while.





Введение.

О языках Си и C++.

В качестве базового языка программирования выбран C++, который является одним из главных инструментом в современном программировании. C++ является мощным и достаточно объемным языком, но, в то же время, у него есть достоинства, которые позволяют рекомендовать его для первоначального обучения программированию. Отметим, например, последовательную реализацию в C++ концепции структурного программирования, простой и удобный ввод и вывод.

Предшественником языка C++ является язык Си, разработанный Денисом Ритчи в начале 1970-х годов Си относится к языкам среднего уровня, поскольку в нем сочетаются управляющие структуры высокого уровня и возможность манипулировать отдельными битами, байтами и адресами. Язык Си быстро завоевал популярность у программистов благодаря своей лаконичности, выразительности и эффективности. Долго время единственным руководством по языку Си была книга заслужившая почетное название «библия языка Си». В 1989г. принят стандарт языка Си Международной организацией стандартов (International Standard Organization – ISO), в 1999г. был принят новый стандарт. Если программа написана в соответствии со стандартом языка, это гарантирует, что она будет выполняться на любом компьютере и в любой среде разработки.



В 1979г. Бьярн Страуструп на основе языка Си разработал язык C++. Главным нововведением было включение в язык понятия класса, с помощью которого реализована концепция объектно-ориентированного программирования. В 1998г. принят стандарт языка C++. Язык Си является, за небольшими исключениями, подмножеством языка C++, так что программа, написанная на Си, является и программой на C++.

Синтаксис языков Си и C++ использован в новейших языках программирования Java и C# (произносится Си-шарп), которые предназначены для разработки приложений, работающих в сети Интернет. Таким образом, знакомство с языком C++ может служить базой для изучения других современных языков.

 

 

 

 


Задача №1(9)

Текст задачи: Напишите программу , переводящую полярные координаты r,

f точек на плоскости в декартовы x,y. Декартовы координаты выражаются через полярные по формулам:

x=r*cos(f) y=sin(f)



Алгоритм решения данной задачи: Вводим полярные координаты r и f, затем подставляем их в приложенные формулы, вычисляем. Полученный результат выводим на экран.

Программный код:

#include<iostream.h> // Директива препроцессора

#include<conio.h> // Для задержки экрана getch()

#include<math.h> // Вызов математической библиотеки

int main() // Функция main

{ // Начало функции main

int x,y,r,f; // Объявление переменных

cout<<"Vvedite polarnie koordinati f,p\n";//Приглашение к . // вводу

cin>>f>>r; // Ввод с клавиатуры координат

x=r*cos(f); // Вычисление X

y=sin(f); // Вычисление У

cout<<"\n x="<<x<<" y="<<y; // Вывод результата на экран

getch(); // Задержка

return 0;

} // Конец функции main

Пример работы программы:

Задача №2(13)

Текст задачи Пусть в банке взята в кредит на 1 год сумма P под r процентов годовых. Возврат кредита (основного долга и процентов) производится в конце срока. Рассчитайте сумму, которую должен вернуть заемщик банку.

Алгоритм решения данной задачи: Вводим данные: сумму и процент кредита, вычисляем процент. Прибавляем процент к начальной сумме и выводим на экран сумму возврата.

Программный код:

#include<iostream.h> // Директива препроцессора

#include<math.h>

int main() // Заголовок функциии main

{ // Начало функкции main

double p,r,s; // Объявление переменных

cout<<"Vvedite summu kredita i procent "; // Пригрлашение к . // вводу

cin>>p>>r; // Ввод с клавиатуры

s=p+(p/100)*r; // Вычисление суммы возврата

cout<<"Summa vozvrata ravna "<<s; //Вывод на экран результата

cin.get();

return 0;

} // Завершение функции main

 

Результат работы программы:

 

 

Условный оператор

Условный оператор записывается в виде:



If(выр)

Инструкция1

Else

Инструкция2

Причем часть else может отсутствовать. Сначала вычисляются выражение выр. Если оно истинно(не нуль), то выполняется инструкция1, если выр ложно (нуль) и есть часть else, выполняется инструкция2.

Если имеется несколько вложенных условных операторов, то else-часть связывается с ближайшей if-частью. Например, во фрагменте

If(n>0)

If(a>b)

z=a;

else

z=b;

elsе относится к внутреннему if.

Для организации выбора одного из многих вариантов можно записывать вложенные условные операторы в виде:

If(выр1)

Инструкция1

else if(выр2)

Инструкция2

else if(выр3)

Инструкция3

else

Инструкция4

Как только встретится истинное выражение, выполняется соответствующая инструкция, и проверки завершаются. Последняя инструкция4 выполняется, если ни одно выражение не будет истинным.

 

Задача №3(18)

Текст задачи: Напишите программу, которая вводит целое число и проверяет, является оно четным или нечетным.

Алгоритм решения данной задачи:

Вводим любое целое число, вычисляем остаток от деления этого числа на 2, затем сравниваем остаток с нулём, если истинно то выводим на экран, что число чётное, иначе выводим на экран, что число не чётное.

Программный код:

#include<iostream.h> // Директива препроцессора

 

int main() // Заголовок функции main

{ // Начало функции main

int o, a; //

cout << "Введите число "; // Приглашение к вводу

cin >> a; //Ввод с клавиатуры

o = a % 2; // Вычисление остатка

if (o == 0) // Сравнение остатка с нулём

cout<<" Число четное "; // Истина(иструкция)

else

cout<<" Число не четное "; // Ложь(инструкция)

cin.get();

return 0;

} // Завершение функции main

Результат работы программы:

 

Цикл с предусловием while.

Данный цикл записывается в виде:

while(выр)

инструкция // Тело цикла

Сначала вычисляется выражение выр. Если оно истинно (не нуль), выполняется инструкция и снова вчисляется выр. Повторения цикла завершаются, когда выр станет ложным (нулем).

Инструкция, выполняемая в цикле, называется телом цикла.

Так как условие повторения проверяется до выполнения цикла, данный цикл называется циклом с предусловием.

Тело цикла может не выполниться ни раза, если выр окажется ложным при первом его вычислении.

 

 

 

Задача №4(31)

Текст задачи:Напишите программу, определяющую k-количество цифр в десятичной записи целого неотрицательного числа.

Алгоритм: Вводим число, сравниваем его с нулем. Если оно меньше нуля, то выдаем сообщение о том, что требуется положительное число и завершаем работу программы. Если же число положительное, создаем счетчик s, который будет считать количество цифр, создаем цикл while с условием n/10>0. В этом цикле выполняем деление на 10 числа n и прибавляем единицу к счетчику. По окончании работы цикла выводим на экран получившееся в счетчике.

Программный код:

#include<iostream.h> // Директива препроцессора

#include<conio.h> // Для getch()

#include<math.h>

int main()

{

int s,n; // Объявление пременных

cout<<"Введите число n"; // Приглашение к вводу

cin>>n; // Ввод с клавиатуры

if (n<0) { // Условный оператор

cout<<"Требуется положительное число";

getch();

return 1;

}

s=0; // Зануление счетчика

while (n/10>0) { // Цикл while

n=n/10; //

s++; // Тело цикла

} //

s++;

cout<<"Количество цифр ="<<s; // Вывод результата

getch();

cin.get();

return 0;

} // Завершение функции main

Результат работы программы:

Цикл for

Конструкция цикла for имеет вид:

For(выр1; выр2; выр3)

Инструкция

Любое из трех выражений в скобках может отсутствовать, но точки с запятой опускать нельзя. Если отсутствует выр2, то оно считается истинным. Этот цикл эквивалентен конструкции

Выр1;

While (выр2){

Инструкция

Выр3;

}

Выражение выр1 вычисляется единственный раз перед началом работы цикла. Условием повторения цикла является истинность выр2. После выполнения инструкции в теле цикла вычисляется выр3.

Цикл for можно рассматривать как цикл с параметром, обеспечивающий заданное число повторений, например, цикл

for(i=0; i<n; i++)

………

повторяется n раз. Начальное значение для I равно 0, после каждого выполнения тела цикла I увеличивается на 1 за счет выражения i++. Таким образом, I пробегает последовательность значений: 0,1,2,3…,n-1,n. После завершения работы цикла его параметр I сохраняет последнее полученное значение i=n, которое можно использовать в дальнейших вычислениях


Задача №5(40)

Текст задачи: Дана последовательность целых чисел. Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей.

Алгоритм: Заводим 2 счетчика, локальный и глобальный, зануляем их. Задаем последовательность целых чисел (a(n)) , затем в цикле for проходим по массиву. Если a[i] ==0, то зануляем локальный счетчик, и пока a[i]==0 и i<n, прибавляем к локальному счетчику 1. Сравниваем локальный счетчик с глобальным, если значение глобального счетчика меньше чем у локального, то присваиваем ему значение локального счетчика. Продолжаем цикл.Выводим конечное значение глобального счетчика на экран.

Программный код:

#include<iostream.h> // директива препроцессора

#include<conio.h> // директива препроцесора

int main() // Заголовок функции main

{ // Начало функции main

int a[15],i,loc,glob; // Объявление переменных

loc=0; // Зануляем локальный счетчик

glob=0; // Зануляем глобальный счетчик

for(i=1;i<15;i++) { // Цикл for

cout<<"\n‚Введите а ["<<i<<"]="; // тело цикла

cin>>a[i]; //

} //

Clrscr(); // очистка экрана

for(i=1;i<15;i++) { //

cout<<"\na["<<i<<"]="<<a[i]; //печать массива на экран

} //

for(i=1;i<15;i++){

if(a[i]==0) { //сравнение элемента массива с нулем

loc=0; //зануление локального счетчика

while(a[i]==0&&i<15){ // Цикл while

loc++; // Увеличение локального счетчика на 1

i++;

} // Заверешение цикла while

} // Завершение if

if(loc>glob){ // Сравнение локального и глобального счетчиков

glob=loc;

}

}

cout<<"\n Количество нулей в наибольшей последовательности ="<<glob;

getch();

return 0;

}

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.