2018. május 10., csütörtök

2018.05.10. Programozás feladatok - Algoritmus átkódolása leíró nyelvből programnyelvre


1. Négyzetgyökök keresése

A következő algoritmus számok négyzetgyökét határozza meg. Kódolja az algoritmust a választott programozási nyelven! A ”/*” és ”*/” karakterpárok között megjegyzéseket talál, ezeket helyezze el a megoldásban is! Az elkészült program forráskódját mentse Ngyok néven!

A megoldás során vegye figyelembe a következőket:
      A választott programozási nyelvtől függően eltérő jelölésű operátorokat és függvényeket kell alkalmaznia!
      A ”Térj vissza” utasítás megszakítja a függvény futását és meghatározza annak visszatérési értékét!
      A valós típusú változókhoz használja a legnagyobb pontosságot biztosító adattípust!
      A függvény negatív értékű aktuális paraméter esetén hibakóddal (-1) tér vissza!





namespace Ngyok
{
    class Program
    {
        static double Negyzetgyok(double x)
        {
            double pontossag;
            double also;
            double felso;
            double proba;

            if (x > 0)
            {
                pontossag = 0.00000000000001;

                if (x < 1)
                    {
                        also = x;
                        felso = 1;
                    }
                else
                    {
                        also = 1;
                        felso = x;
                    }
                    while ((felso - also) > pontossag)
                    {
                        proba = (also + felso) / 2;
                        if (proba * proba > x)
                        {
                            felso = proba;
                        }
                        else
                        {
                            also = proba;
                        }
                    }
                    return ((also + felso) / 2);
            }
            else
            {
                if (x == 0)
                {
                    return 0;
                }
                else
                {
                    return -1;
                }
            }

        }
        static void Main(string[] args)
        {
            Console.WriteLine(Negyzetgyok(0));
            Console.WriteLine(Negyzetgyok(3.3));
            Console.WriteLine(Negyzetgyok(2));
            Console.WriteLine(Negyzetgyok(9));
            Console.WriteLine(Negyzetgyok(-9));
            Console.ReadLine();
        }
    }
}



2. feladat



static void KI(string betu)
        {
            Console.Write(betu);
        }

        static bool nem(bool logikai)
        {
            return (!logikai);
        }

        static void Main(string[] args)
        {
            bool v;
            int i;
            int j;

            v = true;
            for (i = 1; i < 8; i++)
            {
                if (i % 2 == 1)
                {
                    v = true;
                }
                else
                    v = false;

                for (j = 1; j < 8; j++)
                {
                    if (v)
                    {
                        KI("A");
                    }
                    else
                    {
                        KI("B");
                    } 
                    v = nem(v); 
                }
                    KI("\n");
                }
            Console.ReadLine();   

3. feladat


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace kod
{
    class Program
    {
        static void KI(string mod)
        {
            Console.WriteLine(mod);
        }
        static void Main(string[] args)
        {
            int[] A = new int[10];
            int I;
            int Min;
            int Max;
            int P;

            Random rnd = new Random();
            I = 0;
            while (I < 10)
            {
                A[I] = rnd.Next(100);
                KI(Convert.ToString(A[I]));
                I++;
            }
            KI("");
            KI("Kérem a számot:");
            P = Convert.ToInt32(Console.ReadLine());
            Min = 100;
            Max = 0;
            I = 0;
            while (I < 10)
            {
                if (A[I] > P)
                {
                    if (A[I] < Min)
                        Min = A[I];
                }
                else
                {
                    if (A[I] > Max)
                        Max = A[I];
                }
                I++;
            }
            KI("P szám:");
            KI(Convert.ToString(P));
            KI("A legkisebb:");
            KI(Convert.ToString(Min));
            KI("A legnagyobb:");
            KI(Convert.ToString(Max));

            Console.ReadLine();
        }
    }
}